SDK for building AI agents with Claude Code's capabilities. Programmatically interact with Claude to build autonomous agents that can understand codebases, edit files, and execute workflows.
Last release today
26 Aug 2026
Ships on a steady schedule
a new release about every 8 days
Nearly every release is documented
notes for 262 of 279 stable releases
Nothing withdrawn
no release was ever pulled
11 months old
279 releases · first in 2025
Release timeline
279 releases since 20252026
Releases
- 0.3.24726 Aug 2026
Release notes
Open source →What's changed
- Added an optional
ambientflag totask_started,task_notificationandbackground_tasks_changedtask entries so hosts can exclude housekeeping tasks from activity indicators - Fixed the
permissionModeon per-turnsystem/initframes reporting the mode at turn start instead of the live mode, so a mode switch right after submitting no longer sends a stale value
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]
Release notes
Open source →- Added an optional
ambientflag totask_started,task_notificationandbackground_tasks_changedtask entries so hosts can exclude housekeeping tasks from activity indicators - Fixed the
permissionModeon per-turnsystem/initframes reporting the mode at turn start instead of the live mode, so a mode switch right after submitting no longer sends a stale value
- Added an optional
- 0.3.24625 Aug 2026
Release notes
Open source →What's changed
- Added optional
user_message_uuidto error result messages and to the first assistant message orstream_eventof each turn, linking a reply or failure to the user message that triggered it - Added
modelUsage[*].costBasis('list' | 'managed' | 'unknown') reporting which price table each model'scostUSDwas computed from - Added
modelPricingsupport in themanagedSettingsoption for hosts that setCLAUDE_CODE_PROVIDER_MANAGED_BY_HOST; an admin-managed settings source that setsmodelPricingstill wins - Added
perTaskStopAffordanceoption: when set,interrupt()aborts only the current turn and keeps background agents and workflows running; otherwise (and for one-shot string prompts) they stop
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]
Release notes
Open source →- Added optional
user_message_uuidto error result messages and to the first assistant message orstream_eventof each turn, linking a reply or failure to the user message that triggered it - Added
modelUsage[*].costBasis('list' | 'managed' | 'unknown') reporting which price table each model'scostUSDwas computed from - Added
modelPricingsupport in themanagedSettingsoption for hosts that setCLAUDE_CODE_PROVIDER_MANAGED_BY_HOST; an admin-managed settings source that setsmodelPricingstill wins - Added
perTaskStopAffordanceoption: when set,interrupt()aborts only the current turn and keeps background agents and workflows running; otherwise (and for one-shot string prompts) they stop
- Added optional
- 0.3.24525 Aug 2026
Release notes
Open source →What's changed
- Updated to parity with Claude Code v2.1.245
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]
- 0.3.24324 Aug 2026
Release notes
Open source →- Added optional
queued_turn_countto result messages: the number of queued user sends still pending when the result was produced, so hosts know whether another turn and result will follow - Fixed
mcp_statusreporting a remote MCP server as connected after its connection dropped; it now reports pending while reconnecting, then connected or failed - Fixed managed
disableAllHooksalso disabling hook callbacks registered through thehooksoption; they now keep running, matchingallowManagedHooksOnly - Changed Read tool PDF results: the
documentblock (or pageimageblocks forpagesreads) now arrives inside thetool_resultcontent instead of as a separateusermessage after it - Updated to parity with Claude Code v2.1.243
- Added optional
- 0.3.24224 Aug 2026
- 0.3.24122 Aug 2026
Release notes
Open source →What's changed
- Updated to parity with Claude Code v2.1.241
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]
- 0.3.24022 Aug 2026
Release notes
Open source →What's changed
- Updated to parity with Claude Code v2.1.240
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]
- 0.3.23921 Aug 2026
Release notes
Open source →What's changed
total_cost_usd/modelUsage.costUSDnow include the 1.1× US-only-inference (data residency) multiplier when the response reportsinference_geo: "us"- A result held back for background subagents in one-shot mode now reports
total_cost_usd,duration_api_msandmodelUsageas of its release, not the turn-end snapshot - Fixed
SYSTEM_PROMPT_DYNAMIC_BOUNDARYin an arraysystemPromptbeing sent to the model as literal text on Bedrock, Vertex, Foundry, and gateway providers - A repeated
initializeon a running process is now followed by abackground_tasks_changedsnapshot of the live background tasks, so reconnecting hosts see work that is still running
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]
Release notes
Open source →total_cost_usd/modelUsage.costUSDnow include the 1.1× US-only-inference (data residency) multiplier when the response reportsinference_geo: "us"- A result held back for background subagents in one-shot mode now reports
total_cost_usd,duration_api_msandmodelUsageas of its release, not the turn-end snapshot - Fixed
SYSTEM_PROMPT_DYNAMIC_BOUNDARYin an arraysystemPromptbeing sent to the model as literal text on Bedrock, Vertex, Foundry, and gateway providers - A repeated
initializeon a running process is now followed by abackground_tasks_changedsnapshot of the live background tasks, so reconnecting hosts see work that is still running
- 0.3.23820 Aug 2026
Release notes
Open source →What's changed
- Added
is_backgroundedandspawn_depthtotask_startedevents for subagent tasks (is_backgroundedalso on background Bash tasks) - Added
suppressOriginalPrompttoUserPromptExpansionhook output, matchingUserPromptSubmit - Added
command_lifecyclestaterefused: a cross-session peer message the session's receive-side policy declines now reports this terminal state instead of producing no lifecycle frames - Fixed SDK hook callbacks silently not applying after a host re-sends
initializeto an already-running CLI; the response now reportshooks_applied - Fixed
CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=truenot keepingprompt_suggestionmessages on when the account is near, but not over, its usage limit - Changed
vcs_state_changedpush events to emit one event per pushed branch
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]
Release notes
Open source →- Added
is_backgroundedandspawn_depthtotask_startedevents for subagent tasks (is_backgroundedalso on background Bash tasks) - Added
suppressOriginalPrompttoUserPromptExpansionhook output, matchingUserPromptSubmit - Added
command_lifecyclestaterefused: a cross-session peer message the session's receive-side policy declines now reports this terminal state instead of producing no lifecycle frames - Fixed SDK hook callbacks silently not applying after a host re-sends
initializeto an already-running CLI; the response now reportshooks_applied - Fixed
CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=truenot keepingprompt_suggestionmessages on when the account is near, but not over, its usage limit - Changed
vcs_state_changedpush events to emit one event per pushed branch
- Added
- 0.3.23719 Aug 2026
Release notes
Open source →What's changed
- Updated to parity with Claude Code v2.1.237
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]
- 0.3.23619 Aug 2026
Release notes
Open source →What's changed
PostToolUsehooks can returnhookSpecificOutput.classifierContext, a short host-asserted note about a tool call's result that the auto mode permission classifier reads alongside that result
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]
Release notes
Open source →PostToolUsehooks can returnhookSpecificOutput.classifierContext, a short host-asserted note about a tool call's result that the auto mode permission classifier reads alongside that result
- 0.3.23518 Aug 2026
Release notes
Open source →What's changed
- Updated to parity with Claude Code v2.1.235
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]
- 0.3.23417 Aug 2026
Release notes
Open source →What's changed
- Removed unused
bypass_permissions_disabledfromExitReasontype; the value was never emitted — TypeScript consumers with an explicitcasebranch get a compile error on upgrade (runtime unaffected) - Updated the
ApiKeySourcetype to include the valuessystem/initactually reports (ANTHROPIC_API_KEY,apiKeyHelper,/login managed key,none) vcs_state_changedevents report the directory the shell finished in (an innercdis reflected)- A peer
origininjected by the host may declare the sending session's permission class (fromMode) so a same-class message is delivered to a recipient that runs without asking SDKSystemMessage(system/init) gains an optionaleffortfield: the session's applied effort level, ornullwhen none is sent. Set on Remote Control bridge init frames
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]
Release notes
Open source →- Removed unused
bypass_permissions_disabledfromExitReasontype; the value was never emitted — TypeScript consumers with an explicitcasebranch get a compile error on upgrade (runtime unaffected) - Updated the
ApiKeySourcetype to include the valuessystem/initactually reports (ANTHROPIC_API_KEY,apiKeyHelper,/login managed key,none) vcs_state_changedevents report the directory the shell finished in (an innercdis reflected)- A peer
origininjected by the host may declare the sending session's permission class (fromMode) so a same-class message is delivered to a recipient that runs without asking SDKSystemMessage(system/init) gains an optionaleffortfield: the session's applied effort level, ornullwhen none is sent. Set on Remote Control bridge init frames
- Removed unused
- 0.3.23314 Aug 2026
Release notes
Open source →What's changed
- Notification hooks now fire for pending permission prompts on the SDK path, matching the interactive REPL behavior
- Todo/task-tracking tools (
TaskCreate/TaskGet/TaskUpdate/TaskList,TodoWrite) are no longer in the default tool surface on Opus 4.8, Sonnet 5, Fable 5, Mythos 5, and newer models; name them in thetoolsoption or reference them inallowedTools(or setCLAUDE_CODE_ENABLE_TODO_TOOLS=1) to keep them
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]
Release notes
Open source →- Notification hooks now fire for pending permission prompts on the SDK path, matching the interactive REPL behavior
- Todo/task-tracking tools (
TaskCreate/TaskGet/TaskUpdate/TaskList,TodoWrite) are no longer in the default tool surface on Opus 4.8, Sonnet 5, Fable 5, Mythos 5, and newer models; name them in thetoolsoption or reference them inallowedTools(or setCLAUDE_CODE_ENABLE_TODO_TOOLS=1) to keep them
- 0.3.23213 Aug 2026
Release notes
Open source →What's changed
- Subagent MCP
tool_resultframes whose result carries_metanow emittool_use_resultas{ content, _meta }(matching main-loop frames) instead of a bare value /contextresult messages now carry a structuredcontext_usagepayload (newSDKContextUsagetype), so consumers can render the context-usage card without parsing the markdown tablevcs_state_changedevents now populate thebranchfield for push operations, sourced from the pushed ref
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]
Release notes
Open source →- Subagent MCP
tool_resultframes whose result carries_metanow emittool_use_resultas{ content, _meta }(matching main-loop frames) instead of a bare value /contextresult messages now carry a structuredcontext_usagepayload (newSDKContextUsagetype), so consumers can render the context-usage card without parsing the markdown tablevcs_state_changedevents now populate thebranchfield for push operations, sourced from the pushed ref
- Subagent MCP
- 0.3.23113 Aug 2026
Release notes
Open source →What's changed
- Updated to parity with Claude Code v2.1.231
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected] - 0.3.22912 Aug 2026
Release notes
Open source →What's changed
- Added
terminal_slash_commandsto the system init message so Remote Control clients can hide terminal-oriented commands - Changed conversations whose messages alone exceed the API's 32 MB limit to end the turn with
terminal_reason"api_error"instead of"image_error";StopFailureerror_detailsis"request_body_over_limit: …"
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]Release notes
Open source →- Added
terminal_slash_commandsto the system init message so Remote Control clients can hide terminal-oriented commands - Changed conversations whose messages alone exceed the API's 32 MB limit to end the turn with
terminal_reason"api_error"instead of"image_error";StopFailureerror_detailsis"request_body_over_limit: …"
- Added
- 0.3.22811 Aug 2026
Release notes
Open source →What's changed
- Agent tool results (
AgentOutput):usage.output_tokens_detailsis now carried through
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]Release notes
Open source →- Agent tool results (
AgentOutput):usage.output_tokens_detailsis now carried through
- Agent tool results (
- 0.3.22710 Aug 2026
Release notes
Open source →What's changed
- Updated to parity with Claude Code v2.1.227
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected] - 0.3.2268 Aug 2026
Release notes
Open source →What's changed
- Updated to parity with Claude Code v2.1.226
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected] - 0.3.2257 Aug 2026
Release notes
Open source →What's changed
- Fixed background subagents in headless/SDK sessions never resuming when a background shell command or Monitor they left running completed, so the subagent never saw the result
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]Release notes
Open source →- Fixed background subagents in headless/SDK sessions never resuming when a background shell command or Monitor they left running completed, so the subagent never saw the result
- 0.3.2247 Aug 2026
Release notes
Open source →What's changed
- Added
crossSessionInboundanddialogExpirysettings: cross-session messages sent to a session running with bypassed permissions are held for your approval, and messages to other sessions auto-deliver - Added
subkind: 'peer-send-message'to thetask-notificationmember ofSDKMessageOrigin, marking a notification raised by a cross-sessionSendMessage - Added
source: 'archive'plugin config variant toSettings, withurland optionalsha256, for installing plugins from a zip over HTTPS - Added sandbox credential-masking fields to
Settings:decode: 'jwt'withmaskClaims,extract/onExtractNoMatchonenvVars, andawsPairs/sigv4for AWS SigV4 re-signing - Fixed long (>200 char) project paths resolving to another project's session directory under a shared sanitized prefix; session list/get/rename/tag/fork/delete and
/resumeno longer cross projects
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]Release notes
Open source →- Added
crossSessionInboundanddialogExpirysettings: cross-session messages sent to a session running with bypassed permissions are held for your approval, and messages to other sessions auto-deliver - Added
subkind: 'peer-send-message'to thetask-notificationmember ofSDKMessageOrigin, marking a notification raised by a cross-sessionSendMessage - Added
source: 'archive'plugin config variant toSettings, withurland optionalsha256, for installing plugins from a zip over HTTPS - Added sandbox credential-masking fields to
Settings:decode: 'jwt'withmaskClaims,extract/onExtractNoMatchonenvVars, andawsPairs/sigv4for AWS SigV4 re-signing - Fixed long (>200 char) project paths resolving to another project's session directory under a shared sanitized prefix; session list/get/rename/tag/fork/delete and
/resumeno longer cross projects
- Added
- 0.3.2235 Aug 2026
Release notes
Open source →What's changed
- Added
resumeDropsTurnoption: withresumeSessionAt, declares the turn a truncating resume intends to drop; the CLI refuses the resume if anything else would be discarded - Result messages for repeated 529 overload failures now include
api_error_status: 529, so SDK consumers can detect overload terminations structurally instead of matching message text - Bare headless (
-p/ SDKquery()withoutcanUseTool) now emitssystem/permission_deniedstream events when a tool call is auto-denied - Documented
usagevsmodelUsageon stream-json results:usageis main-loop-only and per-turn;modelUsageis cumulative, covers all query-pipeline calls, and is the field for cost accounting
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]Release notes
Open source →- Added
resumeDropsTurnoption: withresumeSessionAt, declares the turn a truncating resume intends to drop; the CLI refuses the resume if anything else would be discarded - Result messages for repeated 529 overload failures now include
api_error_status: 529, so SDK consumers can detect overload terminations structurally instead of matching message text - Bare headless (
-p/ SDKquery()withoutcanUseTool) now emitssystem/permission_deniedstream events when a tool call is auto-denied - Documented
usagevsmodelUsageon stream-json results:usageis main-loop-only and per-turn;modelUsageis cumulative, covers all query-pipeline calls, and is the field for cost accounting
- Added
- 0.3.2224 Aug 2026
Release notes
Open source →What's changed
- Fixed
query({ sessionStore, resume })not carrying usersettings.json(apiKeyHelper,env,hooks,permissions) into the resumed subprocess
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]Release notes
Open source →- Fixed
query({ sessionStore, resume })not carrying usersettings.json(apiKeyHelper,env,hooks,permissions) into the resumed subprocess
- Fixed
- 0.3.2213 Aug 2026
Release notes
Open source →What's changed
- Improved
skillsoption validation: malformed names (delimiters or control characters) and wildcard-form names are rejected with a clear error; useskills: 'all'to enable every skill - Fixed external MCP servers passed via the
mcpServersoption not being connected before the first turn, which caused the model to emit tool calls as literal text
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]Release notes
Open source →- Improved
skillsoption validation: malformed names (delimiters or control characters) and wildcard-form names are rejected with a clear error; useskills: 'all'to enable every skill - Fixed external MCP servers passed via the
mcpServersoption not being connected before the first turn, which caused the model to emit tool calls as literal text
- Improved
- 0.3.22024 Jul 2026
Release notes
Open source →What's changed
- Updated to parity with Claude Code v2.1.220
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected] - 0.3.21924 Jul 2026
Release notes
Open source →What's changed
- Added opt-in
cancel_queuedto the interrupt control request (capabilityinterrupt_cancel_queued_v1): cancels queued and pending-dispatch messages alongside the abort - Added
fast_mode_disabled_reasonto result and init messages so SDK hosts can explain why fast mode is off - Added
DirectoryAddedlifecycle hook event to the control protocol, fired when a new working directory is registered mid-session - Fixed the initialize response reporting
fast_mode_statefrom the spawn-time model after a model switch - Added
sandbox.network.strictAllowlistto SDK settings types for deterministically denying non-allowlisted hosts in sandboxed commands - Added
workflowSizeGuidelineto SDK settings types for setting the advisory dynamic-workflow size guideline
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]Release notes
Open source →- Added opt-in
cancel_queuedto the interrupt control request (capabilityinterrupt_cancel_queued_v1): cancels queued and pending-dispatch messages alongside the abort - Added
fast_mode_disabled_reasonto result and init messages so SDK hosts can explain why fast mode is off - Added
DirectoryAddedlifecycle hook event to the control protocol, fired when a new working directory is registered mid-session - Fixed the initialize response reporting
fast_mode_statefrom the spawn-time model after a model switch - Added
sandbox.network.strictAllowlistto SDK settings types for deterministically denying non-allowlisted hosts in sandboxed commands - Added
workflowSizeGuidelineto SDK settings types for setting the advisory dynamic-workflow size guideline
- Added opt-in
- 0.3.21822 Jul 2026
Release notes
Open source →What's changed
SkillToolOutputnow reportsbackground: truewhen a forked skill was dispatched as a detached background agent- Fixed the result event's
api_error_statusreporting null for rate-limit and overloaded errors delivered mid-stream; it now reports 429/529 - Added
canonicalModelandproviderto eachmodelUsageentry in result messages so downstream billing can look up the correct rate table forcostUSD
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]Release notes
Open source →SkillToolOutputnow reportsbackground: truewhen a forked skill was dispatched as a detached background agent- Fixed the result event's
api_error_statusreporting null for rate-limit and overloaded errors delivered mid-stream; it now reports 429/529 - Added
canonicalModelandproviderto eachmodelUsageentry in result messages so downstream billing can look up the correct rate table forcostUSD
- 0.3.21721 Jul 2026
Release notes
Open source →What's changed
- Changed subagents to no longer spawn nested subagents by default (depth cap lowered from 5 to 1); set
CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTHto allow deeper nesting - Added a cap on concurrently-running subagents (default 20, override with
CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS) - Fixed Remote Control sessions not re-sending pending permission prompts to clients that connect after the prompt appeared
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]Release notes
Open source →- Changed subagents to no longer spawn nested subagents by default (depth cap lowered from 5 to 1); set
CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTHto allow deeper nesting - Added a cap on concurrently-running subagents (default 20, override with
CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS) - Fixed Remote Control sessions not re-sending pending permission prompts to clients that connect after the prompt appeared
- Changed subagents to no longer spawn nested subagents by default (depth cap lowered from 5 to 1); set
- 0.3.21620 Jul 2026
Release notes
Open source →What's changed
- Added optional
skippedLinkscount torewindFilesresponses for paths the rewind safety guards refused to restore or delete - Added
tool_result_metasidecar to user messages (non_execution_kind,user_feedback) so consumers can classify denied, interrupted, or cancelled tool calls without string-matching result prose - Added optional
user_message_uuidandrequest_sent_wall_msfields to the success result message for cross-host request-latency correlation
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]Release notes
Open source →- Added optional
skippedLinkscount torewindFilesresponses for paths the rewind safety guards refused to restore or delete - Added
tool_result_metasidecar to user messages (non_execution_kind,user_feedback) so consumers can classify denied, interrupted, or cancelled tool calls without string-matching result prose - Added optional
user_message_uuidandrequest_sent_wall_msfields to the success result message for cross-host request-latency correlation
- Added optional
- 0.3.21519 Jul 2026
Release notes
Open source →What's changed
- Updated to parity with Claude Code v2.1.215
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected] - 0.3.21418 Jul 2026
Release notes
Open source →What's changed
set_permission_modenow rejects unrecognized permission modes with an error instead of silently adopting them; the'manual'alias is accepted at every ingress- Added optional
subkind: 'scheduled-trigger'to thetask-notificationmember ofSDKMessageOrigin, marking deliveries that are the fired prompt of a user-configured scheduled task applyFlagSettings({effortLevel})now accepts'max'in its TypeScript type (runtime already supported it)- Assistant messages truncated by
interrupt()now carryaborted: true, so consumers can distinguish a mid-stream partial from a completed message - Added optional
subagent_typeandsubagent_retryfields totool_progressmessages so clients can show a subagent waiting out an API rate-limit retry - The
system/initmessage'spluginsentries and thereload_pluginsresponse now include each plugin's manifestversion - SessionStart hooks now report source
"fork"instead of"resume"when the session begins as a fork
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]Release notes
Open source →set_permission_modenow rejects unrecognized permission modes with an error instead of silently adopting them; the'manual'alias is accepted at every ingress- Added optional
subkind: 'scheduled-trigger'to thetask-notificationmember ofSDKMessageOrigin, marking deliveries that are the fired prompt of a user-configured scheduled task applyFlagSettings({effortLevel})now accepts'max'in its TypeScript type (runtime already supported it)- Assistant messages truncated by
interrupt()now carryaborted: true, so consumers can distinguish a mid-stream partial from a completed message - Added optional
subagent_typeandsubagent_retryfields totool_progressmessages so clients can show a subagent waiting out an API rate-limit retry - The
system/initmessage'spluginsentries and thereload_pluginsresponse now include each plugin's manifestversion - SessionStart hooks now report source
"fork"instead of"resume"when the session begins as a fork
- 0.3.21317 Jul 2026
- 0.3.21216 Jul 2026
Release notes
Open source →What's changed
- Fixed dash-leading
resumeSessionAtandsessionIdvalues being passed to the CLI as separate argv tokens; both now use equals-form (--flag=value) - Agent tool output now includes the resolved model when a mid-turn model swap changed the subagent's model
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]Release notes
Open source →- Fixed dash-leading
resumeSessionAtandsessionIdvalues being passed to the CLI as separate argv tokens; both now use equals-form (--flag=value) - Agent tool output now includes the resolved model when a mid-turn model swap changed the subagent's model
- Fixed dash-leading
- 0.3.21115 Jul 2026
Release notes
Open source →What's changed
- Fixed
--replay-user-messageswith--include-partial-messagesemitting the turn-start user replay after the first content block instead of before the turn's content events - Added
SDKAssistantMessage.timestamp(ISO-8601) to the live stream, matchingSDKUserMessage; older emitters omit it, consumers should fall back to receive time - Added rate-limit message prefix buckets (
USAGE_LIMIT_ERROR_PREFIXESand siblings) as@alphaexports for classifying rate-limit messages without hand-mirrored lists - Improved process-exit errors to include the CLI's stderr output, so a failed child reports its actual cause instead of only an exit code
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]Release notes
Open source →- Fixed
--replay-user-messageswith--include-partial-messagesemitting the turn-start user replay after the first content block instead of before the turn's content events - Added
SDKAssistantMessage.timestamp(ISO-8601) to the live stream, matchingSDKUserMessage; older emitters omit it, consumers should fall back to receive time - Added rate-limit message prefix buckets (
USAGE_LIMIT_ERROR_PREFIXESand siblings) as@alphaexports for classifying rate-limit messages without hand-mirrored lists - Improved process-exit errors to include the CLI's stderr output, so a failed child reports its actual cause instead of only an exit code
- Fixed
- 0.3.21014 Jul 2026
Release notes
Open source →What's changed
- Added
timedOutAfterMstoBashToolOutput, set when a command is auto-backgrounded on timeout
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]Release notes
Open source →- Added
timedOutAfterMstoBashToolOutput, set when a command is auto-backgrounded on timeout
- Added
- 0.3.20914 Jul 2026
Release notes
Open source →What's changed
- Updated to parity with Claude Code v2.1.209
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected] - 0.3.20813 Jul 2026
Release notes
Open source →What's changed
- Fixed a caller abort during a pending SDK hook callback being converted into hook success, which let PreToolUse-gated tools execute after the abort
- Fixed a per-query resource leak in the SDK's process tracking when spawning the CLI fails (nonexistent or inaccessible executable path)
- Fixed an SDK
UserPromptSubmithook callback exceeding its timeout killing the entire query with an empty error; it now blocks the prompt with a clear timeout message and the session continues - Fixed
extraArgsvalues that look like flags (e.g.resume: '--version') being parsed as their own CLI flags; dash-leading values are now bound with equals-form argv - Fixed an abort-listener leak: streaming queries sharing one
AbortControllerno longer accumulateabortlisteners on its signal after each completed query - Fixed
createSdkMcpServerdocs pointing at a nonexistent env var; the MCP tool-call timeout knob isMCP_TOOL_TIMEOUT - Fixed an uncaught exception when writing to stdin after the Claude Code subprocess has exited
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]Release notes
Open source →- Fixed a caller abort during a pending SDK hook callback being converted into hook success, which let PreToolUse-gated tools execute after the abort
- Fixed a per-query resource leak in the SDK's process tracking when spawning the CLI fails (nonexistent or inaccessible executable path)
- Fixed an SDK
UserPromptSubmithook callback exceeding its timeout killing the entire query with an empty error; it now blocks the prompt with a clear timeout message and the session continues - Fixed
extraArgsvalues that look like flags (e.g.resume: '--version') being parsed as their own CLI flags; dash-leading values are now bound with equals-form argv - Fixed an abort-listener leak: streaming queries sharing one
AbortControllerno longer accumulateabortlisteners on its signal after each completed query - Fixed
createSdkMcpServerdocs pointing at a nonexistent env var; the MCP tool-call timeout knob isMCP_TOOL_TIMEOUT - Fixed an uncaught exception when writing to stdin after the Claude Code subprocess has exited
- 0.3.20710 Jul 2026
Release notes
Open source →What's changed
- Fixed
canUseToolreturning{behavior: 'allow'}withoutupdatedInputbeing rejected as a deny with a raw ZodError message; the tool now runs with the original input per the documented contract - The Agent tool's structured result now has a published SDK type (
AgentToolCompletedOutput) that matches the emitted object exactly
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]Release notes
Open source →- Fixed
canUseToolreturning{behavior: 'allow'}withoutupdatedInputbeing rejected as a deny with a raw ZodError message; the tool now runs with the original input per the documented contract - The Agent tool's structured result now has a published SDK type (
AgentToolCompletedOutput) that matches the emitted object exactly
- Fixed
- 0.3.2069 Jul 2026
Release notes
Open source →What's changed
- Added
command_lifecycleframes to stream-json and SDK sessions, reporting each uuid-stamped message's terminal state (queued/started/completed/cancelled/discarded); zero-API results no longer report staleduration_api_ms
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]Release notes
Open source →- Added
command_lifecycleframes to stream-json and SDK sessions, reporting each uuid-stamped message's terminal state (queued/started/completed/cancelled/discarded); zero-API results no longer report staleduration_api_ms
- Added
- 0.3.2058 Jul 2026
Release notes
Open source →What's changed
- Interrupt control responses now include
still_queued(UUIDs of queued async messages that will still run),Query.interrupt()returns the typed receipt, andsystem/initadvertises aninterrupt_receipt_v1capability for feature detection - Added structured
nameandbodyfields to peer-message session events, exposing the sender display name and decoded message body
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]Release notes
Open source →- Interrupt control responses now include
still_queued(UUIDs of queued async messages that will still run),Query.interrupt()returns the typed receipt, andsystem/initadvertises aninterrupt_receipt_v1capability for feature detection - Added structured
nameandbodyfields to peer-message session events, exposing the sender display name and decoded message body
- Interrupt control responses now include
- 0.3.2048 Jul 2026
Release notes
Open source →What's changed
- Updated to parity with Claude Code v2.1.204
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]Release notes
Open source →- Added
terminal_reasonvaluestool_deferred_unavailable(deferred tool resume found the tool gone — previously anis_errorresult with no reason, read as a clean completion by lifecycle sweeps) andturn_setup_failed(the turn-input builder threw before the turn started). Both classify as dead turns, so commands consumed by them reportcommand_lifecyclestatecancelled - Fixed the post-merge cancel backstop cancelling every member of a coalesced prompt batch when a cancel named only one: uncancelled siblings now re-merge and run (previously they were reported
cancelled— on remote transports that acknowledged them as processed, silently dropping messages nobody cancelled) - Added
terminal_reasonvaluesapi_error,malformed_tool_use_exhausted,budget_exhausted, andstructured_output_retry_exhausted. Turns that die on an exhausted-API-retry or malformed-tool-use give-up previously reportedcompleted; budget and structured-output exhaustion results previously omittedterminal_reason. Commands consumed by such turns now reportcommand_lifecyclestatecancelledinstead ofcompleted(dup-over-loss) - Updated to parity with Claude Code v2.1.204
- 0.3.2037 Jul 2026
Release notes
Open source →What's changed
- Added a
background_tasks_changedsystem message with the full set of live background tasks on every membership change, so consumers can track background activity as a level instead of pairingtask_started/task_notificationedges - Fixed stable releases shipping a
sdk.d.tswith unresolved type references that broke consumer typechecking withskipLibCheckdisabled
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]Release notes
Open source →- Added a
background_tasks_changedsystem message with the full set of live background tasks on every membership change, so consumers can track background activity as a level instead of pairingtask_started/task_notificationedges - Fixed stable releases shipping a
sdk.d.tswith unresolved type references that broke consumer typechecking withskipLibCheckdisabled
- Added a
- 0.3.2026 Jul 2026
Release notes
Open source →What's changed
- Added
parent_agent_idfield to subagent session messages for building depth-2+ agent trees from disk-persisted metadata - Fixed
apply_flag_settingswith a non-object settings value crashing the session instead of returning a control error
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]Release notes
Open source →- Added
parent_agent_idfield to subagent session messages for building depth-2+ agent trees from disk-persisted metadata - Fixed
apply_flag_settingswith a non-object settings value crashing the session instead of returning a control error
- Added
- 0.3.2013 Jul 2026
Release notes
Open source →What's changed
- Updated to parity with Claude Code v2.1.201
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected] - 0.3.2003 Jul 2026
Release notes
Open source →What's changed
- Added
'manual'as an accepted alias for the'default'permission mode in SDK inputs - Fixed
onSetPermissionModecallback not firing for SDK-hosted Remote Control sessions - Fixed
set_modelcontrol request accepting unrecognized model strings; invalid models are now rejected before latching
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]Release notes
Open source →- Added
'manual'as an accepted alias for the'default'permission mode in SDK inputs - Fixed
onSetPermissionModecallback not firing for SDK-hosted Remote Control sessions - Fixed
set_modelcontrol request accepting unrecognized model strings; invalid models are now rejected before latching
- Added
- 0.3.1992 Jul 2026
Release notes
Open source →What's changed
- Added
requestIdtocanUseToolcallback options for correlating out-of-band permission responses, and support for returningnullto suppress the SDK's automatic control response - Added
blockedfield toworkflow_agentprogress events indicating when an agent was blocked by the auto-mode safety classifier - Added
mode:"mask"and per-credentialinjectHoststosandbox.credentialssettings types for injecting masked credentials into sandboxed commands
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]Release notes
Open source →- Added
requestIdtocanUseToolcallback options for correlating out-of-band permission responses, and support for returningnullto suppress the SDK's automatic control response - Added
blockedfield toworkflow_agentprogress events indicating when an agent was blocked by the auto-mode safety classifier - Added
mode:"mask"and per-credentialinjectHoststosandbox.credentialssettings types for injecting masked credentials into sandboxed commands
- Added
- 0.3.1981 Jul 2026
Release notes
Open source →What's changed
- Added a runtime warning when
canUseToolis configured alongsideallowedToolsorbypassPermissions, which shadow the callback - Added per-server
request_timeout_msoption tomcp_set_serverscontrol request - Fixed
SDKUserMessage.isSyntheticnot being mapped toisMetaon ingestion, which could cause synthetic messages to be treated as real user messages - Fixed workflow progress events silently dropping earliest agents from the list while the phase counter remained correct
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]Release notes
Open source →- Added a runtime warning when
canUseToolis configured alongsideallowedToolsorbypassPermissions, which shadow the callback - Added per-server
request_timeout_msoption tomcp_set_serverscontrol request - Fixed
SDKUserMessage.isSyntheticnot being mapped toisMetaon ingestion, which could cause synthetic messages to be treated as real user messages - Fixed workflow progress events silently dropping earliest agents from the list while the phase counter remained correct
- Added a runtime warning when
- 0.3.19730 Jun 2026
Release notes
Open source →What's changed
- Updated to parity with Claude Code v2.1.197
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected] - 0.3.19629 Jun 2026
Release notes
Open source →What's changed
- Added
prompt_idfield to hook input payloads for correlating hook events with OpenTelemetry prompt-level events - Fixed control protocol deduplication dropping tool-use IDs after 1000 resolutions, which could cause duplicate
tool_resultdeliveries in long-running sessions
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]Release notes
Open source →- Added
prompt_idfield to hook input payloads for correlating hook events with OpenTelemetry prompt-level events - Fixed control protocol deduplication dropping tool-use IDs after 1000 resolutions, which could cause duplicate
tool_resultdeliveries in long-running sessions
- Added
- 0.3.19526 Jun 2026
Release notes
Open source →What's changed
- Added
Query.reinitialize()to re-send the initialize control request and redeliver pending permission/dialog prompts after a transport gap - Fixed
commands_changedevent not being emitted for synced skills when the skill list resolves before the change-detector subscribes
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]Release notes
Open source →- Added
Query.reinitialize()to re-send the initialize control request and redeliver pending permission/dialog prompts after a transport gap - Fixed
commands_changedevent not being emitted for synced skills when the skill list resolves before the change-detector subscribes
- Added
- 0.3.19325 Jun 2026
Release notes
Open source →What's changed
- Added
promptSuggestionsoption to Browser SDKquery()to opt the remote CLI into emitting follow-up suggestions - Fixed brief console window flashes on Windows when spawning CLI subprocesses
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]Release notes
Open source →- Added
promptSuggestionsoption to Browser SDKquery()to opt the remote CLI into emitting follow-up suggestions - Fixed brief console window flashes on Windows when spawning CLI subprocesses
- Added
- 0.3.19124 Jun 2026
Release notes
Open source →What's changed
- Added
old_sourcefield toNotebookEdittool results forreplaceanddeleteoperations, enabling inline diffs - Added
seven_day_overage_includedtoSDKRateLimitInfo.rateLimitTypefor per-model weekly usage limits - Added
model_scopedarray to usage response for per-model weekly limit windows with utilization and reset times - Fixed fast mode reverting to standard after the first turn when
settingSourcesincludes user/project settings
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]Release notes
Open source →- Added
old_sourcefield toNotebookEdittool results forreplaceanddeleteoperations, enabling inline diffs - Added
seven_day_overage_includedtoSDKRateLimitInfo.rateLimitTypefor per-model weekly usage limits - Added
model_scopedarray to usage response for per-model weekly limit windows with utilization and reset times - Fixed fast mode reverting to standard after the first turn when
settingSourcesincludes user/project settings
- Added
- 0.3.19024 Jun 2026
Release notes
Open source →What's changed
- Updated to parity with Claude Code v2.1.190
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected] - 0.3.18723 Jun 2026
Release notes
Open source →What's changed
- Added
sandbox.credentialsto SDK settings types for configuring credential file and environment variable denial in sandboxed commands
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]Release notes
Open source →- Added
sandbox.credentialsto SDK settings types for configuring credential file and environment variable denial in sandboxed commands
- Added
- 0.3.18622 Jun 2026
Release notes
Open source →What's changed
- Added
agent_idfield tocan_use_toolcontrol requests — background agents now forward permission prompts tocanUseToolinstead of auto-denying, and stdin stays open while background tasks are running - Added
ReadMcpResourceDirTooltool type to SDK schemas — MCP resource directory listing is now a dedicated tool instead of a fallback insideReadMcpResourceTool - Added
rewind_conversationcontrol request for rewinding a conversation to a previous point with durable resume anchor support
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]Release notes
Open source →- Added
agent_idfield tocan_use_toolcontrol requests — background agents now forward permission prompts tocanUseToolinstead of auto-denying, and stdin stays open while background tasks are running - Added
ReadMcpResourceDirTooltool type to SDK schemas — MCP resource directory listing is now a dedicated tool instead of a fallback insideReadMcpResourceTool - Added
rewind_conversationcontrol request for rewinding a conversation to a previous point with durable resume anchor support
- Added
- 0.3.18520 Jun 2026
Release notes
Open source →What's changed
- Updated to parity with Claude Code v2.1.185
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected] - 0.3.18319 Jun 2026
Release notes
Open source →What's changed
- Updated to parity with Claude Code v2.1.183
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected] - 0.3.18218 Jun 2026
- 0.3.18117 Jun 2026
Release notes
Open source →What's changed
- Added
errorCode,canUserPurchaseCredits, andhasChargeableSavedPaymentMethodfields toSDKRateLimitInfofor detecting credits-required rate limits - Added
tool_use_meta.icon_urlto assistant messages, populated from MCP server directory metadata - Fixed SDK-hosted Remote Control sessions dropping
file_attachmentsfrom inbound user messages
Update
npm install @anthropic-ai/[email protected] # or yarn add @anthropic-ai/[email protected] # or pnpm add @anthropic-ai/[email protected] # or bun add @anthropic-ai/[email protected]Release notes
Open source →- Added
errorCode,canUserPurchaseCredits, andhasChargeableSavedPaymentMethodfields toSDKRateLimitInfofor detecting credits-required rate limits - Added
tool_use_meta.icon_urlto assistant messages, populated from MCP server directory metadata - Fixed SDK-hosted Remote Control sessions dropping
file_attachmentsfrom inbound user messages
- Added