Plugins changedapi/beta/organization/plugins
Nearest release: v2.1.322, published 2 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+121added
Lines−44removed
From line
25
where the diff opens
First seen
30 Sep 2026
this site's first read of the page
Recorded edits12to this page, all time
### Beta Plugin Name Taken Error Details ### Beta Registration Pending Error Details ### Beta Scan Failed Error Details ### Beta Scan Pending Error Details ### Beta Skill Name Taken Error Details
The whole hunk
from line 25, old and new numbered
/
from line 25
2525returns a 409 with `error_code` `plugin_name_taken` and, when a Plugin holds it,
2626that Plugin's ID in `details.plugin_id`. A Plugin going into the organization's
2727library marketplace is also refused with a 409 when one of its skills has the name of
28an organization skill (a skill an administrator uploaded for the whole organization
29in claude.ai): `error_code` `skill_name_taken`, with that name in
30`details.skill_name`; rename the skill, or remove the organization skill in
31claude.ai. A 503 with `error_code`
28an organization skill that this API does not list: `error_code`
29`skill_name_taken`, with that name in `details.skill_name`; rename the skill, or
30remove the organization skill in claude.ai. A 503 with `error_code`
3231`registration_pending` means the Plugin and its version were stored (their IDs are
3332in `details`) but are not yet usable in claude.ai: do not retry the create (the
3433retry would return `plugin_name_taken`); create a version on the stored Plugin
from line 42
4342
4443### Headers
4544
46- `"anthropic-beta": optional array of AnthropicBeta`
45- `"anthropic-beta": array of AnthropicBeta`
4746
4847 This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header.
4948
from line 152
153152
154153 - `"webhooks-2026-10-07"`
155154
155 - `"admin-user-sign-out-2026-10-08"`
156
156157 - `"message-threads-2026-08-12"`
157158
158159 - `"analytics-usage-cost-2026-08-24"`
from line 354
353354
354355 How far the served version reaches, or `null` if it is not classified.
355356
356 `remote` means it declares an MCP server or a CLI. `privileged` means it declares no MCP server or CLI, but declares a hook, monitor, language server, or settings, or has a skill, command, or other Markdown file whose frontmatter pre-approves tools (`allowed-tools` with any value other than an empty one or one that names only `AskUserQuestion`, `TodoWrite`, and `ToolSearch`). Otherwise it is `contained`.
357 `remote` means it declares an MCP server or a CLI, or something that counts as one. `privileged` means it is not `remote`, but declares a hook (of any type, even one that posts to a URL), monitor, language server, Claude Code workflow (any file in a `workflows/` folder at its root counts as one), or settings, or has a skill, command, or other Markdown file whose frontmatter pre-approves tools (`allowed-tools` with any value other than an empty one or one that names only `AskUserQuestion`, `TodoWrite`, and `ToolSearch`). Otherwise it is `contained`.
357358
358 If the frontmatter of a skill, command, or other Markdown file that could change the value could not be read, or was past a size limit, the version is `null` or `privileged` (or `remote`, if it declares an MCP server or a CLI), not `contained`. The value is normally worked out when a version is stored, under the rules of that time, so an older version can be `null`, or `contained` where the same files stored today would be `privileged` or `null`.
359 If the frontmatter of a skill, command, or other Markdown file that could change the value could not be read, or was past a size limit, the version is `null` or `privileged` (or `remote`, if something else it declares makes it `remote`), not `contained`. The value is normally worked out when a version is stored, under the rules of that time, so an older version can be `null`, `contained` where the same files stored today would be `privileged`, `remote`, or `null`, or `privileged` where they would be `remote`.
359360
360361 - `"contained"`
361362
from line 455
454455
455456### Headers
456457
457- `"anthropic-beta": optional array of AnthropicBeta`
458- `"anthropic-beta": array of AnthropicBeta`
458459
459460 This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header.
460461
from line 565
564565
565566 - `"webhooks-2026-10-07"`
566567
568 - `"admin-user-sign-out-2026-10-08"`
569
567570 - `"message-threads-2026-08-12"`
568571
569572 - `"analytics-usage-cost-2026-08-24"`
from line 751
748751
749752 How far the served version reaches, or `null` if it is not classified.
750753
751 `remote` means it declares an MCP server or a CLI. `privileged` means it declares no MCP server or CLI, but declares a hook, monitor, language server, or settings, or has a skill, command, or other Markdown file whose frontmatter pre-approves tools (`allowed-tools` with any value other than an empty one or one that names only `AskUserQuestion`, `TodoWrite`, and `ToolSearch`). Otherwise it is `contained`.
754 `remote` means it declares an MCP server or a CLI, or something that counts as one. `privileged` means it is not `remote`, but declares a hook (of any type, even one that posts to a URL), monitor, language server, Claude Code workflow (any file in a `workflows/` folder at its root counts as one), or settings, or has a skill, command, or other Markdown file whose frontmatter pre-approves tools (`allowed-tools` with any value other than an empty one or one that names only `AskUserQuestion`, `TodoWrite`, and `ToolSearch`). Otherwise it is `contained`.
752755
753 If the frontmatter of a skill, command, or other Markdown file that could change the value could not be read, or was past a size limit, the version is `null` or `privileged` (or `remote`, if it declares an MCP server or a CLI), not `contained`. The value is normally worked out when a version is stored, under the rules of that time, so an older version can be `null`, or `contained` where the same files stored today would be `privileged` or `null`.
756 If the frontmatter of a skill, command, or other Markdown file that could change the value could not be read, or was past a size limit, the version is `null` or `privileged` (or `remote`, if something else it declares makes it `remote`), not `contained`. The value is normally worked out when a version is stored, under the rules of that time, so an older version can be `null`, `contained` where the same files stored today would be `privileged`, `remote`, or `null`, or `privileged` where they would be `remote`.
754757
755758 - `"contained"`
756759
from line 847
844847cannot be read at that moment, the request fails with a retryable 503 instead.
845848When the Plugin is in the organization's
846849library marketplace, a version other than the one served is also refused with a 409
847when one of its skills has a name that an organization skill (one an administrator
848uploaded for the whole organization in claude.ai) has since taken: `error_code`
849`skill_name_taken`, with that name in `details.skill_name`. A member-owned Plugin
850cannot be updated here (403).
850when an organization skill that this API does not list has since taken the name of
851one of its skills: `error_code` `skill_name_taken`, with that name in
852`details.skill_name`. A member-owned Plugin cannot be updated here (403).
851853
852854This endpoint does not write installation settings; they are written at
853855`/v1/organizations/plugins/{plugin_id}/installation_settings/{target}`.
from line 866
864866
865867### Headers
866868
867- `"anthropic-beta": optional array of AnthropicBeta`
869- `"anthropic-beta": array of AnthropicBeta`
868870
869871 This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header.
870872
from line 976
974976
975977 - `"webhooks-2026-10-07"`
976978
979 - `"admin-user-sign-out-2026-10-08"`
980
977981 - `"message-threads-2026-08-12"`
978982
979983 - `"analytics-usage-cost-2026-08-24"`
from line 1168
11641168
11651169 How far the served version reaches, or `null` if it is not classified.
11661170
1167 `remote` means it declares an MCP server or a CLI. `privileged` means it declares no MCP server or CLI, but declares a hook, monitor, language server, or settings, or has a skill, command, or other Markdown file whose frontmatter pre-approves tools (`allowed-tools` with any value other than an empty one or one that names only `AskUserQuestion`, `TodoWrite`, and `ToolSearch`). Otherwise it is `contained`.
1171 `remote` means it declares an MCP server or a CLI, or something that counts as one. `privileged` means it is not `remote`, but declares a hook (of any type, even one that posts to a URL), monitor, language server, Claude Code workflow (any file in a `workflows/` folder at its root counts as one), or settings, or has a skill, command, or other Markdown file whose frontmatter pre-approves tools (`allowed-tools` with any value other than an empty one or one that names only `AskUserQuestion`, `TodoWrite`, and `ToolSearch`). Otherwise it is `contained`.
11681172
1169 If the frontmatter of a skill, command, or other Markdown file that could change the value could not be read, or was past a size limit, the version is `null` or `privileged` (or `remote`, if it declares an MCP server or a CLI), not `contained`. The value is normally worked out when a version is stored, under the rules of that time, so an older version can be `null`, or `contained` where the same files stored today would be `privileged` or `null`.
1173 If the frontmatter of a skill, command, or other Markdown file that could change the value could not be read, or was past a size limit, the version is `null` or `privileged` (or `remote`, if something else it declares makes it `remote`), not `contained`. The value is normally worked out when a version is stored, under the rules of that time, so an older version can be `null`, `contained` where the same files stored today would be `privileged`, `remote`, or `null`, or `privileged` where they would be `remote`.
11701174
11711175 - `"contained"`
11721176
from line 1325
13211325
13221326### Headers
13231327
1324- `"anthropic-beta": optional array of AnthropicBeta`
1328- `"anthropic-beta": array of AnthropicBeta`
13251329
13261330 This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header.
13271331
from line 1435
14311435
14321436 - `"webhooks-2026-10-07"`
14331437
1438 - `"admin-user-sign-out-2026-10-08"`
1439
14341440 - `"message-threads-2026-08-12"`
14351441
14361442 - `"analytics-usage-cost-2026-08-24"`
from line 1621
16151621
16161622 How far the served version reaches, or `null` if it is not classified.
16171623
1618 `remote` means it declares an MCP server or a CLI. `privileged` means it declares no MCP server or CLI, but declares a hook, monitor, language server, or settings, or has a skill, command, or other Markdown file whose frontmatter pre-approves tools (`allowed-tools` with any value other than an empty one or one that names only `AskUserQuestion`, `TodoWrite`, and `ToolSearch`). Otherwise it is `contained`.
1624 `remote` means it declares an MCP server or a CLI, or something that counts as one. `privileged` means it is not `remote`, but declares a hook (of any type, even one that posts to a URL), monitor, language server, Claude Code workflow (any file in a `workflows/` folder at its root counts as one), or settings, or has a skill, command, or other Markdown file whose frontmatter pre-approves tools (`allowed-tools` with any value other than an empty one or one that names only `AskUserQuestion`, `TodoWrite`, and `ToolSearch`). Otherwise it is `contained`.
16191625
1620 If the frontmatter of a skill, command, or other Markdown file that could change the value could not be read, or was past a size limit, the version is `null` or `privileged` (or `remote`, if it declares an MCP server or a CLI), not `contained`. The value is normally worked out when a version is stored, under the rules of that time, so an older version can be `null`, or `contained` where the same files stored today would be `privileged` or `null`.
1626 If the frontmatter of a skill, command, or other Markdown file that could change the value could not be read, or was past a size limit, the version is `null` or `privileged` (or `remote`, if something else it declares makes it `remote`), not `contained`. The value is normally worked out when a version is stored, under the rules of that time, so an older version can be `null`, `contained` where the same files stored today would be `privileged`, `remote`, or `null`, or `privileged` where they would be `remote`.
16211627
16221628 - `"contained"`
16231629
from line 1711
17051711
17061712Permanently delete a Plugin and every version it holds, exactly as when an
17071713administrator deletes it in claude.ai. The Plugin may belong to the organization or
1708to a member, including a member who has since left the organization.
1714to a member, including a member who has since left the organization. Do not delete a
1715Plugin only because your pipeline did not create it: a member or an administrator
1716might have added it in claude.ai.
17091717
17101718An organization-owned Plugin's installation settings go with it; a member-owned
17111719Plugin's shares are withdrawn and its owner no longer has it.
from line 1736
17281736
17291737### Headers
17301738
1731- `"anthropic-beta": optional array of AnthropicBeta`
1739- `"anthropic-beta": array of AnthropicBeta`
17321740
17331741 This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header.
17341742
from line 1846
18381846
18391847 - `"webhooks-2026-10-07"`
18401848
1849 - `"admin-user-sign-out-2026-10-08"`
1850
18411851 - `"message-threads-2026-08-12"`
18421852
18431853 - `"analytics-usage-cost-2026-08-24"`
from line 2081
20712081
20722082 How far the served version reaches, or `null` if it is not classified.
20732083
2074 `remote` means it declares an MCP server or a CLI. `privileged` means it declares no MCP server or CLI, but declares a hook, monitor, language server, or settings, or has a skill, command, or other Markdown file whose frontmatter pre-approves tools (`allowed-tools` with any value other than an empty one or one that names only `AskUserQuestion`, `TodoWrite`, and `ToolSearch`). Otherwise it is `contained`.
2084 `remote` means it declares an MCP server or a CLI, or something that counts as one. `privileged` means it is not `remote`, but declares a hook (of any type, even one that posts to a URL), monitor, language server, Claude Code workflow (any file in a `workflows/` folder at its root counts as one), or settings, or has a skill, command, or other Markdown file whose frontmatter pre-approves tools (`allowed-tools` with any value other than an empty one or one that names only `AskUserQuestion`, `TodoWrite`, and `ToolSearch`). Otherwise it is `contained`.
20752085
2076 If the frontmatter of a skill, command, or other Markdown file that could change the value could not be read, or was past a size limit, the version is `null` or `privileged` (or `remote`, if it declares an MCP server or a CLI), not `contained`. The value is normally worked out when a version is stored, under the rules of that time, so an older version can be `null`, or `contained` where the same files stored today would be `privileged` or `null`.
2086 If the frontmatter of a skill, command, or other Markdown file that could change the value could not be read, or was past a size limit, the version is `null` or `privileged` (or `remote`, if something else it declares makes it `remote`), not `contained`. The value is normally worked out when a version is stored, under the rules of that time, so an older version can be `null`, `contained` where the same files stored today would be `privileged`, `remote`, or `null`, or `privileged` where they would be `remote`.
20772087
20782088 - `"contained"`
20792089
from line 2177
21672177
21682178 - `"processing"`
21692179
2180### Beta Plugin Name Taken Error Details
2181
2182- `BetaPluginNameTakenErrorDetails object`
2183
2184 The marketplace already holds this name. `plugin_id` is the Plugin that holds it, and can be absent.
2185
2186 - `error_code: "plugin_name_taken"`
2187
2188 - `plugin_id: optional string or null`
2189
21702190### Beta Plugin Owner Organization
21712191
21722192- `BetaPluginOwnerOrganization object`
from line 2267
22472267
22482268 The member's User ID.
22492269
2270### Beta Registration Pending Error Details
2271
2272- `BetaRegistrationPendingErrorDetails object`
2273
2274 The Plugin version was stored but is not yet usable in claude.ai. `plugin_id` and `plugin_version_id` identify what was stored.
2275
2276 - `error_code: "registration_pending"`
2277
2278 - `plugin_id: string`
2279
2280 - `plugin_version_id: string`
2281
2282### Beta Scan Failed Error Details
2283
2284- `BetaScanFailedErrorDetails object`
2285
2286 The version in `plugin_version_id` did not pass its content scan, so it cannot be served.
2287
2288 - `error_code: "scan_failed"`
2289
2290 - `plugin_version_id: string`
2291
2292### Beta Scan Pending Error Details
2293
2294- `BetaScanPendingErrorDetails object`
2295
2296 The content scan of the version in `plugin_version_id` is still running. Retry once the scan finishes.
2297
2298 - `error_code: "scan_pending"`
2299
2300 - `plugin_version_id: string`
2301
2302### Beta Skill Name Taken Error Details
2303
2304- `BetaSkillNameTakenErrorDetails object`
2305
2306 One of the Plugin's skills has the name of an organization skill. `skill_name` is that name.
2307
2308 - `error_code: "skill_name_taken"`
2309
2310 - `skill_name: string`
2311
22502312## Plugins › Versions
22512313
22522314### Create Plugin Version
from line 2327
22652327Only a Plugin in a `manual` marketplace takes uploads; a Plugin synchronized from
22662328a repository gets its versions from the repository. When the Plugin is in the
22672329organization's library marketplace, a version that adds a skill with the name of an
2268organization skill (a skill an administrator uploaded for the whole organization in
2269claude.ai) is refused with a 409: `error_code` `skill_name_taken`, with that name in
2270`details.skill_name`. A 503 with `error_code`
2330organization skill that this API does not list is refused with a 409: `error_code`
2331`skill_name_taken`, with that name in `details.skill_name`. A 503 with `error_code`
22712332`registration_pending` means the version was stored but is not yet usable; a later
22722333version create on the Plugin completes it.
22732334
from line 2347
22862347
22872348#### Headers
22882349
2289- `"anthropic-beta": optional array of AnthropicBeta`
2350- `"anthropic-beta": array of AnthropicBeta`
22902351
22912352 This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header.
22922353
from line 2457
23962457
23972458 - `"webhooks-2026-10-07"`
23982459
2460 - `"admin-user-sign-out-2026-10-08"`
2461
23992462 - `"message-threads-2026-08-12"`
24002463
24012464 - `"analytics-usage-cost-2026-08-24"`
from line 2589
25262589
25272590 - `description: string or null`
25282591
2529 The manifest's description; null when it declares none.
2592 The manifest's description; null when it declares none. The value can be longer than 500 characters, the limit on `description` in an uploaded manifest. A description that the manifest takes from a `SKILL.md` is cut to its first 500 characters. So if the manifest's description is the first 500 characters of exactly one distinct skill `description` in `components`, that skill `description` is returned instead.
25302593
25312594 - `display_name: string or null`
25322595
from line 2702
26392702
26402703#### Headers
26412704
2642- `"anthropic-beta": optional array of AnthropicBeta`
2705- `"anthropic-beta": array of AnthropicBeta`
26432706
26442707 This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header.
26452708
from line 2812
27492812
27502813 - `"webhooks-2026-10-07"`
27512814
2815 - `"admin-user-sign-out-2026-10-08"`
2816
27522817 - `"message-threads-2026-08-12"`
27532818
27542819 - `"analytics-usage-cost-2026-08-24"`
from line 2932
28672932
28682933 - `description: string or null`
28692934
2870 The manifest's description; null when it declares none.
2935 The manifest's description; null when it declares none. The value can be longer than 500 characters, the limit on `description` in an uploaded manifest. A description that the manifest takes from a `SKILL.md` is cut to its first 500 characters. So if the manifest's description is the first 500 characters of exactly one distinct skill `description` in `components`, that skill `description` is returned instead.
28712936
28722937 - `display_name: string or null`
28732938
from line 3039
29743039
29753040#### Headers
29763041
2977- `"anthropic-beta": optional array of AnthropicBeta`
3042- `"anthropic-beta": array of AnthropicBeta`
29783043
29793044 This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header.
29803045
from line 3149
30843149
30853150 - `"webhooks-2026-10-07"`
30863151
3152 - `"admin-user-sign-out-2026-10-08"`
3153
30873154 - `"message-threads-2026-08-12"`
30883155
30893156 - `"analytics-usage-cost-2026-08-24"`
from line 3269
32023269
32033270 - `description: string or null`
32043271
3205 The manifest's description; null when it declares none.
3272 The manifest's description; null when it declares none. The value can be longer than 500 characters, the limit on `description` in an uploaded manifest. A description that the manifest takes from a `SKILL.md` is cut to its first 500 characters. So if the manifest's description is the first 500 characters of exactly one distinct skill `description` in `components`, that skill `description` is returned instead.
32063273
32073274 - `display_name: string or null`
32083275
from line 3383
33163383
33173384#### Headers
33183385
3319- `"anthropic-beta": optional array of AnthropicBeta`
3386- `"anthropic-beta": array of AnthropicBeta`
33203387
33213388 This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header.
33223389
from line 3493
34263493
34273494 - `"webhooks-2026-10-07"`
34283495
3496 - `"admin-user-sign-out-2026-10-08"`
3497
34293498 - `"message-threads-2026-08-12"`
34303499
34313500 - `"analytics-usage-cost-2026-08-24"`
from line 3563
34943563
34953564#### Headers
34963565
3497- `"anthropic-beta": optional array of AnthropicBeta`
3566- `"anthropic-beta": array of AnthropicBeta`
34983567
34993568 This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header.
35003569
from line 3673
36043673
36053674 - `"webhooks-2026-10-07"`
36063675
3676 - `"admin-user-sign-out-2026-10-08"`
3677
36073678 - `"message-threads-2026-08-12"`
36083679
36093680 - `"analytics-usage-cost-2026-08-24"`
from line 3822
37513822
37523823#### Headers
37533824
3754- `"anthropic-beta": optional array of AnthropicBeta`
3825- `"anthropic-beta": array of AnthropicBeta`
37553826
37563827 This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header.
37573828
from line 3932
38613932
38623933 - `"webhooks-2026-10-07"`
38633934
3935 - `"admin-user-sign-out-2026-10-08"`
3936
38643937 - `"message-threads-2026-08-12"`
38653938
38663939 - `"analytics-usage-cost-2026-08-24"`
from line 4098
40254098
40264099#### Headers
40274100
4028- `"anthropic-beta": optional array of AnthropicBeta`
4101- `"anthropic-beta": array of AnthropicBeta`
40294102
40304103 This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header.
40314104
from line 4208
41354208
41364209 - `"webhooks-2026-10-07"`
41374210
4211 - `"admin-user-sign-out-2026-10-08"`
4212
41384213 - `"message-threads-2026-08-12"`
41394214
41404215 - `"analytics-usage-cost-2026-08-24"`
from line 4348
42734348
42744349#### Headers
42754350
4276- `"anthropic-beta": optional array of AnthropicBeta`
4351- `"anthropic-beta": array of AnthropicBeta`
42774352
42784353 This endpoint is in beta: requests must send `ce-plugins-2026-09-01` in this header.
42794354
from line 4458
43834458
43844459 - `"webhooks-2026-10-07"`
43854460
4461 - `"admin-user-sign-out-2026-10-08"`
4462
43864463 - `"message-threads-2026-08-12"`
43874464
43884465 - `"analytics-usage-cost-2026-08-24"`
from line 4524
44474524
44484525- `next_page: string or null`
44494526
4450 Token to provide in as `page` in the subsequent request to retrieve the next page of data.
4527 Token to provide in as `page` in the subsequent request to retrieve the next page of data. A page may hold fewer than `limit` shares, even none, while this is set; keep following it until it is null.
44514528
44524529#### Example
44534530
No line in this hunk matches that.