@anthropic-ai/claude-agent-sdk 0.3.211 → 0.3.213

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,47 +1,47 @@
1
1
  {
2
- "version": "2.1.211",
3
- "commit": "17a4b6d7b2ee1936b95e595054c7e7d38fddafb7",
4
- "buildDate": "2026-07-15T16:42:49Z",
2
+ "version": "2.1.213",
3
+ "commit": "0cb94a506376a17c1cfb782bf57aa9e00c02e9da",
4
+ "buildDate": "2026-07-17T21:09:37Z",
5
5
  "platforms": {
6
6
  "darwin-arm64": {
7
7
  "binary": "claude",
8
- "checksum": "5a728a76198b6eca7f3c7cdbff43bab44b77b48c2108f7a3107d889773382629",
9
- "size": 242445680
8
+ "checksum": "21ae9705d81d071e1fd7bbf5c99508bbf59e3e7202f59582e6e5e51a3db43fbc",
9
+ "size": 247091504
10
10
  },
11
11
  "darwin-x64": {
12
12
  "binary": "claude",
13
- "checksum": "33049eb14cf4702b992b7eda41ec077fc6e76539f7fd046e6d32538757235da4",
14
- "size": 251966736
13
+ "checksum": "53007095add4b16e5b028a20a9c096ae35ae7ef2d0af81dc38511bf3160fae39",
14
+ "size": 256507024
15
15
  },
16
16
  "linux-arm64": {
17
17
  "binary": "claude",
18
- "checksum": "1fff7e8f947c07b19d10b1fbf714b7e547e9536253b9b58230d8adbc4624f867",
19
- "size": 258849520
18
+ "checksum": "b4d9fad8d16f1f4c25da4718ebfb824c7e244da4eb325076f3ed1b7489f1440c",
19
+ "size": 261995424
20
20
  },
21
21
  "linux-x64": {
22
22
  "binary": "claude",
23
- "checksum": "8272c8a474ac9ea1bc35f19b9f7c7e7dc4dc4eb6d5ad3e484b19335ac72446b2",
24
- "size": 262023992
23
+ "checksum": "7999631426e1b6e4444e4ecf9cd8a63a05a0411ccfe503927d4c9d57bc41bc64",
24
+ "size": 265206768
25
25
  },
26
26
  "linux-arm64-musl": {
27
27
  "binary": "claude",
28
- "checksum": "ca094a85ea464b2ebec2ecfcc9e2c056573d4ca95ebe12ffae2c7dccb722e17b",
29
- "size": 252097720
28
+ "checksum": "8d686b38557f784b6fd027406bcc1737a57a8e527471654fe3f4eacd0ed831a3",
29
+ "size": 255243624
30
30
  },
31
31
  "linux-x64-musl": {
32
32
  "binary": "claude",
33
- "checksum": "c99bd7934ac841d5be6ee7d3644cb63bccef2cd495c6c1bb982a1b1deac1b466",
34
- "size": 256680320
33
+ "checksum": "b9b1eeee76734ba33384e729be01b329fbf924aa121282396f7fd5e31150e829",
34
+ "size": 259834448
35
35
  },
36
36
  "win32-x64": {
37
37
  "binary": "claude.exe",
38
- "checksum": "3d8509ae7de11d77dbdc711aa320fc6d5064ce795464a8670696611b57093caf",
39
- "size": 253293728
38
+ "checksum": "c4cb68bcf4c440964854cd42a585c5b1b99d090a59ced1c49bfe6709a429dde8",
39
+ "size": 256217248
40
40
  },
41
41
  "win32-arm64": {
42
42
  "binary": "claude.exe",
43
- "checksum": "a0f9bab0dbdda9b43a8765d54e329e44484d9dd7d4f40cf31db6eee27a2da41c",
44
- "size": 247643808
43
+ "checksum": "11dec255633e6f28b7860f0827a309a0c446aa04a2a0b93124b974050ada9ac7",
44
+ "size": 250592928
45
45
  }
46
46
  },
47
47
  "sdkCompat": {
@@ -58,6 +58,7 @@
58
58
  "0.3.196",
59
59
  "0.3.197",
60
60
  "0.3.198",
61
+ "0.3.200",
61
62
  "0.3.201",
62
63
  "0.3.202",
63
64
  "0.3.204",
package/manifest.zst.json CHANGED
@@ -1,55 +1,55 @@
1
1
  {
2
- "version": "2.1.211",
3
- "commit": "17a4b6d7b2ee1936b95e595054c7e7d38fddafb7",
4
- "buildDate": "2026-07-15T16:44:23Z",
2
+ "version": "2.1.213",
3
+ "commit": "0cb94a506376a17c1cfb782bf57aa9e00c02e9da",
4
+ "buildDate": "2026-07-17T21:11:40Z",
5
5
  "platforms": {
6
6
  "darwin-arm64": {
7
7
  "binary": "claude.zst",
8
- "checksum": "96e6bc497e39cecdb63ac449f26d3eca54870e1d73fe4664c816f5e38440112e",
9
- "size": 49913141,
8
+ "checksum": "03adc5431aa90a45af3dbf2d7c7f7b834985e8ad51ef285df402ab19b52ef71c",
9
+ "size": 51095888,
10
10
  "bundle": {
11
- "checksum": "6d0cabcaee7f2fdc7c37a14eacd5cffaafaf6fb16d59225c464de426d4634bb4",
12
- "size": 49917482
11
+ "checksum": "ad5e39770ff997271a683b12a5e26d2a2c6d2acb63e190fab404c28f02eca530",
12
+ "size": 51109732
13
13
  }
14
14
  },
15
15
  "darwin-x64": {
16
16
  "binary": "claude.zst",
17
- "checksum": "bec7a90b476f28af6d572f07dc553b75bd31215ef13ac470fec30e23636444ee",
18
- "size": 54366611,
17
+ "checksum": "7768f3b73319c9021fc54b493140ab165b6e1096f13a0af19c1686b2b2382964",
18
+ "size": 55511867,
19
19
  "bundle": {
20
- "checksum": "d97f221e917e337911e2b6b0897b22fd2361428627b6e0324e0561218858c6d4",
21
- "size": 54363292
20
+ "checksum": "055e74c69ec208b26a9a5ac4fa2b05a8cca147e233b13e609aadcd468a554de2",
21
+ "size": 55516320
22
22
  }
23
23
  },
24
24
  "linux-arm64": {
25
25
  "binary": "claude.zst",
26
- "checksum": "d9c04a9c1ce0e795c9e6de00bb77415fcdd291d2c9e2ef26f9c6d86cb666ddf3",
27
- "size": 58963439
26
+ "checksum": "622ab983025357ff61c596b534dc5e8f9ac865e290b8ae405e1b5d9997637687",
27
+ "size": 59892220
28
28
  },
29
29
  "linux-x64": {
30
30
  "binary": "claude.zst",
31
- "checksum": "f90ff81999ed7d0b509db2a750d1f148d4814eef44cea68ed99c315b02672b6c",
32
- "size": 60275709
31
+ "checksum": "e6dbb95c1442c42502f09376379e66cea25329a4b7f90da2cba3a36698b56c96",
32
+ "size": 61177833
33
33
  },
34
34
  "linux-arm64-musl": {
35
35
  "binary": "claude.zst",
36
- "checksum": "4435a40b0ec723721a4f974d0afc26877576228ba40368f51f6ae7ef08221dac",
37
- "size": 57686071
36
+ "checksum": "2941bddf3dc34ec53d719ea6a20689b878c26b85c0dbb3b84a721b33bb49e4c9",
37
+ "size": 58545838
38
38
  },
39
39
  "linux-x64-musl": {
40
40
  "binary": "claude.zst",
41
- "checksum": "1b10c1ff37f4aa689c0d87ab929e01b4ecc945f9434767f0ec3b125e217863e3",
42
- "size": 59054974
41
+ "checksum": "bb529d4cb52ab574a646ef3a1acba1978ca66d7a6e866ab31c8730e8f5b16744",
42
+ "size": 59977021
43
43
  },
44
44
  "win32-x64": {
45
45
  "binary": "claude.exe.zst",
46
- "checksum": "34f136939b7df0a1eca476f58ec8ba00621926963a76f1db8aa132b21042fe2b",
47
- "size": 60660958
46
+ "checksum": "a4943d1f718f7b0dd334ef9d2aa4ba40ab99955febd4fe06f14abc74e421939f",
47
+ "size": 61316825
48
48
  },
49
49
  "win32-arm64": {
50
50
  "binary": "claude.exe.zst",
51
- "checksum": "c923a9f914d8667443e8f4ba9ae09c6a674dd0c27f3360cdf0082c9fa28259b3",
52
- "size": 58633026
51
+ "checksum": "881e3bf4797a8f691c10dcec757de566109973c366eb04590c050c5402d36825",
52
+ "size": 59303495
53
53
  }
54
54
  },
55
55
  "sdkCompat": {
@@ -66,6 +66,7 @@
66
66
  "0.3.196",
67
67
  "0.3.197",
68
68
  "0.3.198",
69
+ "0.3.200",
69
70
  "0.3.201",
70
71
  "0.3.202",
71
72
  "0.3.204",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anthropic-ai/claude-agent-sdk",
3
- "version": "0.3.211",
3
+ "version": "0.3.213",
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.211",
61
- "@anthropic-ai/claude-agent-sdk-linux-arm64": "0.3.211",
62
- "@anthropic-ai/claude-agent-sdk-linux-x64-musl": "0.3.211",
63
- "@anthropic-ai/claude-agent-sdk-linux-arm64-musl": "0.3.211",
64
- "@anthropic-ai/claude-agent-sdk-darwin-x64": "0.3.211",
65
- "@anthropic-ai/claude-agent-sdk-darwin-arm64": "0.3.211",
66
- "@anthropic-ai/claude-agent-sdk-win32-x64": "0.3.211",
67
- "@anthropic-ai/claude-agent-sdk-win32-arm64": "0.3.211"
60
+ "@anthropic-ai/claude-agent-sdk-linux-x64": "0.3.213",
61
+ "@anthropic-ai/claude-agent-sdk-linux-arm64": "0.3.213",
62
+ "@anthropic-ai/claude-agent-sdk-linux-x64-musl": "0.3.213",
63
+ "@anthropic-ai/claude-agent-sdk-linux-arm64-musl": "0.3.213",
64
+ "@anthropic-ai/claude-agent-sdk-darwin-x64": "0.3.213",
65
+ "@anthropic-ai/claude-agent-sdk-darwin-arm64": "0.3.213",
66
+ "@anthropic-ai/claude-agent-sdk-win32-x64": "0.3.213",
67
+ "@anthropic-ai/claude-agent-sdk-win32-arm64": "0.3.213"
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.211"
83
+ "claudeCodeVersion": "2.1.213"
84
84
  }
package/sdk-tools.d.ts CHANGED
@@ -30,6 +30,7 @@ export type ToolInputSchemas =
30
30
  | WebFetchInput
31
31
  | WebSearchInput
32
32
  | AskUserQuestionInput
33
+ | SendFeedbackInput
33
34
  | ClaudeDesignInput
34
35
  | ProjectsInput
35
36
  | EnterPlanModeInput
@@ -46,6 +47,7 @@ export type ToolInputSchemas =
46
47
  | RemoteTriggerInput
47
48
  | ShowOnboardingRolePickerInput
48
49
  | MonitorInput
50
+ | ProposeSkillsInput
49
51
  | ArtifactInput
50
52
  | PushNotificationInput
51
53
  | EnterWorktreeInput
@@ -72,6 +74,7 @@ export type ToolOutputSchemas =
72
74
  | WebFetchOutput
73
75
  | WebSearchOutput
74
76
  | AskUserQuestionOutput
77
+ | SendFeedbackOutput
75
78
  | EnterWorktreeOutput
76
79
  | ExitWorktreeOutput
77
80
  | TaskCreateOutput
@@ -83,6 +86,7 @@ export type ToolOutputSchemas =
83
86
  | ShowOnboardingRolePickerOutput
84
87
  | ScheduleWakeupOutput
85
88
  | MonitorOutput
89
+ | ProposeSkillsOutput
86
90
  | EnterPlanModeOutput
87
91
  | REPLOutput
88
92
  | WorkflowOutput
@@ -102,6 +106,7 @@ export type AgentOutput =
102
106
  citations?: unknown[] | null;
103
107
  }[];
104
108
  resolvedModel?: string;
109
+ modelsUsed?: string[];
105
110
  totalToolUseCount: number;
106
111
  totalDurationMs: number;
107
112
  totalTokens: number;
@@ -150,9 +155,13 @@ export type AgentOutput =
150
155
  */
151
156
  description: string;
152
157
  /**
153
- * Model the spawn resolved (may differ from the requested one)
158
+ * Model in use at the backgrounding transition (a pre-background swap is reflected here)
154
159
  */
155
160
  resolvedModel?: string;
161
+ /**
162
+ * Ordered distinct models used before backgrounding (length > 1 means a mid-run swap)
163
+ */
164
+ modelsUsed?: string[];
156
165
  /**
157
166
  * The prompt for the agent
158
167
  */
@@ -501,7 +510,7 @@ export interface AgentInput {
501
510
  */
502
511
  team_name?: string;
503
512
  /**
504
- * Permission mode for spawned teammate (e.g., "plan" to require plan approval).
513
+ * Deprecated; ignored. Subagents inherit the parent session's permission mode; agent-definition frontmatter may override it.
505
514
  */
506
515
  mode?: "acceptEdits" | "auto" | "bypassPermissions" | "default" | "dontAsk" | "plan" | "bubble";
507
516
  /**
@@ -779,6 +788,10 @@ export interface ReportFindingsInput {
779
788
  * One-sentence statement of the defect
780
789
  */
781
790
  summary: string;
791
+ /**
792
+ * Compressed label for compact UI (≤60 chars): the claim alone, no rationale or consequence clause
793
+ */
794
+ short_summary?: string;
782
795
  /**
783
796
  * Concrete inputs/state → wrong output/crash
784
797
  */
@@ -2408,6 +2421,24 @@ export interface AskUserQuestionInput {
2408
2421
  source?: string;
2409
2422
  };
2410
2423
  }
2424
+ export interface SendFeedbackInput {
2425
+ /**
2426
+ * What kind of feedback this is.
2427
+ */
2428
+ type: "bug" | "idea" | "missing_capability";
2429
+ /**
2430
+ * Short, specific one-line summary of the issue.
2431
+ */
2432
+ title: string;
2433
+ /**
2434
+ * Factual, reproducible report: what was attempted, what happened, exact error text if short, repro steps. No speculation, no secrets.
2435
+ */
2436
+ details: string;
2437
+ /**
2438
+ * Optional short tag naming the part of Claude Code this is about (e.g. "hooks config", "/help", "file editing"). Leave blank if unclear.
2439
+ */
2440
+ area?: string;
2441
+ }
2411
2442
  export interface ClaudeDesignInput {
2412
2443
  /**
2413
2444
  * Claude Design action to perform. Call with "list" first to discover the available operations and their argument schemas.
@@ -2643,6 +2674,157 @@ export interface MonitorInput {
2643
2674
  protocols?: string[];
2644
2675
  };
2645
2676
  }
2677
+ export interface ProposeSkillsInput {
2678
+ /**
2679
+ * @minItems 1
2680
+ * @maxItems 3
2681
+ */
2682
+ proposals:
2683
+ | [
2684
+ {
2685
+ /**
2686
+ * kebab-case skill slug
2687
+ */
2688
+ name: string;
2689
+ kind: "new" | "improvement";
2690
+ /**
2691
+ * Existing skill name to amend. Required when kind is 'improvement'; omit for 'new'.
2692
+ */
2693
+ target?: string;
2694
+ /**
2695
+ * one line shown on the card
2696
+ */
2697
+ description: string;
2698
+ /**
2699
+ * memory file paths where this procedure was observed
2700
+ */
2701
+ evidence?: string[];
2702
+ /**
2703
+ * complete SKILL.md draft (frontmatter + Trigger/Steps/Verification body)
2704
+ */
2705
+ skillMd: string;
2706
+ }
2707
+ ]
2708
+ | [
2709
+ {
2710
+ /**
2711
+ * kebab-case skill slug
2712
+ */
2713
+ name: string;
2714
+ kind: "new" | "improvement";
2715
+ /**
2716
+ * Existing skill name to amend. Required when kind is 'improvement'; omit for 'new'.
2717
+ */
2718
+ target?: string;
2719
+ /**
2720
+ * one line shown on the card
2721
+ */
2722
+ description: string;
2723
+ /**
2724
+ * memory file paths where this procedure was observed
2725
+ */
2726
+ evidence?: string[];
2727
+ /**
2728
+ * complete SKILL.md draft (frontmatter + Trigger/Steps/Verification body)
2729
+ */
2730
+ skillMd: string;
2731
+ },
2732
+ {
2733
+ /**
2734
+ * kebab-case skill slug
2735
+ */
2736
+ name: string;
2737
+ kind: "new" | "improvement";
2738
+ /**
2739
+ * Existing skill name to amend. Required when kind is 'improvement'; omit for 'new'.
2740
+ */
2741
+ target?: string;
2742
+ /**
2743
+ * one line shown on the card
2744
+ */
2745
+ description: string;
2746
+ /**
2747
+ * memory file paths where this procedure was observed
2748
+ */
2749
+ evidence?: string[];
2750
+ /**
2751
+ * complete SKILL.md draft (frontmatter + Trigger/Steps/Verification body)
2752
+ */
2753
+ skillMd: string;
2754
+ }
2755
+ ]
2756
+ | [
2757
+ {
2758
+ /**
2759
+ * kebab-case skill slug
2760
+ */
2761
+ name: string;
2762
+ kind: "new" | "improvement";
2763
+ /**
2764
+ * Existing skill name to amend. Required when kind is 'improvement'; omit for 'new'.
2765
+ */
2766
+ target?: string;
2767
+ /**
2768
+ * one line shown on the card
2769
+ */
2770
+ description: string;
2771
+ /**
2772
+ * memory file paths where this procedure was observed
2773
+ */
2774
+ evidence?: string[];
2775
+ /**
2776
+ * complete SKILL.md draft (frontmatter + Trigger/Steps/Verification body)
2777
+ */
2778
+ skillMd: string;
2779
+ },
2780
+ {
2781
+ /**
2782
+ * kebab-case skill slug
2783
+ */
2784
+ name: string;
2785
+ kind: "new" | "improvement";
2786
+ /**
2787
+ * Existing skill name to amend. Required when kind is 'improvement'; omit for 'new'.
2788
+ */
2789
+ target?: string;
2790
+ /**
2791
+ * one line shown on the card
2792
+ */
2793
+ description: string;
2794
+ /**
2795
+ * memory file paths where this procedure was observed
2796
+ */
2797
+ evidence?: string[];
2798
+ /**
2799
+ * complete SKILL.md draft (frontmatter + Trigger/Steps/Verification body)
2800
+ */
2801
+ skillMd: string;
2802
+ },
2803
+ {
2804
+ /**
2805
+ * kebab-case skill slug
2806
+ */
2807
+ name: string;
2808
+ kind: "new" | "improvement";
2809
+ /**
2810
+ * Existing skill name to amend. Required when kind is 'improvement'; omit for 'new'.
2811
+ */
2812
+ target?: string;
2813
+ /**
2814
+ * one line shown on the card
2815
+ */
2816
+ description: string;
2817
+ /**
2818
+ * memory file paths where this procedure was observed
2819
+ */
2820
+ evidence?: string[];
2821
+ /**
2822
+ * complete SKILL.md draft (frontmatter + Trigger/Steps/Verification body)
2823
+ */
2824
+ skillMd: string;
2825
+ }
2826
+ ];
2827
+ }
2646
2828
  export interface ArtifactInput {
2647
2829
  /**
2648
2830
  * Omit (or 'publish') to publish file_path. 'list' enumerates artifacts — the user's own by default, see `scope`; only `limit` and `scope` may accompany it.
@@ -2681,7 +2863,7 @@ export interface ArtifactInput {
2681
2863
  */
2682
2864
  url?: string;
2683
2865
  /**
2684
- * Overwrite without a conflict check. Use only after a 409 when you have reconciled with the other session's version and intend to replace it. Omit (or false) to send baseVersion so a concurrent write 409s instead of being silently clobbered.
2866
+ * Overwrite without a conflict check. Use only after a 409 when you have reconciled with the other session's version and intend to replace it. The tracked baseVersion is always sent; with force:true the server treats it as informational and overwrites. Omit (or false) so a concurrent write 409s instead of being silently clobbered.
2685
2867
  */
2686
2868
  force?: boolean;
2687
2869
  }
@@ -3101,6 +3283,10 @@ export interface ReportFindingsOutput {
3101
3283
  * One-sentence statement of the defect
3102
3284
  */
3103
3285
  summary: string;
3286
+ /**
3287
+ * Compressed label for compact UI (≤60 chars): the claim alone, no rationale or consequence clause
3288
+ */
3289
+ short_summary?: string;
3104
3290
  /**
3105
3291
  * Concrete inputs/state → wrong output/crash
3106
3292
  */
@@ -3393,6 +3579,10 @@ export interface AskUserQuestionOutput {
3393
3579
  */
3394
3580
  afkTimeoutMs?: number;
3395
3581
  }
3582
+ export interface SendFeedbackOutput {
3583
+ success: boolean;
3584
+ message: string;
3585
+ }
3396
3586
  export interface EnterWorktreeOutput {
3397
3587
  worktreePath: string;
3398
3588
  worktreeBranch?: string;
@@ -3488,6 +3678,12 @@ export interface MonitorOutput {
3488
3678
  */
3489
3679
  persistent?: boolean;
3490
3680
  }
3681
+ export interface ProposeSkillsOutput {
3682
+ /**
3683
+ * Number of proposals shown on the review card
3684
+ */
3685
+ proposalCount: number;
3686
+ }
3491
3687
  export interface EnterPlanModeOutput {
3492
3688
  /**
3493
3689
  * Confirmation that plan mode was entered
package/sdk.d.ts CHANGED
@@ -29,7 +29,7 @@ export declare type AccountInfo = {
29
29
  /**
30
30
  * Active API backend. Anthropic OAuth login only applies when "firstParty"; for 3P providers the other fields are absent and auth is external (AWS creds, gcloud ADC, etc.). "gateway" means the CLI is authenticated against an enterprise gateway.
31
31
  */
32
- apiProvider?: 'firstParty' | 'bedrock' | 'vertex' | 'foundry' | 'anthropicAws' | 'mantle' | 'gateway';
32
+ apiProvider?: 'firstParty' | 'bedrock' | 'vertex' | 'foundry' | 'anthropicAws' | 'anthropicGoogleCloud' | 'mantle' | 'gateway';
33
33
  };
34
34
 
35
35
  /**
@@ -251,6 +251,18 @@ export declare type CanUseTool = (toolName: string, input: Record<string, unknow
251
251
  * must echo this value for the worker to match it.
252
252
  */
253
253
  requestId: string;
254
+ /**
255
+ * Set when a user-configured ask RULE (permissions.ask) forced this
256
+ * prompt while the ask carries the tool's own decisionReason. Hosts
257
+ * making policy on the reason (e.g. auto-deny a safetyCheck) or
258
+ * running host-side auto-approval should treat asks carrying this
259
+ * field as rule-forced: the user's stated intent is a human prompt.
260
+ */
261
+ matchedAskRule?: {
262
+ source: string;
263
+ toolName: string;
264
+ ruleContent?: string;
265
+ };
254
266
  }) => Promise<PermissionResult | null>;
255
267
 
256
268
  export declare type ConfigChangeHookInput = BaseHookInput & {
@@ -2326,9 +2338,13 @@ export declare interface Query extends AsyncGenerator<SDKMessage, void> {
2326
2338
  *
2327
2339
  * @param settings - A partial settings object to merge into the flag settings.
2328
2340
  * Each top-level key also accepts `null` to clear it from the flag layer.
2341
+ * `effortLevel` additionally accepts `'max'`, which is session-scoped: it
2342
+ * applies for the rest of the session on models that support it and is
2343
+ * never persisted to settings files (the persisted
2344
+ * {@link Settings.effortLevel} excludes it for that reason).
2329
2345
  */
2330
2346
  applyFlagSettings(settings: {
2331
- [K in keyof Settings]?: Settings[K] | null;
2347
+ [K in keyof Settings]?: K extends 'effortLevel' ? EffortLevel | null : Settings[K] | null;
2332
2348
  }): Promise<void>;
2333
2349
  /**
2334
2350
  * Get the full initialization result, including supported commands, models,
@@ -2816,6 +2832,10 @@ export declare type SDKAssistantMessage = {
2816
2832
  * Wire uuids of previously-delivered messages that this message replaces (refusal-fallback supersede). The list can include tombstoned tool_result frames from the refused leg, not only assistant frames. Evict the named messages on arrival and treat this frame as their canonical replacement. Idempotent with the end-of-turn model_refusal_fallback notice, whose retracted_message_uuids remains the complete audit record for the turn.
2817
2833
  */
2818
2834
  supersedes?: UUID[];
2835
+ /**
2836
+ * True when this assistant message was truncated by an interrupt/abort before the stream completed: stop_reason was never received and the content may end mid-word. Absent on normally completed messages.
2837
+ */
2838
+ aborted?: true;
2819
2839
  /**
2820
2840
  * Subagent type that produced this message.
2821
2841
  */
@@ -3536,22 +3556,37 @@ declare type SDKControlPermissionRequest = {
3536
3556
  input: Record<string, unknown>;
3537
3557
  permission_suggestions?: coreTypes.PermissionUpdate[];
3538
3558
  blocked_path?: string;
3559
+ /**
3560
+ * Human-readable reason the ask escalated, for the consent line of the host's dialog. For decision_reason_type "subcommandResults" (compound bash), this is the NESTED safety check's warning text — the wrapper itself has no text — preferring a check that requires manual approval (classifier_approvable false); treat it with the same display/policy care as a "safetyCheck" reason. May carry ANSI escapes; sanitize before rendering.
3561
+ */
3539
3562
  decision_reason?: string;
3540
3563
  /**
3541
- * Structured discriminator for why auto-mode escalated. Lets SDK hosts make policy (e.g. auto-deny safetyCheck) without parsing decision_reason text. For compound bash commands this is "subcommandResults" even when a safetyCheck is nested inside — check classifier_approvable for that case.
3564
+ * Structured discriminator for why auto-mode escalated. Lets SDK hosts make policy (e.g. auto-deny safetyCheck) without parsing decision_reason text. For compound bash commands this is "subcommandResults" even when a safetyCheck is nested inside — check classifier_approvable for that case, and see decision_reason: for this variant it carries the nested safety check's warning text.
3542
3565
  */
3543
3566
  decision_reason_type?: 'rule' | 'mode' | 'subcommandResults' | 'permissionPromptTool' | 'hook' | 'asyncAgent' | 'sandboxOverride' | 'workingDir' | 'safetyCheck' | 'classifier' | 'other';
3544
3567
  /**
3545
3568
  * Set when a safetyCheck is present anywhere in the decision reason (including nested inside subcommandResults for compound bash). false = at least one safety check requires manual approval (e.g. Windows path bypass, dangerous rm); true = all safety checks MAY be classifier-approved (e.g. sensitive-file paths). Absent when no safetyCheck is involved.
3546
3569
  */
3547
3570
  classifier_approvable?: boolean;
3571
+ /**
3572
+ * True when the dialog must not offer the persistent "don't ask again" row for this ask: accepting it would write a whole-tool allow rule broader than the ask's own verb (PermissionAskDecision.suppressAlwaysAllowRule). Hosts rendering approve options should omit any persistent-rule affordance when set.
3573
+ */
3574
+ suppress_always_allow_rule?: boolean;
3575
+ /**
3576
+ * Set when a user-configured ask RULE (permissions.ask) forced this prompt but the ask carries the tool's own decision_reason — the ask-rule substitution keeps the richer tool-minted ask, so the rule rides here instead of decision_reason_type 'rule'. Hosts making policy on decision_reason_type (e.g. auto-deny safetyCheck) or running host-side auto-approval should treat asks carrying this field as rule-forced: the user's stated intent is a human prompt. Values are producer-authored but render-unsafe like decision_reason; sanitize before display.
3577
+ */
3578
+ matched_ask_rule?: {
3579
+ source: string;
3580
+ tool_name: string;
3581
+ rule_content?: string;
3582
+ };
3548
3583
  title?: string;
3549
3584
  display_name?: string;
3550
3585
  tool_use_id: string;
3551
3586
  agent_id?: string;
3552
3587
  description?: string;
3553
3588
  /**
3554
- * True when the tool's approval card IS the user-interaction surface (Tool.requiresUserInteraction()). SDK hosts must not offer one-tap Approve/Deny for these the user has to open the session and respond on the card itself.
3589
+ * True when one-tap Approve/Deny must not be offered: the tool's approval card IS the user-interaction surface (Tool.requiresUserInteraction() — the user responds on the card itself), OR the pending ask is localDisplayOnly (its consent disclosure cannot ride this wire and only the local dialog renders it). Either way the user has to open the session to answer.
3555
3590
  */
3556
3591
  requires_user_interaction?: boolean;
3557
3592
  };
@@ -3610,6 +3645,10 @@ export declare type SDKControlReloadPluginsResponse = {
3610
3645
  name: string;
3611
3646
  path: string;
3612
3647
  source?: string;
3648
+ /**
3649
+ * The plugin's version as declared in its plugin.json manifest, emitted verbatim (plugin-author-controlled — validate before trusting). Omitted when the manifest declares no version.
3650
+ */
3651
+ version?: string;
3613
3652
  }[];
3614
3653
  mcpServers: coreTypes.McpServerStatus[];
3615
3654
  error_count: number;
@@ -3726,6 +3765,7 @@ declare type SDKControlSetMaxThinkingTokensRequest = {
3726
3765
  declare type SDKControlSetModelRequest = {
3727
3766
  subtype: 'set_model';
3728
3767
  model?: string;
3768
+
3729
3769
  };
3730
3770
 
3731
3771
  /**
@@ -3957,6 +3997,10 @@ export declare type SDKMessageOrigin = {
3957
3997
  body?: string;
3958
3998
  } | {
3959
3999
  kind: 'task-notification';
4000
+ /**
4001
+ * Present when the delivery is the fired stored prompt of a scheduled task/routine (stamped from server-asserted provenance; the schedule attests storage, not authorship). The harness frames it as the session's assigned task instead of the generic background-notification frame. Absent on webhook, PR-steward, plugin, and background-event deliveries.
4002
+ */
4003
+ subkind?: 'scheduled-trigger';
3960
4004
  } | {
3961
4005
  kind: 'coordinator';
3962
4006
  } | {
@@ -4330,6 +4374,10 @@ export declare type SDKSystemMessage = {
4330
4374
  name: string;
4331
4375
  path: string;
4332
4376
 
4377
+ /**
4378
+ * The plugin's version as declared in its plugin.json manifest, emitted verbatim (plugin-author-controlled — validate before trusting). Omitted when the manifest declares no version.
4379
+ */
4380
+ version?: string;
4333
4381
  }[];
4334
4382
 
4335
4383
 
@@ -4449,6 +4497,16 @@ export declare type SDKToolProgressMessage = {
4449
4497
  task_id?: string;
4450
4498
  uuid: UUID;
4451
4499
  session_id: string;
4500
+ heartbeat?: boolean;
4501
+ subagent_type?: string;
4502
+ subagent_retry?: {
4503
+ agent_id: string;
4504
+ attempt: number;
4505
+ max_retries: number;
4506
+ retry_delay_ms: number;
4507
+ error_status: number | null;
4508
+ error_category: string;
4509
+ };
4452
4510
  };
4453
4511
 
4454
4512
  export declare type SDKToolUseSummaryMessage = {
@@ -4637,7 +4695,7 @@ export declare type SessionMutationOptions = {
4637
4695
 
4638
4696
  export declare type SessionStartHookInput = BaseHookInput & {
4639
4697
  hook_event_name: 'SessionStart';
4640
- source: 'startup' | 'resume' | 'clear' | 'compact';
4698
+ source: 'startup' | 'resume' | 'clear' | 'compact' | 'fork';
4641
4699
  agent_type?: string;
4642
4700
  model?: string;
4643
4701
  session_title?: string;
@@ -6142,6 +6200,10 @@ export declare interface Settings {
6142
6200
  * Probability (0–1) that the session quality survey appears when eligible. 0.05 is a reasonable starting point.
6143
6201
  */
6144
6202
  feedbackSurveyRate?: number;
6203
+ /**
6204
+ * Model-drafted feedback (the SendFeedback tool). "notify" (default) shows a one-line notice when a draft is queued; "quiet" shows only the footer counter; "off" disables the tool entirely so drafts are never queued.
6205
+ */
6206
+ feedbackDrafts?: 'notify' | 'quiet' | 'off';
6145
6207
  /**
6146
6208
  * Whether to show tips in the spinner
6147
6209
  */