Skip to content

[FEATURE] Add CLI subcommands for programmatic plugin management #12999

Description

@PaulRBerg

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions