Plugins reference changedplugins-reference
Nearest release: v2.1.268, published 3 hours before this site recorded the change. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.
Recorded here
Lines+34added
Lines−21removed
From line
1,000
where the diff opens
First seen
14 Aug 2026
this site's first read of the page
Recorded edits37to this page, all time
The whole hunk
from line 1000, old and new numbered
/
from line 1000
10001000| `-s, --scope <scope>` | Installation scope: `user`, `project`, or `local` | `user` |
10011001| `--config <key=value>` | Set a [`userConfig`](#user-configuration) option declared in the plugin's manifest. Repeat the flag to set multiple options | |
10021002| `-y, --yes` | Accept a command the plugin's marketplace declares, without the confirmation prompt: the command that produces a plugin with a [`command` source](/docs/en/plugin-marketplaces#command-sources), or the [`headersHelper`](/docs/en/plugin-marketplaces#authenticate-archive-downloads) that authenticates an archive download. Accepting a `headersHelper` requires Claude Code v2.1.238 or later. Claude Code still prints the command first. Required when stdin or stdout isn't a TTY. Has no effect inside a Claude Code session, so run the command from your own terminal | |
1003| `--json` | Print the result as one JSON object on the last line of stdout instead of the human-readable message, for use in scripts. See [JSON result format](#plugin-json-result). Requires Claude Code v2.1.268 or later | |
10031004| `-h, --help` | Display help for command | |
10041005
10051006Scope determines which settings file the installed plugin is added to. For example, `--scope project` writes to `enabledPlugins` in .claude/settings.json, making the plugin available to everyone who clones the project repository.
10061007
1008<span id="plugin-json-result" />With `--json`, the last line of stdout is one JSON object. Parse only that line, because Claude Code prints any command the marketplace declares ahead of it. Three fields are always present:
1009
1010* `command`: the subcommand that ran, such as `install`
1011* `outcome`: `ok` or `failed`
1012* `message`: a human-readable description of the result
1013
1014Other fields, such as `pluginId`, `scope`, and `failureCode`, appear only when they apply. The `--json` option on `plugin uninstall`, `plugin update`, `plugin enable`, and `plugin disable` prints the same object with that subcommand's own fields. A usage error, such as an invalid `--scope`, prints no result line and exits 1 with the reason on stderr.
1015
10071016**Examples:**
10081017
10091018```bash theme={null}
from line 1040
10311040
10321041**Options:**
10331042
1034| Option | Description | Default |
1035| :-------------------- | :------------------------------------------------------------------------------------------------------- | :------ |
1036| `-s, --scope <scope>` | Uninstall from scope: `user`, `project`, or `local` | `user` |
1037| `--keep-data` | Preserve the plugin's [persistent data directory](#persistent-data-directory) | |
1038| `--prune` | Also remove auto-installed dependencies that no other plugin requires. See [plugin prune](#plugin-prune) | |
1039| `-y, --yes` | Skip the `--prune` confirmation prompt. Required when stdin or stdout is not a TTY | |
1040| `-h, --help` | Display help for command | |
1043| Option | Description | Default |
1044| :-------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------ |
1045| `-s, --scope <scope>` | Uninstall from scope: `user`, `project`, or `local` | `user` |
1046| `--keep-data` | Preserve the plugin's [persistent data directory](#persistent-data-directory) | |
1047| `--prune` | Also remove auto-installed dependencies that no other plugin requires. See [plugin prune](#plugin-prune) | |
1048| `-y, --yes` | Skip the `--prune` confirmation prompt. Required when stdin or stdout is not a TTY | |
1049| `--json` | Print the result as one JSON object on the last line of stdout, in the [same format as `plugin install --json`](#plugin-json-result). Can't be combined with `--prune`. Requires Claude Code v2.1.268 or later | |
1050| `-h, --help` | Display help for command | |
10411051
10421052**Aliases:** `remove`, `rm`
10431053
from line 1092
10821092
10831093**Options:**
10841094
1085| Option | Description | Default |
1086| :-------------------- | :------------------------------------------------------------------------------------------------------------------------ | :---------- |
1087| `-s, --scope <scope>` | Scope to enable: `user`, `project`, or `local`. When omitted, Claude Code detects the scope where the plugin is installed | Auto-detect |
1088| `-h, --help` | Display help for command | |
1095| Option | Description | Default |
1096| :-------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------- |
1097| `-s, --scope <scope>` | Scope to enable: `user`, `project`, or `local`. When omitted, Claude Code detects the scope where the plugin is installed | Auto-detect |
1098| `--json` | Print the result as one JSON object on the last line of stdout, in the [same format as `plugin install --json`](#plugin-json-result). Requires Claude Code v2.1.268 or later | |
1099| `-h, --help` | Display help for command | |
10891100
10901101### plugin disable
10911102
from line 1112
11011112
11021113**Options:**
11031114
1104| Option | Description | Default |
1105| :-------------------- | :------------------------------------------------------------------------------------------------------------------------- | :---------- |
1106| `-a, --all` | Disable all enabled plugins. Can't be combined with `--scope` | |
1107| `-s, --scope <scope>` | Scope to disable: `user`, `project`, or `local`. When omitted, Claude Code detects the scope where the plugin is installed | Auto-detect |
1108| `-h, --help` | Display help for command | |
1115| Option | Description | Default |
1116| :-------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------- |
1117| `-a, --all` | Disable all enabled plugins. Can't be combined with `--scope` | |
1118| `-s, --scope <scope>` | Scope to disable: `user`, `project`, or `local`. When omitted, Claude Code detects the scope where the plugin is installed | Auto-detect |
1119| `--json` | Print the result as one JSON object on the last line of stdout, in the [same format as `plugin install --json`](#plugin-json-result). Requires Claude Code v2.1.268 or later | |
1120| `-h, --help` | Display help for command | |
11091121
11101122### plugin update
11111123
from line 1137
11251137| :-------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------ |
11261138| `-s, --scope <scope>` | Scope to update: `user`, `project`, `local`, or `managed` | `user` |
11271139| `-y, --yes` | Accept a command the plugin's marketplace declares, without the confirmation prompt: the command that produces a plugin with a [`command` source](/docs/en/plugin-marketplaces#command-sources), or the [`headersHelper`](/docs/en/plugin-marketplaces#authenticate-archive-downloads) that authenticates an archive download. Accepting a `headersHelper` requires Claude Code v2.1.238 or later. Claude Code still prints the command first. Required when stdin or stdout isn't a TTY. Has no effect inside a Claude Code session, so run the command from your own terminal | |
1140| `--json` | Print the result as one JSON object on the last line of stdout, in the [same format as `plugin install --json`](#plugin-json-result). Requires Claude Code v2.1.268 or later | |
11281141| `-h, --help` | Display help for command | |
11291142
11301143<Note>
from line 1156
11431156
11441157**Options:**
11451158
1146| Option | Description | Default |
1147| :------------ | :------------------------------------------------------------- | :------ |
1148| `--json` | Output as JSON | |
1149| `--available` | Include available plugins from marketplaces. Requires `--json` | |
1150| `-h, --help` | Display help for command | |
1159| Option | Description | Default |
1160| :------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------ |
1161| `--json` | Output as JSON. A plugin row with load problems or authoring warnings carries `errors` or `notes` string arrays. On Claude Code v2.1.268 or later, parallel `errorDetails` and `noteDetails` arrays give each entry's diagnostic `type` and the names it refers to, such as the plugin, marketplace, server, or file | |
1162| `--available` | Include available plugins from marketplaces. Requires `--json` | |
1163| `-h, --help` | Display help for command | |
11511164
11521165Within an interactive session, `/plugin list` prints a similar listing inline, but it covers marketplace-installed plugins only:
11531166
No line in this hunk matches that.