{"name":"plugin install","slug":"plugin-install","family":"cli","title":"CLI flags","noun":"CLI flag","description":"Plugin install and update take -y to skip the command confirmation, but not inside a session.","description_source":"entry","described_by":{"version":"2.1.229","anchor":"claude-plugin-install-and-update-gained-y"},"presence":{"first_seen":null,"removed_in":null,"in_current_build":false,"newest_mined":"2.1.308","builds":0,"mined_builds":149,"first_cited":null},"aliases":[],"entries":[{"version":"2.1.292","anchor":"claude-plugin-install-marketplace-flow-added-only-the-fun","heading":"Code to install a plugin and add its marketplace in one step","line":"Claude Code contains a `claude plugin install <plugin> --marketplace <source>` flow that adds the marketplace first if needed","released_at":"2026-10-06 17:10:31","reason":"named in this entry"},{"version":"2.1.287","anchor":"plugin-install-replace-now-has-an-error-message-requiring","heading":"plugin install --replace explains that it needs a full plugin id","line":"Running `plugin install --replace` without a name@marketplace id now says that id is needed and that nothing was installed","released_at":"2026-10-01 16:59:25","reason":"named in this entry"},{"version":"2.1.283","anchor":"plugin-installuninstall-refuse-when-install-records-are-unr","heading":"Plugin install and uninstall now stop if the install records cannot be read","line":"`claude plugin install` and `claude plugin uninstall` now fail with install_records_unreadable instead of going ahead when their records are unreadable","released_at":"2026-09-25 18:46:11","reason":"named in this entry"},{"version":"2.1.282","anchor":"plugin-install-can-replace-an-installed-copy-replace-option","heading":"Plugin install can now pass a request to replace an already installed copy","line":"The command-line plugin install path can now tell the installer to replace a copy of the plugin that is already installed","released_at":"2026-09-24 15:56:22","reason":"named in this entry"},{"version":"2.1.282","anchor":"plugin-install-new-replaceswitch-refusal-codes-mostly-dea","heading":"Replacing a plugin on install can now fail with a specific reason","line":"`claude plugin install` in replace mode can now fail with \"replace_unavailable\"; other refusal codes are mostly switched off","released_at":"2026-09-24 15:56:22","reason":"named in this entry"},{"version":"2.1.239","anchor":"plugin-commands-explain-why-a-plugin-cannot-be-toggled","heading":"Plugin commands explain why a plugin cannot be toggled","line":"Plugin commands now explain refusals for built-ins and org-locked plugins instead of acting oddly.","released_at":"2026-08-21 17:18:54","reason":"named in this entry"},{"version":"2.1.229","anchor":"claude-plugin-install-and-update-gained-y","heading":"claude plugin install and update gained -y","line":"Plugin install and update take -y to skip the command confirmation, but not inside a session.","released_at":"2026-08-12 19:28:48","reason":"named in this entry"}],"entries_total":7,"docs":[{"source":"api","path":"agents-and-tools\/agent-skills\/claude-api-skill","title":"claude-api-skill","documented":false},{"source":"api","path":"api\/beta\/organization\/analytics","title":"Analytics","documented":false},{"source":"api","path":"api\/beta\/organization\/analytics\/plugins","title":"Plugins","documented":false},{"source":"api","path":"api\/beta\/organization\/analytics\/plugins\/list","title":"Get Plugin Usage","documented":false},{"source":"api","path":"api\/beta\/organization\/plugins","title":"Plugins","documented":false},{"source":"api","path":"api\/beta\/organization\/plugins\/installation_settings","title":"Installation Settings","documented":false},{"source":"api","path":"api\/beta\/organization\/plugins\/installation_settings\/list","title":"List Plugin Installation Settings","documented":false},{"source":"api","path":"api\/beta\/organization\/plugins\/installation_settings\/remove","title":"Remove Plugin Installation Setting","documented":false},{"source":"api","path":"api\/beta\/organization\/plugins\/installation_settings\/set","title":"Set Plugin Installation Setting","documented":false},{"source":"api","path":"manage-claude\/plugins-api","title":"plugins-api","documented":false}],"docs_total":12,"gates":[],"related":[{"name":"plugin","slug":"plugin","description":"Telemetry values now pass through marker helpers that declare them safe; nothing sent actually changed."},{"name":"plugin configure","slug":"plugin-configure","description":"New `claude plugin configure <plugin>` shows a plugin's options, or saves values piped in as JSON with `--values-stdin`"},{"name":"plugin details","slug":"plugin-details","description":"Plugin subcommand descriptions come from the shared table that also hides early-access entries."},{"name":"plugin disable","slug":"plugin-disable","description":"Plugin commands now explain refusals for built-ins and org-locked plugins instead of acting oddly."},{"name":"plugin disable-all","slug":"plugin-disable-all","description":"Plugin disable, disable-all, and update commands gain --json output alongside other plugin commands"},{"name":"plugin enable","slug":"plugin-enable","description":"Plugin subcommand descriptions come from the shared table that also hides early-access entries."},{"name":"plugin eval","slug":"plugin-eval","description":"Plugin eval now writes report.html and publishes it to claude.ai unless you pass --no-publish."},{"name":"plugin eval init","slug":"plugin-eval-init","description":"Eval scaffolding refuses to create files outside a plugin or skill folder unless you pass --eval-dir."},{"name":"plugin init","slug":"plugin-init","description":"The check at the end of `claude plugin init` now warns, rather than failing, when a name cannot be recorded"},{"name":"plugin install <plugin>@<name>","slug":"plugin-install-plugin-name","description":null}],"url":"https:\/\/changelogs.core-directive.com\/reference\/cli\/plugin-install","family_url":"https:\/\/changelogs.core-directive.com\/reference\/cli.json"}