plugin marketplace remove rejects --scope flag while sibling commands accept it

Resolved 💬 1 comment Opened May 10, 2026 by Caglarcakmak0 Closed May 24, 2026

Summary

claude plugin marketplace remove <name> --scope local errors with unknown option '--scope', but every sibling plugin command accepts --scope local cleanly. The flag should either be honored on marketplace remove or — if it's intentionally rejected — the omission should be documented.

Reproduce

Tested on Claude Code 2.1.138, macOS (darwin 25.2.0).

# This works:
claude plugin marketplace add ~/some-plugin-dir --scope local
# → ✔ Successfully added marketplace: <name> (declared in local settings)

# This works:
claude plugin install <plugin>@<marketplace> --scope local
# → ✔ Successfully installed plugin: ...

# This works:
claude plugin uninstall <plugin>@<marketplace> --scope local
# → ✔ Successfully uninstalled plugin: ...

# This FAILS:
claude plugin marketplace remove <marketplace> --scope local
# → error: unknown option '--scope'

Dropping --scope works:

claude plugin marketplace remove <marketplace>
# → ✔ Successfully removed marketplace: ...

Expected behavior

marketplace remove should accept --scope local|user|managed for symmetry with marketplace add, install, and uninstall. Authoring scripts that round-trip a test marketplace (add → install → uninstall → remove) currently have to special-case this one command.

Suggested fix

Either:

  1. Accept --scope on marketplace remove (resolve to the corresponding settings.json the way marketplace add does), OR
  2. Document under Plugin marketplaces that marketplace remove operates on whichever scope the marketplace was declared in, and that the --scope flag is intentionally not exposed.

Option 1 is the lower-friction fix; option 2 leaves a paper trail for anyone hitting the same surprise.

Why I noticed

I shipped a small Claude Code plugin with a marketplace manifest and ran a round-trip verification script (claude plugin marketplace add → install → uninstall → marketplace remove) as part of the install path's test suite. The remove step was the only one that failed.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗