@anthropic-ai/claude-agent-sdk 0.3.227 → 0.3.229

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/manifest.json CHANGED
@@ -1,53 +1,51 @@
1
1
  {
2
- "version": "2.1.227",
3
- "commit": "5ecc7d5389d8b682652d0ea32eadd3e0eb537ee8",
4
- "buildDate": "2026-08-10T19:04:57Z",
2
+ "version": "2.1.229",
3
+ "commit": "10b3e93beb60b9548432371b3de664a4190e8da7",
4
+ "buildDate": "2026-08-12T17:57:28Z",
5
5
  "platforms": {
6
6
  "darwin-arm64": {
7
7
  "binary": "claude",
8
- "checksum": "7432511ba3be818e01f23f6eef8630d214a8b618451e188c3c7d61a987eef6c7",
9
- "size": 285046400
8
+ "checksum": "d732f0ba0a539c58c2ffcaef06ed03b4e523726f0cb6cc27b3a5b7e7ae0a7a21",
9
+ "size": 294720528
10
10
  },
11
11
  "darwin-x64": {
12
12
  "binary": "claude",
13
- "checksum": "14484fb9a0480b6b638230685a7d9a248a5339b384a162e0df127e4a4a07249b",
14
- "size": 294700704
13
+ "checksum": "1cb62183e9f89ea21eb4950b84896fa7101182c7dfcbbe92e7a293f0b20ba541",
14
+ "size": 303439136
15
15
  },
16
16
  "linux-arm64": {
17
17
  "binary": "claude",
18
- "checksum": "db47335532cbcab67a4b3ab16d8f3f77976bf85d53c7d79f8296538aa22bfce6",
19
- "size": 300923832
18
+ "checksum": "ba53130acbda3ddb00b3dd5641f11733867f5d837a258b7e6ccef4927cc1a509",
19
+ "size": 308795592
20
20
  },
21
21
  "linux-x64": {
22
22
  "binary": "claude",
23
- "checksum": "6832dc3f1797b890b71116e5f2dbbf9a83fd3d0498c235b4b0f9cd0e6e499ad6",
24
- "size": 304282632
23
+ "checksum": "200338139a3df04a9ad22233837d1fb53fb6dffa21cd82e47559bfaa115acc1b",
24
+ "size": 311175440
25
25
  },
26
26
  "linux-arm64-musl": {
27
27
  "binary": "claude",
28
- "checksum": "8284d20a5d61e71502e69836b1598ba03f688f4d8de6c22105055fbf0af118f6",
29
- "size": 294237544
28
+ "checksum": "858d14b64c5c78f4da24a684184a61a05db12cf8f703290f8913c238ce789a27",
29
+ "size": 302202424
30
30
  },
31
31
  "linux-x64-musl": {
32
32
  "binary": "claude",
33
- "checksum": "da7b62210da0000c09c7c29b217e166ccc66dad4c79c9e2bc8d52fc7b66f590d",
34
- "size": 298885712
33
+ "checksum": "3f575b0e8de6ab0473b9652979e1f6f506dc7d6b9ecadeeba47716a07c1b09e1",
34
+ "size": 305483520
35
35
  },
36
36
  "win32-x64": {
37
37
  "binary": "claude.exe",
38
- "checksum": "a5d8bcc6549cf99a2ea35451f8034a12f0db919e63334477c72d42fc8e0d5c09",
39
- "size": 292227232
38
+ "checksum": "5736c66be98a372d5e5e3b3598ead89ab5a9d1aca60d347fe7b561801c58376c",
39
+ "size": 307186848
40
40
  },
41
41
  "win32-arm64": {
42
42
  "binary": "claude.exe",
43
- "checksum": "68935d2c971ad417e90f1d5bb503c8773b218c7f7049fe35e502f0180232ff18",
44
- "size": 286900384
43
+ "checksum": "e213992024e807fab57ab53bab039c22c1911df262da30d038a4892b8662ce54",
44
+ "size": 296566432
45
45
  }
46
46
  },
47
47
  "sdkCompat": {
48
48
  "testedWrapperVersions": [
49
- "0.3.187",
50
- "0.3.190",
51
49
  "0.3.191",
52
50
  "0.3.195",
53
51
  "0.3.196",
@@ -75,7 +73,8 @@
75
73
  "0.3.220",
76
74
  "0.3.221",
77
75
  "0.3.222",
78
- "0.3.226"
76
+ "0.3.226",
77
+ "0.3.227"
79
78
  ],
80
79
  "harnessSchema": 1
81
80
  }
package/manifest.zst.json CHANGED
@@ -1,61 +1,59 @@
1
1
  {
2
- "version": "2.1.227",
3
- "commit": "5ecc7d5389d8b682652d0ea32eadd3e0eb537ee8",
4
- "buildDate": "2026-08-10T19:07:09Z",
2
+ "version": "2.1.229",
3
+ "commit": "10b3e93beb60b9548432371b3de664a4190e8da7",
4
+ "buildDate": "2026-08-12T17:59:47Z",
5
5
  "platforms": {
6
6
  "darwin-arm64": {
7
7
  "binary": "claude.zst",
8
- "checksum": "256afdff806d28d027008c351f83986f11b7751fff1e44a52f66480361831542",
9
- "size": 56884882,
8
+ "checksum": "6f451a59e3fe24730bc719bc9f86f6640332edacc3ce6b54c4bc50e1d314059f",
9
+ "size": 59219054,
10
10
  "bundle": {
11
- "checksum": "3b86d1a8f29a404dca144faf0ba1d155ef12f24c08606080a6c7eb85143ca117",
12
- "size": 56888900
11
+ "checksum": "a4e61d93a9366972aad98b33cd42f03e28107ed7f6beecf579f372ce7b96096e",
12
+ "size": 59216883
13
13
  }
14
14
  },
15
15
  "darwin-x64": {
16
16
  "binary": "claude.zst",
17
- "checksum": "d4299135b0596df5ed10bbf4930995c2a9f0b660c405d119dac783141e9d5778",
18
- "size": 61653275,
17
+ "checksum": "c6eb631b43e8044972ee009725adf08c0c8fcb959017b666ed37d455a3a84d75",
18
+ "size": 63771353,
19
19
  "bundle": {
20
- "checksum": "933dd4335d3db811d863c86b7b2a22d38519d14a46efbbfe207330c5355e15d1",
21
- "size": 61647726
20
+ "checksum": "73a6be36f2ab1167cbf815a8584b573ed379ff9aa0093e01513d0de9f1f6ebcc",
21
+ "size": 63779277
22
22
  }
23
23
  },
24
24
  "linux-arm64": {
25
25
  "binary": "claude.zst",
26
- "checksum": "7bc21154bf75a98bb7a2ae6b47f7d2ea8b75e86ef749749519af1fda5a73c7b9",
27
- "size": 66000031
26
+ "checksum": "8ea9c7c217a6a8d1a8bf8c58288285a70c88ddd14c4b5a47d7c0c6ca3a4fdb63",
27
+ "size": 67495276
28
28
  },
29
29
  "linux-x64": {
30
30
  "binary": "claude.zst",
31
- "checksum": "5eebaa5625c306f6c5737b86f6e64f3fa5657269fd8434aea9c00803f97d1547",
32
- "size": 67310589
31
+ "checksum": "c39722950b2cb1ceb2e1ffe4027fa89121150e3853b4f4f27a34e80a6e09cdbe",
32
+ "size": 68644044
33
33
  },
34
34
  "linux-arm64-musl": {
35
35
  "binary": "claude.zst",
36
- "checksum": "d5300c37aa78600838387fa9b61ed9c5b47d5277706dd832372fe7d9ea24dd0a",
37
- "size": 64750207
36
+ "checksum": "e52ada8826a43cd4973041865124d688b05a6c7a62d9e80df0f9c76086190463",
37
+ "size": 66215021
38
38
  },
39
39
  "linux-x64-musl": {
40
40
  "binary": "claude.zst",
41
- "checksum": "86f3903699da0a604bbaf04d977794207f1a4c2a63b3e2729a6abe342a7a095c",
42
- "size": 66159367
41
+ "checksum": "0d591732a58c6aa1a0eb0ae2da557ff0834301821024290b4bd51ee456c895c0",
42
+ "size": 67153466
43
43
  },
44
44
  "win32-x64": {
45
45
  "binary": "claude.exe.zst",
46
- "checksum": "3c0328fc224b2c2e433d144f1c4817a9d92006d97fa747a191f973873cb1cfd3",
47
- "size": 67271619
46
+ "checksum": "f9d9ce1264cebc0af6b7acf14f7ddd65de84369f4a9985bda9759d8bb0c11786",
47
+ "size": 71120125
48
48
  },
49
49
  "win32-arm64": {
50
50
  "binary": "claude.exe.zst",
51
- "checksum": "9850e3fd889489166614e360f9aea02d679062971cbbe489a652bffe8a8bb40c",
52
- "size": 65421569
51
+ "checksum": "4ac170c5d18bf2ae3f37eedcbc41520d00abb40827291dd16e482a9f71cdea1c",
52
+ "size": 67671658
53
53
  }
54
54
  },
55
55
  "sdkCompat": {
56
56
  "testedWrapperVersions": [
57
- "0.3.187",
58
- "0.3.190",
59
57
  "0.3.191",
60
58
  "0.3.195",
61
59
  "0.3.196",
@@ -83,7 +81,8 @@
83
81
  "0.3.220",
84
82
  "0.3.221",
85
83
  "0.3.222",
86
- "0.3.226"
84
+ "0.3.226",
85
+ "0.3.227"
87
86
  ],
88
87
  "harnessSchema": 1
89
88
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anthropic-ai/claude-agent-sdk",
3
- "version": "0.3.227",
3
+ "version": "0.3.229",
4
4
  "main": "sdk.mjs",
5
5
  "types": "sdk.d.ts",
6
6
  "exports": {
@@ -57,14 +57,14 @@
57
57
  "zod": "^4.0.0"
58
58
  },
59
59
  "optionalDependencies": {
60
- "@anthropic-ai/claude-agent-sdk-linux-x64": "0.3.227",
61
- "@anthropic-ai/claude-agent-sdk-linux-arm64": "0.3.227",
62
- "@anthropic-ai/claude-agent-sdk-linux-x64-musl": "0.3.227",
63
- "@anthropic-ai/claude-agent-sdk-linux-arm64-musl": "0.3.227",
64
- "@anthropic-ai/claude-agent-sdk-darwin-x64": "0.3.227",
65
- "@anthropic-ai/claude-agent-sdk-darwin-arm64": "0.3.227",
66
- "@anthropic-ai/claude-agent-sdk-win32-x64": "0.3.227",
67
- "@anthropic-ai/claude-agent-sdk-win32-arm64": "0.3.227"
60
+ "@anthropic-ai/claude-agent-sdk-linux-x64": "0.3.229",
61
+ "@anthropic-ai/claude-agent-sdk-linux-arm64": "0.3.229",
62
+ "@anthropic-ai/claude-agent-sdk-linux-x64-musl": "0.3.229",
63
+ "@anthropic-ai/claude-agent-sdk-linux-arm64-musl": "0.3.229",
64
+ "@anthropic-ai/claude-agent-sdk-darwin-x64": "0.3.229",
65
+ "@anthropic-ai/claude-agent-sdk-darwin-arm64": "0.3.229",
66
+ "@anthropic-ai/claude-agent-sdk-win32-x64": "0.3.229",
67
+ "@anthropic-ai/claude-agent-sdk-win32-arm64": "0.3.229"
68
68
  },
69
69
  "files": [
70
70
  "sdk.mjs",
@@ -80,5 +80,5 @@
80
80
  "manifest.json",
81
81
  "manifest.zst.json"
82
82
  ],
83
- "claudeCodeVersion": "2.1.227"
83
+ "claudeCodeVersion": "2.1.229"
84
84
  }
package/sdk-tools.d.ts CHANGED
@@ -46,6 +46,7 @@ export type ToolInputSchemas =
46
46
  | ScheduleWakeupInput
47
47
  | RemoteTriggerInput
48
48
  | ShowOnboardingRolePickerInput
49
+ | ReadNotificationsInput
49
50
  | MonitorInput
50
51
  | ProposeSkillsInput
51
52
  | ProposeGoalInput
@@ -85,6 +86,7 @@ export type ToolOutputSchemas =
85
86
  | ArtifactOutput
86
87
  | RemoteTriggerOutput
87
88
  | ShowOnboardingRolePickerOutput
89
+ | ReadNotificationsOutput
88
90
  | ScheduleWakeupOutput
89
91
  | MonitorOutput
90
92
  | ProposeSkillsOutput
@@ -129,6 +131,9 @@ export type AgentOutput =
129
131
  inference_geo?: string | null;
130
132
  speed?: string | null;
131
133
  iterations?: unknown;
134
+ output_tokens_details?: {
135
+ thinking_tokens?: number | null;
136
+ } | null;
132
137
  };
133
138
  toolStats?: {
134
139
  readCount: number;
@@ -2684,6 +2689,7 @@ export interface RemoteTriggerInput {
2684
2689
  };
2685
2690
  }
2686
2691
  export interface ShowOnboardingRolePickerInput {}
2692
+ export interface ReadNotificationsInput {}
2687
2693
  export interface MonitorInput {
2688
2694
  /**
2689
2695
  * Short human-readable description of what you are monitoring (shown in notifications).
@@ -2892,7 +2898,7 @@ export interface ArtifactInput {
2892
2898
  */
2893
2899
  scope?: "mine" | "shared" | "all";
2894
2900
  /**
2895
- * Title for the artifact — the name shown in the browser tab and gallery. Prefer a <title> tag at the top of the HTML itself; this parameter fills in only when the file lacks one in the first 8KB of the file, and never overrides the tag. HTML publishes only — Markdown pages keep their filename identity. Content always comes from file_path — there is no inline content parameter.
2901
+ * Title for the artifact — the name shown in the browser tab and gallery. A short, distinctive noun-phrase name — not a generic label, a summary, or a name with an appended explainer. Prefer a <title> tag at the top of the HTML itself; this parameter fills in only when the file lacks one in the first 8KB of the file, and never overrides the tag. HTML publishes only — Markdown pages keep their filename identity. Content always comes from file_path — there is no inline content parameter.
2896
2902
  */
2897
2903
  title?: string;
2898
2904
  /**
@@ -3692,6 +3698,30 @@ export interface ShowOnboardingRolePickerOutput {
3692
3698
  role?: string;
3693
3699
  dismissed?: boolean;
3694
3700
  }
3701
+ export interface ReadNotificationsOutput {
3702
+ notifications: {
3703
+ /**
3704
+ * Server-assigned stable id — the dedup key across redeliveries.
3705
+ */
3706
+ notification_id: string;
3707
+ /**
3708
+ * Server-attested source token: "github_webhook" | "trigger_fire" | "mcp_send_message" (open set; unknown well-formed tokens pass through verbatim, off-grammar values coerce to "unknown").
3709
+ */
3710
+ origin: string;
3711
+ /**
3712
+ * RFC3339 timestamp of when the backend queued it.
3713
+ */
3714
+ queued_at: string;
3715
+ /**
3716
+ * Verbatim notification body.
3717
+ */
3718
+ content: string;
3719
+ }[];
3720
+ /**
3721
+ * Notifications still queued after this drain (drains are size-budgeted); call the tool again to read them.
3722
+ */
3723
+ remaining: number;
3724
+ }
3695
3725
  export interface ScheduleWakeupOutput {
3696
3726
  /**
3697
3727
  * Epoch ms timestamp when the next wakeup will fire
package/sdk.d.ts CHANGED
@@ -2716,7 +2716,7 @@ export declare type ResolvedSettingSource = SettingSource | 'managed' | 'flag';
2716
2716
  * - **The policy tier matches CLI startup** (managed-settings.json,
2717
2717
  * remote-cached managed settings, MDM via macOS plist / Windows
2718
2718
  * HKLM/HKCU, and `managedSettings`) **except** the admin-configured
2719
- * `policyHelper` subprocess is not executed. MDM resolution may invoke
2719
+ * `policyHelper`/`policyHelpers` subprocess is not executed. MDM resolution may invoke
2720
2720
  * `plutil` (macOS, when an MDM plist exists) or `reg.exe` (Windows/WSL)
2721
2721
  * on the first call per process. If your deployment relies on
2722
2722
  * policyHelper to inject managed settings, results will differ.
@@ -4617,6 +4617,10 @@ export declare type SDKSystemMessage = {
4617
4617
  */
4618
4618
  permissionMode: PermissionMode;
4619
4619
  slash_commands: string[];
4620
+ /**
4621
+ * Subset of slash_commands whose UX is bound to the local terminal (e.g. exit, statusline). Phone/remote UIs should hide these from command menus; desktop surfaces may keep them. Present only when non-empty; absent on CLIs that predate the field, and on sessions where no advertised command carries the tag.
4622
+ */
4623
+ terminal_slash_commands?: string[];
4620
4624
  output_style: string;
4621
4625
  skills: string[];
4622
4626
  plugins: {
@@ -4634,7 +4638,7 @@ export declare type SDKSystemMessage = {
4634
4638
  fast_mode_state?: FastModeState;
4635
4639
  fast_mode_disabled_reason?: FastModeDisabledReason;
4636
4640
  /**
4637
- * Protocol capabilities this CLI supports, so SDK consumers can feature-detect instead of version-sniffing. Open set — ignore unknown values; check each capability for exactly the behavior you use. 'interrupt_receipt_v1' = the interrupt control_response success payload carries still_queued (uuids of async user messages that survive the interrupt). 'interrupt_cancel_queued_v1' = the interrupt control_request honors cancel_queued:true (queued and pending-dispatch commands are cancelled alongside the abort, listed on the response's cancelled field; still_queued is always empty — including any uuid that was mid-fold at the interrupt instant, since this request also aborts and the fold never delivers it). Absent on older CLIs.
4641
+ * Protocol capabilities this CLI supports, so SDK consumers can feature-detect instead of version-sniffing. Open set — ignore unknown values; check each capability for exactly the behavior you use. 'interrupt_receipt_v1' = the interrupt control_response success payload carries still_queued (uuids of async user messages that survive the interrupt). 'interrupt_cancel_queued_v1' = the interrupt control_request honors cancel_queued:true (queued and pending-dispatch commands are cancelled alongside the abort, listed on the response's cancelled field; still_queued is always empty — including any uuid that was mid-fold at the interrupt instant, since this request also aborts and the fold never delivers it). 'queued_notifications' = the CLI accepts inbound queued_notification stream messages and drains them via ReadNotifications (the CCR backend reads this from the persisted init event to decide whether it may send them). Absent on older CLIs.
4638
4642
  */
4639
4643
  capabilities?: string[];
4640
4644
 
@@ -5166,6 +5170,43 @@ export declare interface Settings {
5166
5170
  timeoutMs?: number;
5167
5171
  refreshIntervalMs?: 0 | number;
5168
5172
  };
5173
+ /**
5174
+ * Per-OS variant of policyHelper, keyed by platform: macos, linux, windows, wsl. The entry for the current platform wins over policyHelper; a platform with no entry falls back to policyHelper (wsl falls back to the linux entry first). Honored only from admin-controlled policy sources.
5175
+ */
5176
+ policyHelpers?: {
5177
+ macos?: {
5178
+ /**
5179
+ * Absolute path to the helper executable
5180
+ */
5181
+ path: string;
5182
+ timeoutMs?: number;
5183
+ refreshIntervalMs?: 0 | number;
5184
+ };
5185
+ linux?: {
5186
+ /**
5187
+ * Absolute path to the helper executable
5188
+ */
5189
+ path: string;
5190
+ timeoutMs?: number;
5191
+ refreshIntervalMs?: 0 | number;
5192
+ };
5193
+ windows?: {
5194
+ /**
5195
+ * Absolute path to the helper executable
5196
+ */
5197
+ path: string;
5198
+ timeoutMs?: number;
5199
+ refreshIntervalMs?: 0 | number;
5200
+ };
5201
+ wsl?: {
5202
+ /**
5203
+ * Absolute path to the helper executable
5204
+ */
5205
+ path: string;
5206
+ timeoutMs?: number;
5207
+ refreshIntervalMs?: 0 | number;
5208
+ };
5209
+ };
5169
5210
  /**
5170
5211
  * Custom file suggestion configuration for \@ mentions
5171
5212
  */
@@ -5217,6 +5258,7 @@ export declare interface Settings {
5217
5258
  * Whether to append the claude.ai session link to commits and PRs created from web or Remote Control sessions (default: true). Set to false to omit the Claude-Session trailer and PR-body link.
5218
5259
  */
5219
5260
  sessionUrl?: boolean;
5261
+ [k: string]: unknown;
5220
5262
  };
5221
5263
  /**
5222
5264
  * Deprecated: Use attribution instead. Whether to include Claude's co-authored by attribution in commits and PRs (defaults to true)
@@ -5875,6 +5917,20 @@ export declare interface Settings {
5875
5917
  * SHA-256 digest of the archive. When set, every download is verified against it and the install is refused on mismatch. It also serves as the version identity when neither plugin.json nor the marketplace entry declares a `version`. Recommended. Note the update signal is the version string (plugin.json version, else the entry version, else this digest) — changing only the digest while a version is declared does not trigger an update.
5876
5918
  */
5877
5919
  sha256?: string;
5920
+ } | {
5921
+ source: 'command';
5922
+ /**
5923
+ * Shell command that prints the absolute path of the plugin directory on stdout (exactly one line) and exits 0. It must leave a complete plugin in that directory before exiting; the directory is copied into the plugin cache, so the printed path may change between runs (it is re-resolved on every install and update, and once per session in the background). Runs through the platform shell (sh on macOS/Linux, cmd.exe on Windows) from the user's home directory with Claude Code's subprocess environment.
5924
+ */
5925
+ command: string;
5926
+ /**
5927
+ * Seconds to wait for the command before giving up (default: 60)
5928
+ */
5929
+ timeout?: number;
5930
+ /**
5931
+ * copy (default): the printed directory is copied into the plugin cache and content-hashed, so it may be deleted afterwards. link: the cache entry links to the printed directory in place (no copy, no size limit; macOS/Linux) — for large exports; the directory must then stay valid while Claude Code runs, and a different printed path is what signals new content.
5932
+ */
5933
+ mode?: 'copy' | 'link';
5878
5934
  } | {
5879
5935
  source: 'unsupported';
5880
5936
  error?: string;
@@ -6086,6 +6142,20 @@ export declare interface Settings {
6086
6142
  * SHA-256 digest of the archive. When set, every download is verified against it and the install is refused on mismatch. It also serves as the version identity when neither plugin.json nor the marketplace entry declares a `version`. Recommended. Note the update signal is the version string (plugin.json version, else the entry version, else this digest) — changing only the digest while a version is declared does not trigger an update.
6087
6143
  */
6088
6144
  sha256?: string;
6145
+ } | {
6146
+ source: 'command';
6147
+ /**
6148
+ * Shell command that prints the absolute path of the plugin directory on stdout (exactly one line) and exits 0. It must leave a complete plugin in that directory before exiting; the directory is copied into the plugin cache, so the printed path may change between runs (it is re-resolved on every install and update, and once per session in the background). Runs through the platform shell (sh on macOS/Linux, cmd.exe on Windows) from the user's home directory with Claude Code's subprocess environment.
6149
+ */
6150
+ command: string;
6151
+ /**
6152
+ * Seconds to wait for the command before giving up (default: 60)
6153
+ */
6154
+ timeout?: number;
6155
+ /**
6156
+ * copy (default): the printed directory is copied into the plugin cache and content-hashed, so it may be deleted afterwards. link: the cache entry links to the printed directory in place (no copy, no size limit; macOS/Linux) — for large exports; the directory must then stay valid while Claude Code runs, and a different printed path is what signals new content.
6157
+ */
6158
+ mode?: 'copy' | 'link';
6089
6159
  } | {
6090
6160
  source: 'unsupported';
6091
6161
  error?: string;
@@ -6287,6 +6357,20 @@ export declare interface Settings {
6287
6357
  * SHA-256 digest of the archive. When set, every download is verified against it and the install is refused on mismatch. It also serves as the version identity when neither plugin.json nor the marketplace entry declares a `version`. Recommended. Note the update signal is the version string (plugin.json version, else the entry version, else this digest) — changing only the digest while a version is declared does not trigger an update.
6288
6358
  */
6289
6359
  sha256?: string;
6360
+ } | {
6361
+ source: 'command';
6362
+ /**
6363
+ * Shell command that prints the absolute path of the plugin directory on stdout (exactly one line) and exits 0. It must leave a complete plugin in that directory before exiting; the directory is copied into the plugin cache, so the printed path may change between runs (it is re-resolved on every install and update, and once per session in the background). Runs through the platform shell (sh on macOS/Linux, cmd.exe on Windows) from the user's home directory with Claude Code's subprocess environment.
6364
+ */
6365
+ command: string;
6366
+ /**
6367
+ * Seconds to wait for the command before giving up (default: 60)
6368
+ */
6369
+ timeout?: number;
6370
+ /**
6371
+ * copy (default): the printed directory is copied into the plugin cache and content-hashed, so it may be deleted afterwards. link: the cache entry links to the printed directory in place (no copy, no size limit; macOS/Linux) — for large exports; the directory must then stay valid while Claude Code runs, and a different printed path is what signals new content.
6372
+ */
6373
+ mode?: 'copy' | 'link';
6290
6374
  } | {
6291
6375
  source: 'unsupported';
6292
6376
  error?: string;
@@ -6310,6 +6394,10 @@ export declare interface Settings {
6310
6394
  url?: string;
6311
6395
  };
6312
6396
  })[];
6397
+ /**
6398
+ * Controls the `command` plugin source, whose plugin directory is produced by running a marketplace-declared command on this machine. true: command-sourced plugins are never installed, updated, or re-resolved (the command never runs). false: explicitly allowed. Unset: follows allowManagedHooksOnly — an org that restricts hook execution to managed settings gets command sources disabled too. Only honored from managed settings.
6399
+ */
6400
+ disableCommandPluginSources?: boolean;
6313
6401
  /**
6314
6402
  * When true (and set in managed settings), rejects the --plugin-dir, --plugin-url, --agents, and non-sdk --mcp-config CLI flags at startup. Closes the CLI-flag bypass of strictKnownMarketplaces. Pair with allowedMcpServers for per-server MCP control; this setting does not gate other MCP entry points (SDK setMcpServers, claude mcp add, .mcp.json). Also blocks surfaces that spawn the CLI with these flags internally (see settings documentation). Only honored from managed settings; ignored in user/project/local settings.
6315
6403
  */