Plugins reference changedplugins-reference
Nearest release: v2.1.269, 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+25added
Lines−25removed
From line
939
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 939, old and new numbered
/
from line 939
939939claude plugin init <name> [options]
940940```
941941
942**Arguments:**
942The command takes these arguments:
943943
944944* `<name>`: Plugin name. Becomes the skill namespace and the directory name under `~/.claude/skills/`, so it cannot contain spaces or path separators.
945945
946**Options:**
946The command accepts these options:
947947
948948| Option | Description | Default |
949949| :----------------------- | :------------------------------------------------------------------------------------------------------------------ | :---------------------- |
from line 954
954954| `-f, --force` | Overwrite an existing `.claude-plugin/` at the target | |
955955| `-h, --help` | Display help for command | |
956956
957**Aliases:** `new`
957`claude plugin new` is an alias for this command.
958958
959959Each `--with` value adds a starter file for that component, ready to edit:
960960
from line 970
970970
971971The scaffolded plugin uses the `@skills-dir` source rather than a marketplace. Admins can block this source with `strictKnownMarketplaces` or by adding `{"source": "skills-dir"}` to `blockedMarketplaces` in [managed settings](/docs/en/plugin-marketplaces#managed-marketplace-restrictions). When blocked, `plugin init` fails before writing.
972972
973**Examples:**
973These examples show common invocations:
974974
975975```bash theme={null}
976976# Scaffold a minimal plugin
from line 991
991991claude plugin install <plugin> [options]
992992```
993993
994**Arguments:**
994The command takes these arguments:
995995
996996* `<plugin>`: Plugin name or `plugin-name@marketplace-name` for a specific marketplace
997997
998**Options:**
998The command accepts these options:
999999
10001000| Option | Description | Default |
10011001| :--------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------ |
from line 1015
10151015
10161016Other 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.
10171017
1018**Examples:**
1018These examples show common invocations:
10191019
10201020```bash theme={null}
10211021# Install to user scope (default)
from line 1036
10361036claude plugin uninstall <plugin> [options]
10371037```
10381038
1039**Arguments:**
1039The command takes these arguments:
10401040
10411041* `<plugin>`: Plugin name or `plugin-name@marketplace-name`
10421042
1043**Options:**
1043The command accepts these options:
10441044
10451045| Option | Description | Default |
10461046| :-------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------ |
from line 1051
10511051| `--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 | |
10521052| `-h, --help` | Display help for command | |
10531053
1054**Aliases:** `remove`, `rm`
1054`claude plugin remove` and `claude plugin rm` are aliases for this command.
10551055
10561056By default, uninstalling from the last remaining scope also deletes the plugin's `${CLAUDE_PLUGIN_DATA}` directory. Use `--keep-data` to preserve it, for example when reinstalling after testing a new version.
10571057
from line 1067
10671067claude plugin prune [options]
10681068```
10691069
1070**Options:**
1070The command accepts these options:
10711071
10721072| Option | Description | Default |
10731073| :-------------------- | :----------------------------------------------------------------------- | :------ |
from line 1076
10761076| `-y, --yes` | Skip the confirmation prompt. Required when stdin or stdout is not a TTY | |
10771077| `-h, --help` | Display help for command | |
10781078
1079**Aliases:** `autoremove`
1079`claude plugin autoremove` is an alias for this command.
10801080
10811081The command lists orphaned dependencies and asks for confirmation before removing them. To remove a plugin and clean up its dependencies in one step, run `claude plugin uninstall <plugin> --prune`.
10821082
from line 1088
10881088claude plugin enable <plugin> [options]
10891089```
10901090
1091**Arguments:**
1091The command takes these arguments:
10921092
10931093* `<plugin>`: Plugin name or `plugin-name@marketplace-name`
10941094
1095**Options:**
1095The command accepts these options:
10961096
10971097| Option | Description | Default |
10981098| :-------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------- |
from line 1108
11081108claude plugin disable [plugin] [options]
11091109```
11101110
1111**Arguments:**
1111The command takes these arguments:
11121112
11131113* `[plugin]`: Plugin name or `plugin-name@marketplace-name`. Optional when using `--all`
11141114
1115**Options:**
1115The command accepts these options:
11161116
11171117| Option | Description | Default |
11181118| :-------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------- |
from line 1129
11291129claude plugin update <plugin> [options]
11301130```
11311131
1132**Arguments:**
1132The command takes these arguments:
11331133
11341134* `<plugin>`: Plugin name or `plugin-name@marketplace-name`
11351135
1136**Options:**
1136The command accepts these options:
11371137
11381138| Option | Description | Default |
11391139| :-------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------ |
from line 1156
11561156claude plugin list [options]
11571157```
11581158
1159**Options:**
1159The command accepts these options:
11601160
11611161| Option | Description | Default |
11621162| :------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------ |
from line 1180
11801180claude plugin details <name>
11811181```
11821182
1183**Arguments:**
1183The command takes these arguments:
11841184
11851185* `<name>`: Plugin name or `plugin-name@marketplace-name`
11861186
1187**Options:**
1187The command accepts these options:
11881188
11891189| Option | Description | Default |
11901190| :----------- | :----------------------- | :------ |
from line 1233
12331233claude plugin validate <path> [options]
12341234```
12351235
1236**Arguments:**
1236The command takes these arguments:
12371237
12381238* `<path>`: Path to a plugin directory or a marketplace directory. See [Validate a plugin or a directory without a manifest](/docs/en/plugin-marketplaces#validate-a-plugin-or-a-directory-without-a-manifest) for which files a plugin run covers.
12391239
1240**Options:**
1240The command accepts these options:
12411241
12421242| Option | Description | Default |
12431243| :----------- | :------------------------------------------------------------------------------------------------------------------------------------------------ | :------ |
from line 1314
13141314claude plugin tag [path] [options]
13151315```
13161316
1317**Arguments:**
1317The command takes these arguments:
13181318
13191319* `[path]`: Path to the plugin directory. Defaults to the current directory.
13201320
1321**Options:**
1321The command accepts these options:
13221322
13231323| Option | Description | Default |
13241324| :-------------------- | :------------------------------------------------------------------------- | :------- |
No line in this hunk matches that.