Skip to content

Add plugin uninstall and a how-to header to /plugins - #763

Merged
TheGreatAxios merged 3 commits into
mainfrom
cl-6887-tui-has-no-way-to-remove-a-plugin-and-plugins-lacks-a-how-to
Sep 4, 2026
Merged

TheGreatAxios merged 3 commits into
mainfrom
cl-6887-tui-has-no-way-to-remove-a-plugin-and-plugins-lacks-a-how-to

Conversation

@TheGreatAxios

Copy link
Copy Markdown
Collaborator

Summary

  • /plugins uninstalls user, project, and path-installed plugins with Alt+X, and disables bundled plugins that cannot be deleted.
  • Disk delete is confirmed for owned Corbits plugin dirs; Claude marketplace plugins disable in settings without touching ~/.claude.
  • /plugins opens with a how-to header matching the model-picker hint style.

Verification

  • bun run typecheck, bun run build, and bun run test pass
  • Alt+X on owned user plugins opens a disk-confirm pane; bundled and Claude-unowned skip it

Fixes CL-6887

@linear-code

linear-code Bot commented Sep 3, 2026

Copy link
Copy Markdown

CL-6887

@TheGreatAxios TheGreatAxios left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review · Comment

/plugins uninstalls owned installs, disables bundled plugins, and opens with a how-to header.

GitHub will not accept an approve from the PR author. Residual note: Claude marketplace disable writes enabled: false rather than dropping the settings key so shadowed bundled commands stay off.

@TheGreatAxios TheGreatAxios left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Critic · Comment

/plugins uninstalls owned installs, disables bundled and Claude marketplace plugins with enabled: false, and opens with a how-to header. Confirm uses session cwd. Web chooser does not inherit Alt+X.

No blocking defects on the current branch.

Notes

  • Alt+A now works on empty-list, warnings, and Close rows so the advertised how-to is true.
  • Runner pluginsAdmin.remove glue is still untested (surface tests stub remove). Not a merge blocker.

@TheGreatAxios TheGreatAxios left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Critic · Comment

/plugins uninstalls owned installs, disables bundled and Claude marketplace plugins with enabled: false, and opens with a how-to header. Confirm and ownership use session cwd. Web chooser and confirm pane do not inherit Alt+X.

No blocking or should-fix defects on this round.

This round

  • executePluginRemove is extracted; runner passes config.cwd.
  • Missing paths outside the origin plugins root are refused; dangling symlinks inside are removed.
  • Tests pin session cwd vs process.cwd(), Claude keep-disk, bundled enabled: false, Alt+D no-op, confirm-pane hints, and description-zone disable copy.

Operators could enable and disable plugins but not uninstall them, and
the screen opened with no orientation. Alt+X removes owned installs
from disk, drops path entries, and disables bundled plugins that cannot
be deleted.
The how-to header advertises Alt+A even when no plugin row is focused.
Disable settings writes share one helper, and path-drop no longer
duplicates between owned and unowned path removes.
Runner glue now goes through executePluginRemove so ownership
and settings policy are tested with session cwd, not process.cwd().
Missing paths outside the origin plugins root are refused instead
of treated as already gone.
@TheGreatAxios
TheGreatAxios force-pushed the cl-6887-tui-has-no-way-to-remove-a-plugin-and-plugins-lacks-a-how-to branch from e72d92e to 3db70d3 Compare September 4, 2026 04:52
@TheGreatAxios
TheGreatAxios merged commit 095aa89 into main Sep 4, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant