[FEATURE] Add CLI subcommands for programmatic plugin management

Resolved 💬 3 comments Opened Dec 3, 2025 by PaulRBerg Closed Dec 3, 2025

Problem

There's no way to update plugins or refresh marketplaces programmatically via the claude CLI. Currently, plugin management is only available through interactive slash commands (/plugin), which makes it difficult to:

  • Script plugin updates in CI/CD or automation workflows
  • Refresh marketplace caches without entering an interactive session
  • Update plugins across multiple machines programmatically
  • Integrate plugin management into developer tooling

Proposed solution

Add CLI subcommands for non-interactive plugin management:

# Marketplace operations
claude plugin marketplace list                    # List configured marketplaces
claude plugin marketplace add <url>               # Add a marketplace
claude plugin marketplace remove <name>           # Remove a marketplace
claude plugin marketplace refresh [name]          # Refresh marketplace cache (all or specific)

# Plugin operations
claude plugin list                                # List installed plugins
claude plugin install <name>[@marketplace]        # Install a plugin
claude plugin update [name]                       # Update plugin(s) - all if no name given
claude plugin remove <name>                       # Uninstall a plugin

All commands should:

  • Exit with appropriate status codes (0 success, non-zero failure)
  • Support --json flag for machine-readable output
  • Work without TTY (for scripting)

Alternatives considered

  1. Third-party tools: npx claude-plugins exists but is community-maintained and may not cover all use cases
  2. Direct file manipulation: Editing ~/.claude/marketplaces.json directly is fragile and unsupported
  3. Piping commands: echo "/plugin ..." | claude is hacky and unreliable

Priority

Medium

Category

CLI commands and flags

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗