Docs: plugin install vs disable vs uninstall lifecycle and enabled-state ground truth
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 68/100
- Loại issue
- Tài liệu
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- sqlite
- Lĩnh vực
- cli, documentation
Hướng nghiên cứu
Bắt đầu bằng cách tìm tài liệu về plugin và xem xét các entry point /plugins và /plugin uninstall cùng với ~/.config/Cursor/User/globalStorage/state.vscdb và ~/.cursor/cli-config.json. Ghi lại vòng đời cài đặt, vô hiệu hóa và gỡ cài đặt, xác định các khóa trạng thái được bật, đồng thời bao gồm hướng dẫn CLI được yêu cầu và hướng dẫn khắc phục sự cố trong một phiên mới.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Summary
There is no single doc that explains install vs disable vs uninstall for Cursor marketplace plugins, or where enabled state actually lives on disk. This causes repeated misdiagnosis (especially CLI-first users) when disabled plugins still appear under /plugins or when slash commands from a disabled plugin persist in autocomplete.
Related: #130 (opt-out / deactivate skills globally).
Problem
Users (and agents troubleshooting plugin state) commonly assume:
- If
~/.cursor/plugins/cache/cursor-public/<slug>/exists → plugin is enabled - If
/pluginslists a plugin → plugin is enabled - Moving/deleting cache dirs → valid way to disable
None of these match observed behavior on Cursor CLI (agent 2026.06.19, Linux).
Observed semantics
| Action | Disk effect | Agent effect |
|---|---|---|
| Install (marketplace) | Creates/updates cache under ~/.cursor/plugins/cache/cursor-public/<slug>/ |
Plugin ID added to enabled list |
Disable (toggle in /plugins detail or Settings) |
Cache retained | Plugin ID removed from enabled list |
Uninstall (/plugin uninstall <name>) |
Removed from installed scope | Must reinstall from marketplace |
Ground truth for enabled plugins
SQLite: ~/.config/Cursor/User/globalStorage/state.vscdb
cursor.plugins.installedIds.no-team
cursor.plugins.installedIds.no-workspace # workspace-scoped overrides
Value is a JSON array of numeric marketplace plugin IDs.
Naming confusion: key says installedIds but value represents enabled IDs only — not "all plugins ever installed."
CLI ~/.cursor/cli-config.json does not store plugin enable state.
UX gaps (product — filing on forum too)
- CLI
/pluginsmixes marketplace browse + installed list; disabled (cached-off) plugins appear without an ENABLED / DISABLED badge. - Slash menu can retain stale entries in
agentData.cacheStorage.agentEnvironment.slashMenuItems.*(same vscdb); staff track this class of bug on forum #161008. /resumesessions may keep prior plugin context; new session required after toggling plugins.
Requested doc changes (this repo or cursor.com/docs)
- Lifecycle table (install / disable / uninstall) with filesystem + vscdb effects.
- Explicit note:
plugins/cache/= downloaded artifacts; not enable state. - CLI section:
/pluginsis browse + manage; verify enable state via Settings or vscdb keys above. - Troubleshooting: after disable, start new agent session; slash menu cache may need fresh session (not
/resume). - Link to forum threads for product UX bugs (uninstall button redirect, slash menu cache).
Environment
- OS: Linux (Ubuntu)
- CLI:
agent2026.06.19-20-24-33 - Example:
compound-engineering(ID 680) CACHED-OFF but cache present;cursor-team-kit(677) ENABLED — only distinguishable via vscdb, not/pluginsUI.
Note
cursor/cursor has issues disabled; forum is the right channel for IDE/CLI product bugs. This issue is scoped to documentation / plugin-spec clarity so plugin authors and power users stop fighting the cache directory.
- Ngôn ngữ chính
- TypeScript
- Star
- 9.7k
- Fork
- 919
- Merge trung bình
- 14 giờ 37 phút
- Pull request đã merge (30 ngày)
- 66
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của cursor/plugins
-
pstack: Comment Sicko agent name has a space and Grok rejects the spawnCó thể đã có người làm @lab1207 đã nhận 2 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
cursor/plugins#483 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
create-plugin README documents a /create-plugin command that does not existCó thể đã có người làm @lab1207 đã nhận 2 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
cursor/plugins#475 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
principle-test-behavior-not-implementation: listed matchers do not all pass when imports return undefinedCó thể đã có người làm @Yi-111-a đã nhận 3 ngày trước. Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
cursor/plugins#474 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
cursor-sdk auth.md: non-null assertion described as a runtime missing-variable checkCó thể đã có người làm @lab1207 đã nhận 2 ngày trước. Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 92/100
cursor/plugins#473 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
watch-pr: review threads are fetched without pagination (first 100 only)Có thể đã có người làm @Yi-111-a đã nhận 2 ngày trước. Đang mở
Độ khó 2/5 Nửa ngày Mức phù hợp với người mới 84/100
cursor/plugins#471 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của cursor/plugins
Issue tương tự
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 95/100
lingdojo/kana-dojo#31666 · 1 bình luận · 5 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
-
Bug: lockTtlSeconds / lockHeartbeatIntervalSeconds accept non-positive and non-finite valuesCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
CopilotKit/CopilotKit#7618 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
wimpysworld/sidra#287 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug ready-for-agent
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
sleeyax/paseo-plugins#112 ·
Maintainer thường phản hồi trong vòng 2 ngày