@anthropic-ai/claude-agent-sdk 0.3.261 → 0.3.265

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,55 +1,52 @@
1
1
  {
2
- "version": "2.1.261",
2
+ "version": "2.1.265",
3
3
  "manifestSignatureEnforcement": "flag",
4
- "commit": "1349cf9c224caea8b7721f717418645e28ebacb8",
5
- "buildDate": "2026-09-04T17:00:27Z",
4
+ "commit": "b08ec8ffb5055fe2e5ecbacfbf8f0b744e62ea51",
5
+ "buildDate": "2026-09-08T18:30:16Z",
6
6
  "platforms": {
7
7
  "darwin-arm64": {
8
8
  "binary": "claude",
9
- "checksum": "5efecaff231b798be3c66def9be54183623b328b80eaef17f93c43987024e82a",
10
- "size": 199241568
9
+ "checksum": "164b09eb800dedb9bb06304129fbf07743ab9db972ae07333ef4f18cde0cb8d5",
10
+ "size": 199422144
11
11
  },
12
12
  "darwin-x64": {
13
13
  "binary": "claude",
14
- "checksum": "2cbc002b32778bd70aa2e668ada920c54d9aacd91b71dbd5619c01ca148ae533",
15
- "size": 208009440
14
+ "checksum": "42c267a37f3db40af9e453a315edf91d423cb96ad147353e2c187769931b1af8",
15
+ "size": 208075488
16
16
  },
17
17
  "linux-arm64": {
18
18
  "binary": "claude",
19
- "checksum": "7bbed5a9b0fc2e4ec67bad3490d06ca91b86d6b037d47520b7898951757d1b8a",
20
- "size": 215211432
19
+ "checksum": "fc1f75b115d6a398f6437df0e00142b073c23633b040618758a935f634427c88",
20
+ "size": 215670184
21
21
  },
22
22
  "linux-x64": {
23
23
  "binary": "claude",
24
- "checksum": "4ae40dd1784e85753e742e09f267d29ecbb82890361ad3817d27560866d364a6",
25
- "size": 215641584
24
+ "checksum": "e14738e3a58d1fc6ccc23b9c919451b4846bc27074a3fb48db976a7d595bdeeb",
25
+ "size": 215940592
26
26
  },
27
27
  "linux-arm64-musl": {
28
28
  "binary": "claude",
29
- "checksum": "53b58ffbeb3f9325f0ca5eb54fd03cd0346bd197328fa1e68a700ac8e097e6c1",
30
- "size": 208090776
29
+ "checksum": "2ca881fe49749e616d579be1f7260bfe3f8d9195f0b8517d24c0be5476581c7a",
30
+ "size": 208615064
31
31
  },
32
32
  "linux-x64-musl": {
33
33
  "binary": "claude",
34
- "checksum": "df6502c5978420d71fb32fe41b4ca956a7eb3f6245fc11a03ca2cde7f03b8f93",
35
- "size": 209661904
34
+ "checksum": "77b792470cd157517fbeedb349f31c8f9c40adb3aa0f21ef6086f54b007a2223",
35
+ "size": 209956816
36
36
  },
37
37
  "win32-x64": {
38
38
  "binary": "claude.exe",
39
- "checksum": "f2f5d1a155167488aeb32cd263e15436253c7b1681ae147c9e73e4d6bbc3c852",
40
- "size": 218728608
39
+ "checksum": "b3d39d4a7e63629e4675a72066eec5e7334225ac1a28432e6f4325b72782631d",
40
+ "size": 218972320
41
41
  },
42
42
  "win32-arm64": {
43
43
  "binary": "claude.exe",
44
- "checksum": "df26e336df846f4b68edda1021af5aecc1f8172d9f045ee33a480916385b35f9",
45
- "size": 209778336
44
+ "checksum": "ad007cd51d4be86138e22f5c5528c433ef843c2e1aa5ec35c51a486064b0ca5d",
45
+ "size": 210214560
46
46
  }
47
47
  },
48
48
  "sdkCompat": {
49
49
  "testedWrapperVersions": [
50
- "0.3.221",
51
- "0.3.222",
52
- "0.3.223",
53
50
  "0.3.224",
54
51
  "0.3.225",
55
52
  "0.3.226",
package/manifest.zst.json CHANGED
@@ -1,63 +1,60 @@
1
1
  {
2
- "version": "2.1.261",
2
+ "version": "2.1.265",
3
3
  "manifestSignatureEnforcement": "flag",
4
- "commit": "1349cf9c224caea8b7721f717418645e28ebacb8",
5
- "buildDate": "2026-09-04T17:01:36Z",
4
+ "commit": "b08ec8ffb5055fe2e5ecbacfbf8f0b744e62ea51",
5
+ "buildDate": "2026-09-08T18:31:22Z",
6
6
  "platforms": {
7
7
  "darwin-arm64": {
8
8
  "binary": "claude.zst",
9
- "checksum": "c7960a08d4b6a683618a3e739b8338bffa98429fa7806cb3ae31652003e487d0",
10
- "size": 66087089,
9
+ "checksum": "642b819f97a1cf4e077ffae736a0685ccaace5e3b1d95939f11ed19195865d82",
10
+ "size": 66234051,
11
11
  "bundle": {
12
- "checksum": "7974c6771c050a3fadfd1a9e5845e01fb4e9019ed3b7e688f1b6d66778d977c4",
13
- "size": 66087548
12
+ "checksum": "f113381f3d56c0a5eecab25e22e8384e0404e7148cb4551584bd1374ef07730a",
13
+ "size": 66237229
14
14
  }
15
15
  },
16
16
  "darwin-x64": {
17
17
  "binary": "claude.zst",
18
- "checksum": "2da572c51ea00b509ee88a889ce6bb3a099e8210e09a9177d9fb0764c3387997",
19
- "size": 70138940,
18
+ "checksum": "033c5e797753a95058c3a1db5c11e86215325da36796152da2454e684678a683",
19
+ "size": 70277960,
20
20
  "bundle": {
21
- "checksum": "679d975a18f9e8d0dfb75c95e0d869b8210fbdf55abfab693fbe6942c3e2bad8",
22
- "size": 70139346
21
+ "checksum": "2f7985ec46cbc300ab5d11500f169b8aa668b838be19571e7689502745ced444",
22
+ "size": 70275602
23
23
  }
24
24
  },
25
25
  "linux-arm64": {
26
26
  "binary": "claude.zst",
27
- "checksum": "60c4ce1b6106119ff2a6e992d2782dd5973da6919c41f505b672535eadd47bbb",
28
- "size": 75288745
27
+ "checksum": "1a7ab5cb59a8e4e3283efcb013dbd182e7e26ddc621a0ccf73d4fab4b50ea80f",
28
+ "size": 75445590
29
29
  },
30
30
  "linux-x64": {
31
31
  "binary": "claude.zst",
32
- "checksum": "e8b1875243a27ab69fff4c11ced3714b14ec1124b00512833abd250302c3a10a",
33
- "size": 75918589
32
+ "checksum": "386afbffee3a2062886d4d43e7dbe9cf9f86bbf9c4870edc51043bb1f1f83dfd",
33
+ "size": 76050824
34
34
  },
35
35
  "linux-arm64-musl": {
36
36
  "binary": "claude.zst",
37
- "checksum": "94384f0961399cbb3f0b24106fa1a9cfdabf5d7d3dcd80016a8da98e1617a28f",
38
- "size": 73768803
37
+ "checksum": "a5d918f25938eb5f4e20f13881b61df76966df0d422d6095e935cfa62a96de60",
38
+ "size": 73931669
39
39
  },
40
40
  "linux-x64-musl": {
41
41
  "binary": "claude.zst",
42
- "checksum": "0d25aebb0f24a940ee51029823c119be913e890fa94ba72122f502d0627b5092",
43
- "size": 74428966
42
+ "checksum": "19439c453a1507ed21706d3ee75311c4a5c5549be826e7e2db6c1c9d52c279c7",
43
+ "size": 74565088
44
44
  },
45
45
  "win32-x64": {
46
46
  "binary": "claude.exe.zst",
47
- "checksum": "346599390837b93f1750b2eb67d1694e29a6053f5ed5831ca82620010f6c26ab",
48
- "size": 78332715
47
+ "checksum": "3c77665ca1437a107bf09576dfe1c4747e677ae07b26ba9b56ff2610db198d43",
48
+ "size": 78433429
49
49
  },
50
50
  "win32-arm64": {
51
51
  "binary": "claude.exe.zst",
52
- "checksum": "a02be72aaf9ef51bae69a9d5dd6a6dc581af3bcc32c53499c2d03ea7773be191",
53
- "size": 75072314
52
+ "checksum": "6aae23fca7139bdc76fb808516807c4e50376cdd48aa88b09fafffc065a1a8fa",
53
+ "size": 75210939
54
54
  }
55
55
  },
56
56
  "sdkCompat": {
57
57
  "testedWrapperVersions": [
58
- "0.3.221",
59
- "0.3.222",
60
- "0.3.223",
61
58
  "0.3.224",
62
59
  "0.3.225",
63
60
  "0.3.226",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anthropic-ai/claude-agent-sdk",
3
- "version": "0.3.261",
3
+ "version": "0.3.265",
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.261",
61
- "@anthropic-ai/claude-agent-sdk-linux-arm64": "0.3.261",
62
- "@anthropic-ai/claude-agent-sdk-linux-x64-musl": "0.3.261",
63
- "@anthropic-ai/claude-agent-sdk-linux-arm64-musl": "0.3.261",
64
- "@anthropic-ai/claude-agent-sdk-darwin-x64": "0.3.261",
65
- "@anthropic-ai/claude-agent-sdk-darwin-arm64": "0.3.261",
66
- "@anthropic-ai/claude-agent-sdk-win32-x64": "0.3.261",
67
- "@anthropic-ai/claude-agent-sdk-win32-arm64": "0.3.261"
60
+ "@anthropic-ai/claude-agent-sdk-linux-x64": "0.3.265",
61
+ "@anthropic-ai/claude-agent-sdk-linux-arm64": "0.3.265",
62
+ "@anthropic-ai/claude-agent-sdk-linux-x64-musl": "0.3.265",
63
+ "@anthropic-ai/claude-agent-sdk-linux-arm64-musl": "0.3.265",
64
+ "@anthropic-ai/claude-agent-sdk-darwin-x64": "0.3.265",
65
+ "@anthropic-ai/claude-agent-sdk-darwin-arm64": "0.3.265",
66
+ "@anthropic-ai/claude-agent-sdk-win32-x64": "0.3.265",
67
+ "@anthropic-ai/claude-agent-sdk-win32-arm64": "0.3.265"
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.261"
83
+ "claudeCodeVersion": "2.1.265"
84
84
  }
package/sdk-tools.d.ts CHANGED
@@ -657,6 +657,27 @@ export type ProjectsOutput =
657
657
  notice?: string;
658
658
  path: string;
659
659
  deleted: boolean;
660
+ }
661
+ | {
662
+ method: "project_memory_list";
663
+ notice?: string;
664
+ files: {
665
+ path: string;
666
+ size_bytes: number;
667
+ updated_at: string | null;
668
+ truncated: boolean;
669
+ }[];
670
+ truncated: boolean;
671
+ }
672
+ | {
673
+ method: "project_memory_read";
674
+ notice?: string;
675
+ path: string;
676
+ content?: string;
677
+ local_file?: string;
678
+ size_bytes: number;
679
+ updated_at: string | null;
680
+ truncated: boolean;
660
681
  };
661
682
 
662
683
  export interface AgentInput {
@@ -2655,9 +2676,16 @@ export interface ClaudeDesignInput {
2655
2676
  };
2656
2677
  }
2657
2678
  export interface ProjectsInput {
2658
- method: "project_info" | "project_read" | "project_search" | "project_write" | "project_delete";
2659
- /**
2660
- * project_read/project_write/project_delete: doc path. project_write: an existing path is replaced in place; a new bare filename (no "/") is namespaced to "claude/<name>".
2679
+ method:
2680
+ | "project_info"
2681
+ | "project_read"
2682
+ | "project_search"
2683
+ | "project_write"
2684
+ | "project_delete"
2685
+ | "project_memory_list"
2686
+ | "project_memory_read";
2687
+ /**
2688
+ * project_read/project_write/project_delete: doc path. project_write: an existing path is replaced in place; a new bare filename (no "/") is namespaced to "claude/<name>". project_memory_read: memory file path as listed by project_memory_list.
2661
2689
  */
2662
2690
  path?: string;
2663
2691
  /**
package/sdk.d.ts CHANGED
@@ -1670,6 +1670,7 @@ export declare type Options = {
1670
1670
  * wins on multi-client sessions; later initializes do not change it.
1671
1671
  */
1672
1672
  perTaskStopAffordance?: boolean;
1673
+
1673
1674
  /**
1674
1675
  * When false, disables session persistence to disk. Sessions will not be
1675
1676
  * saved to ~/.claude/projects/ and cannot be resumed later. Useful for
@@ -2200,18 +2201,17 @@ export declare type Options = {
2200
2201
  * prefix stable.)
2201
2202
  *
2202
2203
  * How it interacts with `append` (and a custom `prompt`):
2203
- * - **Omitted (default):** passing an `append` or a custom prompt turns the
2204
- * recording off, so your appended text is applied fresh on every launch —
2205
- * today's behavior. Only the bare `claude_code` preset is recorded by
2206
- * default.
2207
- * - **`snapshot: true`:** if the conversation already has a recorded prompt,
2208
- * that record is sent as-is (a different `append` or `prompt` passed on a
2209
- * later launch of the same session is ignored until compaction or a new
2210
- * session); otherwise Claude Code renders its prompt with your `append`
2211
- * included, sends that, and records it for the rest of the conversation.
2212
- * - **`snapshot: false`:** never record; render fresh every request.
2213
- * A bare string / `string[]` prompt is always `false`; use
2214
- * `{ type: 'custom', prompt, snapshot: true }` to opt a custom prompt in.
2204
+ * - **Omitted or `snapshot: true` (the default):** Claude Code renders its
2205
+ * prompt with your `append` (or your custom `prompt`) on the
2206
+ * conversation's first request, sends that, and records it; every later
2207
+ * request and `resume` / `continue` sends the record as-is — a different
2208
+ * `append` or `prompt` passed on a later launch of the same session is
2209
+ * ignored until compaction or a new session.
2210
+ * - **`snapshot: false`:** never record; render fresh every request for
2211
+ * iterating on prompt text, or a host that must change its append within
2212
+ * a session.
2213
+ * A bare string / `string[]` prompt follows the default; use
2214
+ * `{ type: 'custom', prompt, snapshot: false }` to opt it out.
2215
2215
  * With a recorded prompt, a mid-session model switch or `set_settings`
2216
2216
  * agent/system-prompt change does not change the prompt either; it takes
2217
2217
  * effect at the next compaction or in a new session. System-prompt
@@ -3324,14 +3324,15 @@ export declare type SDKAssistantMessage = {
3324
3324
  parent_tool_use_id: string | null;
3325
3325
  error?: SDKAssistantMessageError;
3326
3326
  uuid: UUID;
3327
+
3327
3328
  session_id: string;
3328
3329
  request_id?: string;
3329
3330
  /**
3330
- * Client uuid of the user message that triggered this turn (submitMessage options.uuid), stamped on the turn's FIRST reply frame only the first assistant message in complete-message mode; with --include-partial-messages the stamp normally rides the first non-ping stream event instead (see SDKPartialAssistantMessage), and a turn that produces no stream events still stamps its first assistant message — so a consumer can bind the reply to the send it answers without waiting for the result. Wrapper-level sibling — never inside `message.content` — so it is not replayed to the model. Absent on every later frame of the turn, on subagent frames (parent_tool_use_id set), on synthetic/scheduled (meta) turns, on turns without a client uuid, and from older producers.
3331
+ * Client uuid of the user message this turn is answering (submitMessage options.uuid), stamped on a reply frame each time that send changes — the turn's FIRST reply frame, and then, for a turn started by a synthetic (meta) prompt, the first reply frame after each queued user message folded in mid-turn takes the echo over. In complete-message mode the frame is the first assistant message; with --include-partial-messages the stamp normally rides the first non-ping stream event instead (see SDKPartialAssistantMessage), and a turn that produces no stream events still stamps its first assistant message — so a consumer can bind the reply to the send it answers without waiting for the result; the server keeps the first stamp it sees per uuid. A turn started by a typed prompt keeps that uuid for its whole turn, so it stamps its first reply frame only. A meta turn's own uuid is stamped only when the host vouches it is the client event's own (on a hosted session, the uuid the session server persisted: delivered content such as a Slack owner ping, a Slack-bot observation or a client-injected synthetic turn), never for a prompt the CLI minted itself such as the boot-time rescue turn; either way a user message folded into a meta turn takes the echo over from it (the rescue turn absorbing messages sent while the session was down; a bot-observation turn absorbing a human's post), and the first reply frame after that fold carries the folded message's uuid — the first reply that message got. Wrapper-level sibling — never inside `message.content` — so it is not replayed to the model. Absent on every other frame of the turn, on subagent frames (parent_tool_use_id set), on turns that neither had a client uuid nor folded a user message in, and from older producers.
3331
3332
  */
3332
3333
  user_message_uuid?: string;
3333
3334
  /**
3334
- * Client uuids of every user message whose prompt this turn has consumed so far, in consumption order — all members of a prompt batch the host merged into this one turn (several messages sent close together run as one turn whose user_message_uuid is the LAST member's), so a consumer that sent any of them can bind this reply to its own send by finding its uuid anywhere in the list. Always contains user_message_uuid; at most 64 entries. Present exactly when user_message_uuid is, on the same first reply frame only; absent from older producers (fall back to user_message_uuid).
3335
+ * Client uuids of every user message whose prompt this turn has consumed so far, in consumption order — all members of a prompt batch the host merged into this one turn (several messages sent close together run as one turn whose user_message_uuid is the LAST member's), then any user message folded into the turn before this frame — so a consumer that sent any of them can bind this reply to its own send by finding its uuid anywhere in the list. Always contains user_message_uuid; at most 64 entries. Present exactly when user_message_uuid is, on the same frames; absent from older producers (fall back to user_message_uuid).
3335
3336
  */
3336
3337
  user_message_uuids?: string[];
3337
3338
  /**
@@ -3379,6 +3380,7 @@ export declare type SDKAssistantMessage = {
3379
3380
 
3380
3381
 
3381
3382
 
3383
+
3382
3384
  };
3383
3385
 
3384
3386
  export declare type SDKAssistantMessageError = 'authentication_failed' | 'oauth_org_not_allowed' | 'account_on_hold' | 'billing_error' | 'rate_limit' | 'overloaded' | 'invalid_request' | 'model_not_found' | 'server_error' | 'unknown' | 'max_output_tokens';
@@ -3460,6 +3462,7 @@ export declare type SDKCompactBoundaryMessage = {
3460
3462
 
3461
3463
  uuid: UUID;
3462
3464
  session_id: string;
3465
+
3463
3466
  };
3464
3467
 
3465
3468
  /**
@@ -3981,11 +3984,24 @@ declare type SDKControlInitializeRequest = {
3981
3984
  */
3982
3985
  timeout?: number;
3983
3986
  }>;
3987
+ /**
3988
+ * Optional, keyed by sdk server name (each key should also appear in sdkMcpServers; other keys are ignored). Unlike sdkMcpServerConfigs — host-declared settings the CLI keeps for the server's lifetime, same shape inline on mcp_set_servers — this is a one-shot cache of the servers' own handshake output: sent on initialize only, consumed by the connect that follows it, never retained. MCP handshake results the host already obtained from its in-process servers by delivering initialize + notifications/initialized (+ tools/list) to them itself before writing this request. For each such server the CLI answers its own MCP client's initialize and first tools/list from these results and skips the notifications/initialized round trip, so registering N in-process servers costs no mcp_message control round trips before the first turn; tools/call and everything after the handshake still flow as mcp_message exactly as before. The host MUST keep answering mcp_message for every server as if this field were absent: a CLI that predates the field ignores it and performs the full per-server handshake over the control channel, and a newer CLI does the same for any server whose entry is missing or malformed, whose initializeResult.protocolVersion differs from the MCP protocol version the CLI's client requests, or that the CLI had already connected. Entries apply only to the connect that follows this initialize; they are never retained for later reconnects. Absent (older hosts, the Python SDK, browser clients): unchanged behaviour.
3989
+ */
3990
+ sdkMcpServerManifests?: Record<string, {
3991
+ /**
3992
+ * The server's verbatim JSON-RPC `initialize` result object (protocolVersion, capabilities, serverInfo, instructions, ...), exactly as the in-process server produced it when the host initialized it with no client capabilities — not re-serialized or schema-parsed by the host.
3993
+ */
3994
+ initializeResult: Record<string, unknown>;
3995
+ /**
3996
+ * The server's verbatim JSON-RPC `tools/list` result object. Omit when the initialize result does not advertise the tools capability, when the listing is paginated (nextCursor present), or when it could not be captured — the CLI then lists over the control channel as before.
3997
+ */
3998
+ toolsListResult?: Record<string, unknown>;
3999
+ }>;
3984
4000
  jsonSchema?: Record<string, unknown>;
3985
4001
  systemPrompt?: string[];
3986
4002
  appendSystemPrompt?: string;
3987
4003
  /**
3988
- * Record the conversation's system prompt once and reuse it verbatim on every later request and resume (recommended: true). Omitted: setting systemPrompt or appendSystemPrompt turns recording off so the appended text applies fresh each launch; only the bare claude_code preset is recorded. true: an existing record in the conversation is sent as-is (a later launch's different systemPrompt/appendSystemPrompt is ignored until compaction); otherwise the prompt is rendered with appendSystemPrompt included, sent, and recorded. false: never record. With a record, a mid-session model switch or set_settings agent/system-prompt change does not alter the prompt until compaction or a new session.
4004
+ * Record the conversation's system prompt once and reuse it verbatim on every later request and resume. Omitted or true (the default): the prompt is rendered on the first request, systemPrompt or appendSystemPrompt included, and the record is sent as-is afterwards — even when a later launch passes different text until compaction. false: never record; the prompt is rendered fresh every request. No effect where system-prompt recording is not yet enabled.
3989
4005
  */
3990
4006
  systemPromptSnapshot?: boolean;
3991
4007
  /**
@@ -4027,6 +4043,7 @@ declare type SDKControlInitializeRequest = {
4027
4043
  */
4028
4044
  plugins?: coreTypes.SdkPluginConfig[];
4029
4045
 
4046
+
4030
4047
  };
4031
4048
 
4032
4049
  /**
@@ -4057,6 +4074,7 @@ export declare type SDKControlInitializeResponse = {
4057
4074
 
4058
4075
 
4059
4076
 
4077
+
4060
4078
  fast_mode_state?: coreTypes.FastModeState;
4061
4079
  fast_mode_disabled_reason?: coreTypes.FastModeDisabledReason;
4062
4080
 
@@ -4178,6 +4196,9 @@ declare type SDKControlMcpReconnectRequest = {
4178
4196
  declare type SDKControlMcpSetServersRequest = {
4179
4197
  subtype: 'mcp_set_servers';
4180
4198
  servers: Record<string, coreTypes.McpServerConfigForProcessTransport>;
4199
+
4200
+
4201
+
4181
4202
  };
4182
4203
 
4183
4204
  /**
@@ -4353,6 +4374,8 @@ export declare type SDKControlRequest = {
4353
4374
  */
4354
4375
  request_id: string;
4355
4376
  request: SDKControlRequestInner;
4377
+
4378
+
4356
4379
  };
4357
4380
 
4358
4381
  declare type SDKControlRequestInner = SDKControlInterruptRequest | SDKControlPermissionRequest | SDKControlInitializeRequest | SDKControlSetPermissionModeRequest | SDKControlSetModelRequest | SDKControlSetMaxThinkingTokensRequest | SDKControlRenameSessionRequest | SDKControlSetColorRequest | SDKControlMcpStatusRequest | SDKControlGetContextUsageRequest | SDKControlGetSessionCostRequest | SDKControlListModelsRequest | SDKControlGetUsageRequest | SDKControlGetBinaryVersionRequest | SDKControlMcpCallRequest | SDKControlFileSuggestionsRequest | SDKHookCallbackRequest | SDKControlMcpMessageRequest | SDKControlRewindFilesRequest | SDKControlCancelAsyncMessageRequest | SDKControlReadFileRequest | SDKControlSeedReadStateRequest | SDKControlMcpSetServersRequest | SDKControlRegisterRepoRootRequest | SDKControlReloadPluginsRequest | SDKControlReloadSkillsRequest | SDKControlReloadOutputStylesRequest | SDKControlMcpReconnectRequest | SDKControlMcpToggleRequest | SDKControlStopTaskRequest | SDKControlBackgroundTasksRequest | SDKControlApplyFlagSettingsRequest | SDKControlGetSettingsRequest | SDKControlUpdateSettingsRequest | SDKControlElicitationRequest | SDKControlRequestUserDialogRequest;
@@ -4398,6 +4421,9 @@ declare type SDKControlRequestUserDialogRequest = {
4398
4421
  export declare type SDKControlResponse = {
4399
4422
  type: 'control_response';
4400
4423
  response: ControlResponse | ControlErrorResponse;
4424
+
4425
+
4426
+
4401
4427
  };
4402
4428
 
4403
4429
  /**
@@ -4834,11 +4860,11 @@ export declare type SDKPartialAssistantMessage = {
4834
4860
  session_id: string;
4835
4861
  ttft_ms?: number;
4836
4862
  /**
4837
- * Client uuid of the user message that triggered this turn (submitMessage options.uuid), stamped on the turn's FIRST non-ping stream event only (the frame that triggers the turn's initial ack) so a consumer can bind the reply stream to the send it answers without waiting for the result. Absent on every later stream event of the turn, on synthetic/scheduled (meta) turns, on turns without a client uuid, and from older producers.
4863
+ * Client uuid of the user message this turn is answering (submitMessage options.uuid), stamped on a non-ping stream event each time that send changes: the turn's FIRST non-ping stream event (normally the frame that triggers the turn's initial ack), and, for a turn started by a synthetic (meta) prompt, the first non-ping stream event after each queued user message folded in mid-turn takes the echo over (see SDKAssistantMessage.user_message_uuid for the rule) — so a consumer can bind the reply stream to the send it answers without waiting for the result. A turn started by a typed prompt stamps its first non-ping stream event only. Absent on every other stream event of the turn, on turns that neither had a client uuid nor folded a user message in, and from older producers.
4838
4864
  */
4839
4865
  user_message_uuid?: string;
4840
4866
  /**
4841
- * Client uuids of every user message whose prompt this turn has consumed so far, in consumption order — all members of a prompt batch the host merged into this one turn (several messages sent close together run as one turn whose user_message_uuid is the LAST member's), so a consumer that sent any of them can bind this reply to its own send by finding its uuid anywhere in the list. Always contains user_message_uuid; at most 64 entries. Present exactly when user_message_uuid is, on the same first non-ping stream event only; absent from older producers (fall back to user_message_uuid).
4867
+ * Client uuids of every user message whose prompt this turn has consumed so far, in consumption order — all members of a prompt batch the host merged into this one turn (several messages sent close together run as one turn whose user_message_uuid is the LAST member's), then any user message folded into the turn before this frame — so a consumer that sent any of them can bind this reply to its own send by finding its uuid anywhere in the list. Always contains user_message_uuid; at most 64 entries. Present exactly when user_message_uuid is, on the same frames; absent from older producers (fall back to user_message_uuid).
4842
4868
  */
4843
4869
  user_message_uuids?: string[];
4844
4870
  };
@@ -4981,8 +5007,9 @@ export declare type SDKResultError = {
4981
5007
  */
4982
5008
  queued_turn_count?: number;
4983
5009
  errors: string[];
5010
+
4984
5011
  /**
4985
- * Client uuid of the user message that triggered this turn (submitMessage options.uuid), echoed back so a consumer can link this error result to the send it answers — the same join key the success variant echoes, carried alone (error turns have no request_sent_wall_ms to report). A delivery-failure result from the remote-session client echoes the failed send's queue key, which is client-minted when the host sent no uuid of its own. Absent on synthetic/scheduled (meta) turns, on turns without a client uuid, on session-scoped failures with no single triggering send (a crashed worker's zeroed result), and from older producers.
5012
+ * Client uuid of the user message that triggered this turn (submitMessage options.uuid), echoed back so a consumer can link this error result to the send it answers — the same join key the success variant echoes, carried alone (error turns have no request_sent_wall_ms to report). A delivery-failure result from the remote-session client echoes the failed send's queue key, which is client-minted when the host sent no uuid of its own. A synthetic/scheduled (meta) turn's own uuid is echoed only when the host vouches it is the client event's own (delivered content such as a Slack owner ping or a Slack-bot observation); a meta turn that folded queued user messages in mid-turn, vouched or not, echoes the LAST of them. Absent on turns that neither had a client uuid nor folded a user message in, on session-scoped failures with no single triggering send (a crashed worker's zeroed result), and from older producers.
4986
5013
  */
4987
5014
  user_message_uuid?: string;
4988
5015
  /**
@@ -5153,6 +5180,7 @@ export declare type SDKSystemMessage = {
5153
5180
  * Where the credential used for API requests came from: 'ANTHROPIC_API_KEY' (environment variable), 'apiKeyHelper' (the configured helper command), '/login managed key' (an API key created and stored by /login with an Anthropic Console account), or 'none' (no API key in use - e.g. claude.ai OAuth login, a bearer token, or a third-party cloud provider). 'user' | 'project' | 'org' | 'temporary' | 'oauth' are legacy members that current CLIs never emit; they remain only so the type stays backward compatible.
5154
5181
  */
5155
5182
  apiKeySource: ApiKeySource;
5183
+
5156
5184
  betas?: string[];
5157
5185
  claude_code_version: string;
5158
5186
  cwd: string;
@@ -5322,7 +5350,7 @@ export declare type SDKThinkingTokensMessage = {
5322
5350
  estimated_tokens: number;
5323
5351
  estimated_tokens_delta: number;
5324
5352
  /**
5325
- * Client uuid of the user message that triggered this turn (submitMessage options.uuid), stamped on every thinking_tokens frame of a headless (stream-json / Agent SDK) turn so a consumer can attribute thinking progress to the send it answers before any reply frame arrives. Absent on synthetic/scheduled (meta) turns, on turns without a client uuid, on Remote Control (interactive terminal) sessions, and from older producers.
5353
+ * Client uuid of the user message that triggered this turn (submitMessage options.uuid), stamped on every thinking_tokens frame of a headless (stream-json / Agent SDK) turn so a consumer can attribute thinking progress to the send it answers before any reply frame arrives. On a synthetic/scheduled (meta) turn it names the last user message folded into the turn so far once one has been, else the turn's own uuid when the host vouches it is the client event's own (delivered content such as a Slack owner ping). Absent on turns that neither had a client uuid nor folded a user message in, on Remote Control (interactive terminal) sessions, and from older producers.
5326
5354
  */
5327
5355
  user_message_uuid?: string;
5328
5356
  uuid: UUID;
@@ -5378,6 +5406,30 @@ export declare type SDKUserMessage = {
5378
5406
  origin?: SDKMessageOrigin;
5379
5407
 
5380
5408
 
5409
+
5410
+
5411
+
5412
+
5413
+
5414
+
5415
+
5416
+
5417
+
5418
+
5419
+
5420
+
5421
+
5422
+
5423
+
5424
+
5425
+
5426
+
5427
+
5428
+
5429
+
5430
+
5431
+
5432
+
5381
5433
  /**
5382
5434
  * When false, the message is appended to the transcript without triggering an assistant turn. It will be merged into the next user message that does query.
5383
5435
  */
@@ -5411,6 +5463,7 @@ export declare type SDKUserMessage = {
5411
5463
  * Description of the subagent task that produced this message.
5412
5464
  */
5413
5465
  task_description?: string;
5466
+
5414
5467
  };
5415
5468
 
5416
5469
  export declare type SDKUserMessageReplay = {
@@ -5429,6 +5482,30 @@ export declare type SDKUserMessageReplay = {
5429
5482
  origin?: SDKMessageOrigin;
5430
5483
 
5431
5484
 
5485
+
5486
+
5487
+
5488
+
5489
+
5490
+
5491
+
5492
+
5493
+
5494
+
5495
+
5496
+
5497
+
5498
+
5499
+
5500
+
5501
+
5502
+
5503
+
5504
+
5505
+
5506
+
5507
+
5508
+
5432
5509
  /**
5433
5510
  * When false, the message is appended to the transcript without triggering an assistant turn. It will be merged into the next user message that does query.
5434
5511
  */
@@ -7595,7 +7672,7 @@ export declare interface Settings {
7595
7672
  */
7596
7673
  parentSettingsBehavior?: 'first-wins' | 'merge';
7597
7674
  /**
7598
- * Controls how the managed settings sources compose. "first-wins" (default): the highest-priority source present (server-managed > MDM (managed plist / HKLM) > managed-settings.json) is the managed tier alone. "merge": every present source deep-merges with fixed precedence server-managed > MDM > managed-settings.json — scalars take the highest source's value and arrays union, except fallbackModel, the restriction allowlists allowedMcpServers, availableModels, strictKnownMarketplaces and allowedChannelPlugins, and sandbox.credentials.awsPairs and sandbox.ripgrep (the highest source that sets one owns it whole), managedMcpServers (server names union; a name set by two sources takes the higher source's whole entry) and the auth pins forceLoginOrgUUID, forceLoginMethod and forceLoginGatewayUrl (highest source only). Honored only from the highest-priority source present; enable it only when every lower source is admin-controlled, since lower sources then contribute entries such as permissions.allow. HKCU and --managed-settings never take part in the merge.
7675
+ * Controls how the managed settings sources compose. "first-wins" (default): the highest-priority source present (server-managed > MDM (managed plist / HKLM) > managed-settings.json) is the managed tier alone. "merge": every present source deep-merges with fixed precedence server-managed > MDM > managed-settings.json — scalars take the highest source's value (a restrictive boolean or enum — the allowManaged*Only locks, the disable* switches, the sandbox lock family — takes the strictest value any source sets) and arrays union, except fallbackModel, the restriction allowlists allowedMcpServers, availableModels, strictKnownMarketplaces and allowedChannelPlugins, and sandbox.credentials.awsPairs and sandbox.ripgrep (the highest source that sets one owns it whole), modelOverrides (the whole map of the highest source that sets it, dropped when that source sits below the one that sets availableModels), managedMcpServers (server names union; a name set by two sources takes the higher source's whole entry), and the keys taken from the highest source only: the auth pins forceLoginOrgUUID, forceLoginMethod and forceLoginGatewayUrl, the credential helpers apiKeyHelper, awsAuthRefresh, awsCredentialExport, gcpAuthRefresh, otelHeadersHelper and proxyAuthHelper, modelPicker, permissions.defaultMode, parentSettingsBehavior and the policyHelper configuration (env keeps its own per-key union). Honored only from the highest-priority source present; enable it only when every lower source is admin-controlled, since lower sources then contribute entries such as permissions.allow. HKCU and --managed-settings never take part in the merge.
7599
7676
  */
7600
7677
  managedSourcesBehavior?: 'first-wins' | 'merge';
7601
7678
  /**