# What changed in @anthropic-ai/claude-agent-sdk

> 609 changes in @anthropic-ai/claude-agent-sdk 0.1 to 0.3 from its official release notes, upgrade guides and advisories: 63 breaking, 7 deprecations, 14 security, 253 new APIs and options. Each one cited. Sources checked 2026-10-19. HTML: https://unstale.sh/npm/@anthropic-ai/claude-agent-sdk/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## @anthropic-ai/claude-agent-sdk 0.3

### Breaking changes

- An omitted permissionMode now starts in default mode on third-party providers, with telemetry off or on a fresh install; pass permissionMode: 'auto' to keep auto mode. (0.3.302) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.302)
- When the API refuses a response, the result is now an error with no payload instead of delivering the response output as structured_output. (0.3.302) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.302)
- When a full disk prevents login refresh, api_error_status is now null instead of 401. (0.3.301) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.301)
- When a full disk prevents login refresh, the error is now invalid_request instead of authentication_failed. (0.3.301) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.301)
- Connector tools that an organization set to require approval no longer receive this option as true. (0.3.300) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.300)
- Values from PreToolUse and PermissionRequest hook callbacks are validated like Claude's own input, and unknown keys are dropped; `canUseTool` is unchanged. (0.3.300) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.300)
- When a user message merges several queued peer messages, origin.body is omitted instead of containing only the first message's text. (0.3.299) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.299)
- initialize, mcp_set_servers, and claim_session now refuse the reserved MCP server names __proto__, __defineGetter__, __defineSetter__, __lookupGetter__, and __lookupSetter__. (0.3.299) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.299)
- For permission answers received after a restart, lists with over 4,096 updatedPermissions entries count as a denial. (0.3.296) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.296)
- For MCP Apps tools, _meta over 8,388,608 JSON characters is left off tool_use_result. (0.3.295) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.295)
- _meta.ui with no ui:// resource no longer lifts the ordinary caps for MCP Apps tool results. (0.3.295) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.295)
- For MCP tools, result _meta over 1,048,576 JSON characters is left off, except for SDK-server tools. (0.3.295) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.295)
- User-message pasted_content is ignored when it contains more than 1,000 entries and blocks in total. (0.3.295) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.295)
- For MCP Apps tools, structuredContent over 8,388,608 JSON characters is left off tool_use_result. (0.3.295) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.295)
- Text blocks' _meta is left off when it totals over 65,536 characters. (0.3.295) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.295)
- This field is absent when a mod withheld the result of a tool that ran without error; it was previously permission-rule. (0.3.295) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.295)
- A permission answer with more than 4,096 updates, rules, and directories now counts as a denial. (0.3.295) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.295)
- For a finishing background task, this event now arrives after task_updated and task_notification. (0.3.292) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.292)
- For WebFetch or WebSearch calls that yield to a priority "now" message, the result is `{ detachedToolCall: true }` and follows in a later turn. (0.3.287) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.287)
- For MCP tools, `structuredContent` over 1,048,576 JSON characters is omitted and `structuredContentOmitted: true` is set, except for SDK-server and MCP Apps tools. (0.3.287) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.287)
- When permissionMode is omitted, Claude Code settings defaultMode now applies; on third-party providers or with telemetry off, sessions start in auto mode. Pass permissionMode: 'default' for manual approvals. (0.3.286) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.286)
- Now returns messages a subagent read while running, such as messages sent to it; offset and limit count those rows. (0.3.285) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.285)
- Bash and PowerShell timeout now bounds run_in_background commands; its default is 30 minutes and its maximum is 2 hours, and the stopped task notification explains when that limit stops a task. (0.3.285) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.285)
- Changing the effort level without ultracode turns Ultracode off. (0.3.284) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.284)
- The first turn still waits up to 2 seconds for connecting MCP servers named in allowedTools or by an mcp_tool hook, even when this variable is set to 0. (0.3.284) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.284)
- Drops content _meta keys under the CLI-reserved com.anthropic/ prefix when relaying resource results, matching tool-result behavior. (0.3.282) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.282)
- The attribution field's type is now boolean | {...}; TypeScript code reading attribution.commit from returned settings needs a type narrow. (0.3.281) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.281)
- Headless sessions cancel an MCP server's pending form question when the tool call that drew it ends. (0.3.280) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.280)
- Queued completions now share one model call; each still gets its own result, with all but the last empty and `num_turns: 0`. (0.3.274) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.274)
- Removes persistent from the MonitorInput tool type. (0.3.271) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.271)
- In plan mode, writes now go through canUseTool even when allowDangerouslySkipPermissions is set; the flag only enables switching to bypassPermissions later. (0.3.269) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.269)
- TaskCreate/Get/Update/List and TodoWrite are default tools only on the listed Claude and model versions; elsewhere, list them in `tools` or `allowedTools`. (0.3.268) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.268)
- Reports failure when no files could be restored, such as when checkpoint backups are missing, instead of reporting success. (0.3.260) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.260)
- total_cost_usd and modelUsage.costUSD now include the 1.1× US-only-inference multiplier when the response reports inference_geo: "us". (0.3.239) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.239)
- Push events now emit one event per pushed branch. (0.3.238) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.238)
- Removed the unused bypass_permissions_disabled value; TypeScript consumers with an explicit case branch get a compile error on upgrade, with no runtime effect. (0.3.234) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.234)
- Todo/task-tracking tools are no longer in the default tool surface on Opus 4.8, Sonnet 5, Fable 5, Mythos 5, and newer models; name them in tools or allowedTools, or set CLAUDE_CODE_ENABLE_TODO_TOOLS=1, to keep them. (0.3.233) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.233)
- Subagent MCP tool_result frames with _meta now emit tool_use_result as { content, _meta }, matching main-loop frames. (0.3.232) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.232)
- Conversations whose messages alone exceed the API's 32 MB limit now end with terminal_reason "api_error" instead of "image_error"; StopFailure error_details is "request_body_over_limit: …". (0.3.229) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.229)
- Malformed and wildcard-form skill names are rejected with a clear error; use skills: 'all' to enable every skill. (0.3.221) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.221)
- Subagents no longer spawn nested subagents by default; the depth cap is lowered from 5 to 1. Set CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH to allow deeper nesting. (0.3.217) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.217)
- Unrecognized permission modes now produce an error instead of being silently adopted; the 'manual' alias is accepted at every ingress. (0.3.214) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.214)
- SessionStart hooks now report source `"fork"` instead of `"resume"` when a session begins as a fork. (0.3.214) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.214)
- Control requests now reject unrecognized model strings before latching. (0.3.200) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.200)
- On native builds, sessions now default to fast embedded find/grep search in Bash instead of registering dedicated Grep/Glob tools; name those tools in tools or allowedTools to keep them. (0.3.162) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.162)
- MCP servers connect in the background by default, so sessions start immediately and slow servers report status: "pending" in init until ready. Set MCP_CONNECTION_NONBLOCKING=0 to restore waiting, or mark a server alwaysLoad: true to require it in turn 1. (0.3.142) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.142)
- Headless --sdk-url sessions now exit non-zero with a stderr diagnostic when the remote transport closes permanently, instead of silently exiting 0. (0.3.142) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.142)
- The v2 session API was removed. Use query() with an AsyncIterable<SDKUserMessage> for multi-turn sessions or options.resume to continue a session. (0.3.142) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.142)
- The v2 session API was removed. Use query() with an AsyncIterable<SDKUserMessage> for multi-turn sessions or options.resume to continue a session. (0.3.142) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.142)
- Headless and SDK sessions use Task tools instead of TodoWrite; tool consumers should accumulate tasks by task ID instead of replacing a snapshot list. (0.3.142) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.142)
- Headless and SDK sessions use Task tools instead of TodoWrite; tool consumers should accumulate tasks by task ID instead of replacing a snapshot list. (0.3.142) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.142)
- Headless and SDK sessions use Task tools instead of TodoWrite; tool consumers should accumulate tasks by task ID instead of replacing a snapshot list. (0.3.142) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.142)
- Headless and SDK sessions use Task tools instead of TodoWrite; tool consumers should accumulate tasks by task ID instead of replacing a snapshot list. (0.3.142) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.142)
- Headless and SDK sessions use Task tools instead of TodoWrite; tool consumers should accumulate tasks by task ID instead of replacing a snapshot list. (0.3.142) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.142)
- The v2 session API was removed. Use query() with an AsyncIterable<SDKUserMessage> for multi-turn sessions or options.resume to continue a session. (0.3.142) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.142)
- The v2 session API was removed. Use query() with an AsyncIterable<SDKUserMessage> for multi-turn sessions or options.resume to continue a session. (0.3.142) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.142)
- The v2 session API was removed. Use query() with an AsyncIterable<SDKUserMessage> for multi-turn sessions or options.resume to continue a session. (0.3.142) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.142)

### Security

- Deny and ask rules now match aliased tools with wildcard and match-all patterns, including when an input field is also in `disallowedTools`. (0.3.290) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.290)
- A hook callback returning `{ decision: 'block' }` now declines the MCP elicitation. (0.3.284) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.284)
- canUseTool options now include MCP server name and source, allowing hosts to key trust on the source. (0.3.274) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.274)
- Added a setting that holds cross-session messages sent to a session running with bypassed permissions for approval; messages to other sessions auto-deliver. (0.3.224) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.224)
- Fixed long project paths resolving to another project's session directory under a shared sanitized prefix; session operations and /resume no longer cross projects. (0.3.224) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.224)
- Added awsPairs for sandbox credential masking associated with AWS SigV4 re-signing. (0.3.224) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.224)
- Added extract to envVars as part of sandbox credential-masking configuration. (0.3.224) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.224)
- Added maskClaims for sandbox credential masking alongside JWT decoding. (0.3.224) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.224)
- Added onExtractNoMatch to envVars as part of sandbox credential-masking configuration. (0.3.224) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.224)
- Adds an SDK settings option for deterministically denying non-allowlisted hosts in sandboxed commands. (0.3.219) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.219)
- Maps isSynthetic to isMeta on ingestion so synthetic messages are not treated as real user messages. (0.3.198) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.198)
- Adds a setting for configuring credential file and environment variable denial in sandboxed commands. (0.3.187) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.187)
- MCP server-level specs mcp__server and mcp__server__* now correctly remove all tools from the named server instead of being silently ignored. (0.3.178) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.178)

### Deprecations

- A runtime warning is added when canUseTool is configured alongside allowedTools or bypassPermissions, which shadow the callback. (0.3.198) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.198)

### New APIs and options

- Exports the public built-in tool names for checking permission rules and tool settings. (0.3.301) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.301)
- Exports earlier built-in tool names for checking permission rules and tool settings. (0.3.301) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.301)
- Accepts addPlugins so a host can load more plugin folders into a running session. (0.3.301) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.301)
- sdk-type MCP server configs can set per-tool permission policies to always_ask or always_deny, applied on initialize and setMcpServers(). (0.3.301) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.301)
- CronCreate and CronList tool outputs now optionally include the epoch millisecond time of the next run. (0.3.299) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.299)
- The elicitation control request includes form field names in MCP server order for hosts whose transport does not preserve JSON object key order. (0.3.299) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.299)
- AgentDefinition now supports setting a subagent to auto-compact earlier than the main conversation's window. (0.3.296) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.296)
- The initialize control response now includes the CLI version, so clients can know it before the first turn. (0.3.296) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.296)
- Adds overageEnabled to indicate whether the account has extra usage turned on when usage-limit warnings occur. (0.3.295) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.295)
- Task entries can optionally include a subagent type, so hosts can identify each subagent without pairing with task_started. (0.3.293) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.293)
- Assistant and user messages produced by a subagent now include its task ID, which remains stable when the subagent is resumed. (0.3.292) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.292)
- Each notification in ReadNotifications output can include when it reached the session. (0.3.292) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.292)
- Options now carry suppressAlwaysAllowRule: true for connector tools an organization requires approval for, allowing hosts to hide their always-allow choice. (0.3.292) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.292)
- The ListAgents tool result now provides typed notes so hosts can list agents without parsing its text. (0.3.292) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.292)
- Task notifications now include the run ID, letting hosts distinguish runs of a resumed task. (0.3.292) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.292)
- Task-started events and background-task entries now identify the subagent task that launched a task. (0.3.292) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.292)
- ReadNotifications output can include when the tool read the session's queued notifications. (0.3.292) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.292)
- SendMessage tool-use inputs on assistant messages now include recipient_kind, so hosts need not infer it from raw input. (0.3.292) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.292)
- Background task events now include a run ID so hosts can distinguish runs of a resumed task. (0.3.292) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.292)
- The ListAgents tool result now provides typed sections so hosts can list agents without parsing its text. (0.3.292) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.292)
- The WebFetch tool input accepts an optional offset for reading on through long pages. (0.3.290) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.290)
- The success result message can include this optional remote-session latency field. (0.3.287) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.287)
- The success result message can include this optional remote-session latency field. (0.3.287) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.287)
- The system/init capabilities now include sdk_mcp_manifests. (0.3.286) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.286)
- The initialize response now includes the sdk_mcp_manifests_parked field. (0.3.286) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.286)
- The system/init capabilities now include sdk_mcp_tools_list_changed. (0.3.286) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.286)
- The Artifact tool's structured read result can now include the artifact's stored title. (0.3.285) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.285)
- The Settings type now includes allowedProviders. (0.3.285) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.285)
- The startup_failure_reason type now includes provider_not_allowed. (0.3.285) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.285)
- Adds a setting that reports whether the session can run Ultracode, regardless of whether it is in effect. (0.3.284) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.284)
- Adds a setting that reports whether Ultracode is requested, independently of whether it is in effect. (0.3.284) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.284)
- The system/init message type now includes plugin_errors, with path identifying a --plugin-dir entry that did not load. (0.3.283) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.283)
- Adds a smaller entry point for apps that bundle the SDK, providing query, MCP tool helpers, session mutations, and resolveSettings; it uses the installed zod and MCP SDK. (0.3.282) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.282)
- Host-supplied managedSettings supports blockedMarketplaces, adding to the admin's blocklist. (0.3.282) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.282)
- Host-supplied managedSettings supports strictKnownMarketplaces; its allowlist applies only where admin policy sets none. (0.3.282) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.282)
- Starts a Claude Code process before its session is known so it can later be bound to a folder and per-session options. (0.3.282) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.282)
- Adds the alpha claim operation to bind a prewarmed Claude Code process to a folder and its per-session options. (0.3.282) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.282)
- Adds an optional timestamp field so clients can show when the reset happened. (0.3.281) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.281)
- Adds an optional trigger field so clients can tell what reset the conversation. (0.3.281) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.281)
- Adds an optional user_message_uuid field so clients can match a /clear to its message. (0.3.281) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.281)
- Tool entries now include MCP Apps ui metadata so a host can find the tool's ui:// resource. (0.3.280) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.280)
- This alpha API reads an MCP Apps ui:// resource from an MCP server connected by Claude Code. (0.3.280) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.280)
- Task-notification origins can include the optional fireReason field. (0.3.280) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.280)
- This option delivers prompts as written, without @path expansion or slash-command dispatch; on current CLIs, it also prevents ambient attachments with the prompt. (0.3.280) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.280)
- Success result messages can include this optional remote-session latency field. (0.3.277) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.277)
- Success result messages can include this optional remote-session latency field. (0.3.277) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.277)
- Success result messages can include this optional remote-session latency field. (0.3.277) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.277)
- Success result messages can include this optional remote-session latency field. (0.3.277) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.277)
- SDKUserMessage includes pasted_content for text the user pasted rather than typed, appended after the typed prompt. (0.3.277) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.277)
- SlashCommand has an optional builtin field indicating whether a command is built into Claude Code. (0.3.277) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.277)
- Set this environment variable to `1` for stream-json hosts to emit per-phase startup timing in the session's first system/init. (0.3.274) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.274)
- Set this environment variable to bound or disable (`0`) the first-turn wait for connecting MCP servers. (0.3.274) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.274)
- Stream-JSON error results now include the known startup failure reason before the run exits. (0.3.274) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.274)
- The first system/init can include a per-phase startup timing breakdown for stream-json hosts. (0.3.274) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.274)
- task_notification messages now include reason: "worker_restart" when a background task was stopped by a worker process restart. (0.3.273) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.273)
- Assistant messages delivering a headless /usage result now include a usage_report sibling containing session totals, the plan's usage rows as sent by the server, and extra usage. (0.3.273) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.273)
- Adds optional omitClaudeMd so a subagent can run without user, project and local CLAUDE.md files; managed policy files still load. (0.3.271) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.271)
- This optional hint makes the prompt open on its decline option. (0.3.268) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.268)
- This optional hint makes the prompt offer no persistent "always allow" choice. (0.3.268) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.268)
- Each category in the `get_context_usage` control response now identifies its kind as used, free, buffer, or deferred. (0.3.268) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.268)
- A result message includes the slash command's name when a turn runs a slash command without entering the model loop. (0.3.268) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.268)
- Set `holdOnCacheImpact: true` to hold a plugin reload that would invalidate the session's prompt cache. (0.3.268) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.268)
- Result messages now include the result's position in delivery order within the run, starting at 0. (0.3.268) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.268)
- Assistant, stream-event, and result messages include this field only on an automatic re-run of a turn interrupted by a host restart. (0.3.268) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.268)
- Added as an SSE option. (0.3.267) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.267)
- Added to the browser SDK's SSE transport. (0.3.267) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.267)
- Added to the browser SDK's SSE transport. (0.3.267) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.267)
- Added as an SSE option. (0.3.267) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.267)
- Added as an SSE option. (0.3.267) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.267)
- Synthetic turns started with isSynthetic: true and a uuid now include user_message_uuid and user_message_uuids in the first reply and result, identifying the message that started the turn. (0.3.265) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.265)
- The first reply and result of a turn Claude Code starts itself now include user_message_uuid and user_message_uuids, identifying messages sent that it picked up mid-turn. (0.3.265) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.265)
- Added the initialize delivery option to send plugins over stdin, preventing the launch command line from growing with the plugin count and fixing Windows start failures with many plugins. (0.3.261) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.261)
- The success result message can include this field for remote-session latency breakdowns. (0.3.260) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.260)
- The success result message can include this field for remote-session latency breakdowns. (0.3.260) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.260)
- The success result message can include this field for remote-session latency breakdowns. (0.3.260) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.260)
- The success result message can include this field for remote-session latency breakdowns. (0.3.260) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.260)
- Thinking-token system messages can include the user message UUID that triggered the turn, linking thinking progress to that message. (0.3.260) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.260)
- Added the 'none' option to auto-deny permission prompts in sessions with nobody to answer them, without disabling auto mode's classifier. (0.3.259) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.259)
- Added to a turn's first reply frame and result to identify every user message the turn answered, including replies to several merged messages. (0.3.259) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.259)
- Adds a detail option: summary uses the last response's usage and local estimates without per-category token-count API calls; full remains the default. (0.3.257) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.257)
- Notifications for completed auto-backgrounded MCP tool calls can list returned files by reference, joined to the call via tool_use_id. (0.3.257) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.257)
- User messages carrying MCP tool results now include returned resource_link blocks, allowing hosts to render returned files without parsing result text. (0.3.257) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.257)
- Adds a per-server timeout for SDK-hosted MCP servers, overriding MCP_TOOL_TIMEOUT for that server's tool calls. (0.3.248) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.248)
- Added an optional flag to task entries so hosts can exclude housekeeping tasks from activity indicators. (0.3.247) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.247)
- Hosts that set CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST can provide modelPricing through managedSettings; an admin-managed settings source that sets modelPricing still takes precedence. (0.3.246) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.246)
- modelUsage[*].costBasis reports which price table was used to compute each model's costUSD. (0.3.246) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.246)
- When set, interrupt() aborts only the current turn and leaves background agents and workflows running; otherwise, and for one-shot string prompts, they stop. (0.3.246) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.246)
- Error results and the first assistant message or stream_event of each turn can include user_message_uuid, linking the reply or failure to the user message that triggered it. (0.3.246) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.246)
- Added to task_started events for subagent tasks and background Bash tasks, so handlers can identify backgrounded tasks. (0.3.238) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.238)
- Added to task_started events for subagent tasks, so handlers can access the task's spawn depth. (0.3.238) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.238)
- Added to UserPromptExpansion hook output, matching UserPromptSubmit. (0.3.238) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.238)
- PostToolUse hooks can return a short host-asserted note about a tool call's result, which the auto mode permission classifier reads alongside that result. (0.3.236) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.236)
- The type now includes the values system/init actually reports: ANTHROPIC_API_KEY, apiKeyHelper, /login managed key, and none. (0.3.234) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.234)
- A host-injected peer origin may declare the sending session's permission class, allowing a same-class message to reach a recipient that runs without asking. (0.3.234) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.234)
- The system/init message gains an optional effort field containing the session's applied effort level, or null when none is sent; it is set on Remote Control bridge init frames. (0.3.234) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.234)
- /context result messages now include a structured context_usage payload with the new SDKContextUsage type, allowing consumers to render the context-usage card without parsing markdown. (0.3.232) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.232)
- The system init message now includes terminal_slash_commands so Remote Control clients can hide terminal-oriented commands. (0.3.229) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.229)
- Agent tool results now carry through usage.output_tokens_details, making that usage detail available in AgentOutput. (0.3.228) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.228)
- Added dialogExpiry as a setting; the notes do not specify its behavior. (0.3.224) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.224)
- Added the peer-send-message subkind to task-notification, identifying notifications raised by a cross-session SendMessage. (0.3.224) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.224)
- Added JWT decoding support for sandbox credential masking, with maskClaims. (0.3.224) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.224)
- Added sigv4 for AWS SigV4 re-signing in sandbox credential-masking configuration. (0.3.224) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.224)
- Added an archive plugin config variant with a URL and optional SHA-256 for installing plugins from a zip over HTTPS. (0.3.224) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.224)
- Result messages for repeated 529 overload failures now include this field, allowing SDK consumers to detect overload terminations structurally. (0.3.223) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.223)
- With resumeSessionAt, declares the turn a truncating resume intends to drop; the CLI refuses the resume if anything else would be discarded. (0.3.223) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.223)
- Adds a control-protocol lifecycle hook event fired when a new working directory is registered mid-session. (0.3.219) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.219)
- Result and init messages include fast_mode_disabled_reason so SDK hosts can explain why fast mode is off. (0.3.219) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.219)
- Opt-in cancel_queued cancels queued and pending-dispatch messages alongside the abort. (0.3.219) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.219)
- Adds an SDK settings option for setting the advisory dynamic-workflow size guideline. (0.3.219) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.219)
- Each modelUsage entry now includes canonicalModel so downstream billing can look up the correct rate table for costUSD. (0.3.218) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.218)
- Each modelUsage entry now includes provider so downstream billing can look up the correct rate table for costUSD. (0.3.218) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.218)
- Concurrently-running subagents are capped at 20 by default; override the cap with CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS. (0.3.217) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.217)
- The success result message can include an optional request_sent_wall_ms for cross-host request-latency correlation. (0.3.216) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.216)
- The rewindFiles response can include an optional skippedLinks count for paths safety guards refused to restore or delete. (0.3.216) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.216)
- User messages include a sidecar with non_execution_kind and user_feedback so consumers can classify denied, interrupted, or cancelled tool calls without matching result prose. (0.3.216) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.216)
- The success result message can include an optional user_message_uuid for cross-host request-latency correlation. (0.3.216) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.216)
- The `task-notification` member can include `subkind: 'scheduled-trigger'` to mark deliveries that are the fired prompt of a user-configured scheduled task. (0.3.214) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.214)
- `tool_progress` messages can include `subagent_retry` so clients can show a subagent waiting out an API rate-limit retry. (0.3.214) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.214)
- `tool_progress` messages can include `subagent_type` so clients can show a subagent waiting out an API rate-limit retry. (0.3.214) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.214)
- The live stream adds an ISO-8601 timestamp to assistant messages; older emitters omit it, so consumers should fall back to receive time. (0.3.211) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.211)
- Rate-limit message prefix buckets are available as @alpha exports, letting consumers classify rate-limit messages without maintaining mirrored lists. (0.3.211) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.211)
- Adds timedOutAfterMs to BashToolOutput, set when a command is auto-backgrounded on timeout. (0.3.210) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.210)
- A published SDK type for the Agent tool's structured result now matches the emitted object exactly. (0.3.207) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.207)
- Stream-json and SDK sessions now emit frames reporting each uuid-stamped message's terminal state. (0.3.206) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.206)
- Peer-message session events now expose the decoded message body in a structured body field. (0.3.205) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.205)
- system/init advertises the interrupt_receipt_v1 capability for feature detection. (0.3.205) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.205)
- Peer-message session events now expose the sender display name in a structured name field. (0.3.205) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.205)
- Interrupt control responses now include still_queued, the UUIDs of queued async messages that will still run. (0.3.205) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.205)
- A system message now reports the full set of live background tasks on every membership change, letting consumers track background activity as a level instead of pairing task_started and task_notification edges. (0.3.203) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.203)
- Subagent session messages now include parent_agent_id, enabling developers to build depth-2+ agent trees from disk-persisted metadata. (0.3.202) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.202)
- SDK inputs now accept 'manual' as an alias for the 'default' permission mode. (0.3.200) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.200)
- The canUseTool callback options include requestId to correlate out-of-band permission responses. (0.3.199) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.199)
- Returning null suppresses the SDK's automatic control response. (0.3.199) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.199)
- Progress events include a blocked field indicating when an agent was blocked by the auto-mode safety classifier. (0.3.199) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.199)
- Adds a per-server request_timeout_ms option to the mcp_set_servers control request. (0.3.198) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.198)
- Hook input payloads now include prompt_id to correlate hook events with OpenTelemetry prompt-level events. (0.3.196) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.196)
- Adds a method to re-send the initialize control request and redeliver pending permission and dialog prompts after a transport gap. (0.3.195) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.195)
- Added the promptSuggestions option to Browser SDK query() to opt the remote CLI into emitting follow-up suggestions. (0.3.193) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.193)
- The usage response now includes model_scoped for per-model weekly limit windows with utilization and reset times. (0.3.191) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.191)
- NotebookEdit tool results now include old_source for replace and delete operations, enabling inline diffs. (0.3.191) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.191)
- The rateLimitType field adds seven_day_overage_included for per-model weekly usage limits. (0.3.191) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.191)
- Control requests now include agent_id; background agents forward permission prompts to canUseTool instead of auto-denying, and stdin stays open while background tasks run. (0.3.186) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.186)
- SDK schemas add a dedicated tool type for MCP resource directory listing, replacing the fallback inside ReadMcpResourceTool. (0.3.186) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.186)
- A new control request supports rewinding a conversation to a previous point with durable resume anchor support. (0.3.186) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.186)
- Adds canUserPurchaseCredits to SDKRateLimitInfo for detecting credits-required rate limits. (0.3.181) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.181)
- Adds errorCode to SDKRateLimitInfo for detecting credits-required rate limits. (0.3.181) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.181)
- Adds hasChargeableSavedPaymentMethod to SDKRateLimitInfo for detecting credits-required rate limits. (0.3.181) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.181)
- Adds icon_url to assistant messages, populated from MCP server directory metadata. (0.3.181) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.181)
- Assistant messages can include an optional sidecar with display-friendly tool-call names, allowing SDK consumers to render human-readable labels instead of raw wire names. (0.3.179) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.179)
- Remote Control workers send a worker_shutting_down system message on graceful exit so remote clients can show why the session ended. (0.3.178) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.178)
- The message's trigger field now includes the server_error and last_resort values. (0.3.174) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.174)
- The SDK plugins option accepts skipMcpDiscovery: true per plugin, letting hosts manage MCP connections without the engine re-reading the plugin's .mcp.json. (0.3.172) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.172)
- Added claude-fable-5 to SDK model types, making it available as a model identifier. (0.3.170) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.170)
- Added the fable alias to SDK model types, making it available as a model identifier. (0.3.170) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.170)
- Adds an sse option as an alternative to websocket for browser SDK consumers who prefer Server-Sent Events. (0.3.169) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.169)
- Adds an experimental Query method returning structured session cost, plan rate-limit, and local usage-behaviors data. (0.3.169) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.169)
- Stop and SubagentStop hook events now support additionalContext, enabling non-error feedback that continues the turn. (0.3.163) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.163)
- Refusal errors now include stop_details on assistant messages and in session transcripts. (0.3.162) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.162)
- ControlResponse gains an optional pending_permission_requests field, mirroring ControlErrorResponse. (0.3.161) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.161)
- SessionStart hooks can set the session title via hookSpecificOutput.sessionTitle. (0.3.152) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.152)
- Adds a hook event that lets hooks transform or hide assistant message text as it is displayed. (0.3.152) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.152)
- SessionStart hooks can return reloadSkills: true to trigger a skill re-scan. (0.3.152) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.152)
- A new export supports bun build --compile consumers by providing extractFromBunfs(binPath) to copy the platform native binary out of the compiled executable's virtual filesystem. (0.3.144) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.144)
- SDK message types and task system events now surface request_id. (0.3.142) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.142)
- SDK message types and task system events now surface subagent_type. (0.3.142) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.142)
- SDK message types and task system events now surface task_description. (0.3.142) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.142)

### Performance

- The browser SDK bundle is 40% smaller to download because it no longer bundles a Node `crypto` polyfill. (0.3.300) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.300)
- The SDK package is smaller and loads faster because sdk.mjs no longer bundles unused dependencies. (0.3.281) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.281)
- Improves query() session startup with in-process MCP servers by running their handshake inside the SDK; initialize may wait up to 250 ms for them. (0.3.281) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.281)
- The first turn no longer waits up to 2 seconds for connecting MCP servers from settings files or plugins whose tool search defers; options.mcpServers servers are still awaited. (0.3.274) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.274)

### Behavior and default changes

- Fork subagents are now on by default in SDK sessions, matching the terminal; run_in_background remains available, and CLAUDE_CODE_FORK_SUBAGENT=0 turns them off. (0.3.302) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.302)
- In auto mode, the final report now runs as its own turn instead of being joined with another message from the same subagent. (0.3.300) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.300)
- `maxThinkingTokens: 0` runs as adaptive thinking on models that cannot turn thinking off. (0.3.300) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.300)
- `thinking: { type: 'disabled' }` runs as adaptive thinking on models that cannot turn thinking off. (0.3.300) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.300)
- The default limit on MCP server instructions increased from 2,048 to 4,096 characters, including for in-process SDK servers. (0.3.296) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.296)
- The default limit on MCP tool descriptions sent up front increased from 2,048 to 4,096 characters. (0.3.296) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.296)
- Descriptions loaded through tool search, including those from in-process SDK servers, are now cut at 16,384 characters instead of 2,048. (0.3.295) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.295)
- When a long result is saved to a file or cut because it could not be, text kept past 500,000 characters is dropped with a note of how much. (0.3.295) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.295)
- The SDK now passes named option values to Claude Code in the same argument as their flag, using the --flag=value form. (0.3.295) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.295)
- The top-level approve field on SendMessage tool-use inputs is now always a boolean, so hosts need not infer it from raw input. (0.3.292) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.292)
- A person's priority now message moves running shell commands, agents and MCP calls to the background and joins the running turn instead of stopping it. (0.3.286) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.286)
- Setting ultracode to true preserves the current effort level instead of switching it to xhigh. (0.3.284) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.284)
- A renamed skill's directory name is added to its SlashCommand aliases when the name is plain and Claude Code has no command by that name. (0.3.284) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.284)
- Omitting max_thinking_tokens leaves the session's thinking budget unchanged; send null to reset it to the session default. (0.3.283) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.283)
- The CLI answers the host's initialize request before starting background start-up work, improving SDK session start-up. (0.3.281) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.281)
- Retry heartbeats continue while sub-agent work waits during unattended retry. (0.3.280) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.280)
- When asked during a running turn, side questions now see that turn's prompt, replies, and finished tool results so far. (0.3.280) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.280)
- A local host's declared scheduled-task fire is honored only in a process it started with this environment variable set to 1. (0.3.280) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.280)
- When an unattended retry waits on a usage limit, it emits a rate_limit_event with rejected and resetsAt as the wait begins. (0.3.280) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.280)
- With session-state events enabled, events report requires_action while an MCP elicitation waits on the user, as they do for permission prompts. (0.3.280) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.280)
- Usage report rows always carry is_active; reports relay rows only from a live server reply and none while the usage fetch is failing. (0.3.277) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.277)
- A one-line transcript notice appears when the SDK host's Stop or SessionStart hook callback times out, and is shown once until the host answers again. (0.3.273) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.273)
- Updated to parity with Claude Code v2.1.270; the notes do not specify which behaviors changed. (0.3.270) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.270)
- user_message_uuid, user_message_uuids and resume_reason are now stamped on a turn's first complete assistant message as well as its first stream event when partial messages are on. (0.3.269) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.269)
- The initialize success response always includes this field, empty when nothing is pending, so clients can distinguish it from an older CLI. (0.3.268) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.268)
- A model id the CLI does not know locally is confirmed with the API the first time a session uses it instead of being refused as unrecognized. (0.3.268) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.268)
- On an automatic re-run of an interrupted turn, this field now names that turn's last user prompt. (0.3.268) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.268)
- Recording now defaults on for custom prompts and appends; a mid-session prompt change takes effect at the next compaction. (0.3.267) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.267)
- Pass `snapshot: false` to keep per-request rendering. (0.3.267) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.267)
- user_message_uuid is now set on the first reply after each change of the message a turn is answering, rather than on one reply frame per turn. (0.3.265) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.265)
- Re-emits during an exceeded window on repeat 429s about once every 30 seconds per limit window, letting stream consumers refresh stale rate-limit state. (0.3.260) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.260)
- Validation errors now identify the offending key, allowed values, and actual length or count. (0.3.260) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.260)
- Lists a server whose connection attempt throws under added as well as reporting a failed row in mcp_status. (0.3.257) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.257)
- Agent tool calls emit periodic heartbeat progress like other long tools; heartbeat frames do not clear a subagent_retry indicator. (0.3.257) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.257)
- Updated the SDK to parity with Claude Code v2.1.252; the notes do not specify which behaviors changed. (0.3.252) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.252)
- Updated the SDK to parity with Claude Code v2.1.251. (0.3.251) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.251)
- The SDK was updated to parity with Claude Code v2.1.241. (0.3.241) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.241)
- A repeated initialize on a running process is followed by a snapshot of live background tasks, allowing reconnecting hosts to see work that is still running. (0.3.239) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.239)
- A result held back for background subagents in one-shot mode reports total_cost_usd, duration_api_ms, and modelUsage as of its release rather than the turn-end snapshot. (0.3.239) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.239)
- Updated the SDK to parity with Claude Code v2.1.237. (0.3.237) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.237)
- Bare headless (-p / SDK query() without canUseTool) now emits this stream event when a tool call is auto-denied. (0.3.223) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.223)
- SkillToolOutput now reports background: true when a forked skill is dispatched as a detached background agent. (0.3.218) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.218)
- Assistant messages truncated by `interrupt()` now carry `aborted: true`, allowing consumers to distinguish mid-stream partial messages from completed messages. (0.3.214) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.214)
- Plugin entries in `system/init` messages and `reload_plugins` responses now include each plugin's manifest version. (0.3.214) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.214)
- Query.interrupt() now returns the typed interrupt receipt. (0.3.205) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.205)
- Updated the SDK to parity with Claude Code v2.1.201. (0.3.201) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.201)
- Updated the SDK to parity with Claude Code v2.1.185. (0.3.185) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.185)
- Advisory messages now carry typed denial reasons safetyCheck and asyncAgent, letting SDK consumers programmatically match denial causes. (0.3.178) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.178)
- SDK consumers now receive this message for overloaded, server_error, and last_resort fallback triggers, in addition to model_not_found and permission_denied. (0.3.174) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.174)
- The SDK was updated to match Claude Code, which may affect its behavior for developers. (0.3.165) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.165)
- Refusal errors now expose stop_reason as refusal on assistant messages and in session transcripts, allowing consumers to detect refusals without matching error text. (0.3.162) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.162)
- Agent changes now apply in a running session on the next turn; passing null resets the active agent. (0.3.161) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.161)
- The SDK was updated to parity with Claude Code v2.1.156. (0.3.156) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.156)
- Updated the SDK to parity with Claude Code v2.1.153. (0.3.153) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.153)

### Tooling

- Now a peerDependency instead of a dependency; runtime is unaffected, and yarn classic users should add it explicitly for full TypeScript type resolution. (0.3.143) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.143)
- Now a peerDependency instead of a dependency; runtime is unaffected, and yarn classic users should add it explicitly for full TypeScript type resolution. (0.3.143) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.143)

### Fixes and other changes

- Continues reporting a tool's _meta.ui.visibility when the rest of its _meta.ui fails validation. (0.3.301) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.301)
- A model ID now applies even when the account is at its five-hour or weekly usage limit; the next message reports the limit. (0.3.301) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.301)
- Transcript rows containing Unicode line or paragraph separators are no longer skipped on Node 24 and Bun. (0.3.300) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.300)
- When refusing with “unseen later turn,” the operation no longer stops the running turn first. (0.3.300) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.300)
- When queued user messages with content-block arrays are merged into one turn, they now have a line break between them. (0.3.299) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.299)
- For a message stopped during prompt hooks or plugins, rewind now returns rewound: true with null prefillText until a reply or input follows. (0.3.299) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.299)
- In-process SDK MCP servers named constructor or toString are no longer silently dropped when a prewarm() process is claimed. (0.3.299) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.299)
- The sandbox option now merges with an inline settings.sandbox block; option values win, and deny and credential lists from both are combined. (0.3.296) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.296)
- For permission answers received after a restart, a malformed updatedPermissions list is ignored as a whole. (0.3.296) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.296)
- Assistant text blocks no longer lose citations in streamed responses. (0.3.295) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.295)
- Fixes an MCP server added with mcp_set_servers sometimes keeping an outdated tool list when another server in the same request connects later. (0.3.295) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.295)
- Events with status allowed_warning now include overageDisabledReason, as allowed and rejected events already do. (0.3.295) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.295)
- Events with status allowed_warning now include overageResetsAt, as allowed and rejected events already do. (0.3.295) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.295)
- Events with status allowed_warning now include overageStatus, as allowed and rejected events already do. (0.3.295) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.295)
- Claude is no longer told an in-process MCP server was disabled by the user when it was switched off with toggleMcpServer(). (0.3.295) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.295)
- When auto mode is unavailable, tool calls from subagents with a declared auto permission mode are decided by the canUseTool callback instead of the auto-mode classifier. (0.3.292) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.292)
- A repeated user message with the same UUID is replayed when a turn takes it, rather than while its first copy is still waiting for its turn. (0.3.290) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.290)
- This field is now also set on a turn resumed by a restarted worker after a permission answer or while tool calls are still in flight. (0.3.290) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.290)
- Failed Claude in Chrome tool calls now include `_meta` in `tool_use_result` when the result has one, matching other MCP tools. (0.3.290) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.290)
- This field is now also set on a turn resumed by a restarted worker after a permission answer or while tool calls are still in flight. (0.3.290) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.290)
- This field is now also set on a turn resumed by a restarted worker after a permission answer or while tool calls are still in flight. (0.3.290) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.290)
- Streams no longer leave a message without `message_stop` when cut, interrupted, or falling back to non-streaming. (0.3.287) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.290), [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.287)
- The response now includes commands registered at startup, preventing `commands_changed` from arriving before `init` or twice at session start. (0.3.287) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.287)
- A revoked claude.ai login now reports this specific authentication error instead of a generic or access-related message. (0.3.287) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.287)
- In-process MCP tool calls no longer remain waiting when this API removes their server. (0.3.287) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.287)
- In-process MCP tool calls no longer remain waiting when this API disables their server. (0.3.287) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.287)
- Fixed foreground subagents sometimes not receiving the task-tracking tools listed in tools or allowedTools. (0.3.286) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.286)
- When a tool's schema cannot be converted to JSON Schema, the server leaves that tool out with a warning naming it, rather than listing no tools. (0.3.286) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.286)
- Fixed disconnecting and re-enabling in-process MCP servers created with createSdkMcpServer(), except one named claude-in-chrome. (0.3.286) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.286)
- With CLAUDE_CODE_FORK_SUBAGENT=1, a subagent's own Agent call now runs in the foreground so the subagent gets the child's result. (0.3.285) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.285)
- Now includes a message sent while Claude was working if the process stops before the reply or another prompt follows without a reply in between. (0.3.285) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.285)
- Rewinding a conversation now stops a backgrounded MCP tool call started by the message that was removed. (0.3.285) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.285)
- Calling toggleMcpServer(name, false) now closes the connection for a server that had not connected when the session started or whose config changed after connecting. (0.3.285) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.285)
- A hook callback returning `{ decision: 'block' }` now declines the MCP elicitation. (0.3.284) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.284)
- Fixes forked sessions reading the wrong history in cases involving rewinds, progress rows, fork briefings, or compaction with messages kept. (0.3.284) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.284)
- Includes messages from other agents, sessions, and channels that appear in the CLI transcript. (0.3.284) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.284)
- Keeps stdin open for a follow-up turn woken by a finished background agent, preventing its hooks, canUseTool, and SDK MCP calls from failing with “Stream closed.” (0.3.284) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.284)
- No longer copies a rewound-away branch when the newest branch ends at a meta row or a local command's rows. (0.3.283) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.283)
- No longer returns a rewound-away branch when the newest branch ends at a meta row or a local command's rows. (0.3.283) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.283)
- Output now includes warnings and notices raised during a turn as system/informational messages instead of dropping them. (0.3.283) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.283)
- Permission and dialog callbacks are no longer invoked for requests that arrive after close(). (0.3.281) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.281)
- Fixes control requests issued after a query closed hanging or leaking. (0.3.281) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.281)
- Permission prompts can now be cancelled after a cancelled request is redelivered. (0.3.281) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.281)
- Fixes session_state_changed remaining at requires_action after overlapping permission and sandbox network-access prompts are answered. (0.3.281) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.281)
- Updated the SDK to parity with Claude Code v2.1.278; the notes do not specify individual changes. (0.3.278) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.278)
- Resumed or forked sessions now continue get_usage totals from earlier turns instead of starting at zero; maxBudgetUsd is unchanged. (0.3.277) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.277)
- Resumed or forked sessions now continue modelUsage totals from earlier turns instead of starting at zero; maxBudgetUsd is unchanged. (0.3.277) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.277)
- Usage report rows always carry severity; reports relay rows only from a live server reply and none while the usage fetch is failing. (0.3.277) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.277)
- Resumed or forked sessions now continue total_cost_usd from earlier turns instead of starting at zero; maxBudgetUsd is unchanged. (0.3.277) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.277)
- forkSession({ upToMessageId }) now accepts a client-supplied SDKUserMessage.uuid that is not in UUID format. (0.3.275) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.275)
- forkSession now accepts the id returned by getSessionMessages for a message sent while Claude was working. (0.3.275) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.275)
- A fork no longer shows a re-run prompt twice. (0.3.275) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.275)
- Calling getSessionMessages() right after a turn's result message no longer sometimes misses the assistant message. (0.3.275) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.275)
- Queued messages Claude read while running a tool, including task notifications, now appear in the returned messages where Claude read them. (0.3.275) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.275)
- Deferred tool call results now use the tool_use_result key when the tool reruns at the start of a resumed turn. (0.3.275) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.275)
- Messages sent while Claude was running a tool are now returned as user messages where Claude read them. (0.3.274) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.274)
- Replayed user messages now include the task-notification origin when a background task finishes during a running turn. (0.3.274) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.274)
- Timed-out Stop, SubagentStop, or SessionStart hook callbacks now count as no decision instead of being reported as failures and discarding other hooks' decisions. (0.3.273) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.273)
- The browser SSE transport no longer drops live slash-command list updates. (0.3.273) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.273)
- Fixes finding sessions when dir is on a mapped network drive or SUBST drive on Windows. (0.3.271) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.271)
- Fixes finding sessions when dir is on a mapped network drive or SUBST drive on Windows. (0.3.271) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.271)
- Fixes finding sessions when dir is on a mapped network drive or SUBST drive on Windows. (0.3.271) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.271)
- Fixes resume losing the global config when it is stored under the legacy .config.json name or an OAuth-suffixed file name. (0.3.271) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.271)
- Interrupts and permission responses are no longer delayed while OAuth sign-in waits on a slow authorization server. (0.3.269) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.269)
- Fixed permission_denials omitting Read, Edit and Write calls blocked by a path-scoped deny rule. (0.3.269) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.269)
- task_started and task_notification now carry the agent's last call id when the CLI resumes a background subagent on its own. (0.3.269) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.269)
- A shell working directory changed with cd now persists across turns in multi-turn sessions instead of resetting to the cwd option at each new user message. (0.3.265) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.265)
- The success result now includes user_message_uuid when a turn sends no API request, such as for a slash command. (0.3.265) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.265)
- Fixed query() throwing "Object not disposable" in runtimes without a native Symbol.dispose, including certain Node vm contexts and Node <18.18. (0.3.261) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.261)
- Results now append the last StructuredOutput tool error. (0.3.260) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.260)
- The value "disable" is no longer dropped by the restrictive-only filter and turns auto mode off for the spawned session. (0.3.260) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.260)
- The browser SDK bundle now streams messages on engines without native Symbol.dispose, including Safari/iOS, Firefox ESR, and older Chromium. (0.3.257) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.257)
- Acts on the server configured through --mcp-config or mcp_set_servers rather than a same-named server in .mcp.json or ~/.claude.json. (0.3.257) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.257)
- Acts on the server configured through --mcp-config or mcp_set_servers rather than a same-named server in .mcp.json or ~/.claude.json. (0.3.257) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.257)
- Disabling a server no longer removes tools belonging to a sibling MCP server whose name extends the disabled server's name. (0.3.257) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.257)
- Adds thinkingTokens as a subset of outputTokens and reports the session's real thinking-token count in result-message usage. (0.3.257) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.257)
- Stops a long-running background subagent when giving up, preventing it from remaining listed or emitting events after its stopped notification. (0.3.257) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.257)
- A background Bash task still running when a stream-json session ends immediately after an interrupt now receives its final notification. (0.3.257) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.257)
- Per-turn `system/init` frames now report the permission mode at turn start, avoiding a stale value when the mode switches right after submitting. (0.3.247) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.247)
- Fixes array systemPrompt handling so SYSTEM_PROMPT_DYNAMIC_BOUNDARY is not sent to the model as literal text on Bedrock, Vertex, Foundry, and gateway providers. (0.3.239) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.239)
- Setting this environment variable to true now keeps prompt_suggestion messages on when the account is near, but not over, its usage limit. (0.3.238) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.238)
- A cross-session peer message declined by the session's receive-side policy now reports the terminal state refused instead of producing no lifecycle frames. (0.3.238) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.238)
- The response now reports hooks_applied when a host re-sends initialize to an already-running CLI, fixing SDK hook callbacks silently not applying. (0.3.238) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.238)
- Events report the directory the shell finished in, reflecting an inner cd. (0.3.234) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.234)
- Notification hooks now fire for pending permission prompts on the SDK path, matching interactive REPL behavior. (0.3.233) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.233)
- vcs_state_changed events now populate branch for push operations, sourced from the pushed ref. (0.3.232) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.232)
- Updated the SDK to parity with Claude Code v2.1.231; the notes do not specify which behaviors changed. (0.3.231) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.231)
- Fixed background subagents in headless/SDK sessions not resuming when a background shell command or Monitor they left running completed, so they can see the result. (0.3.225) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.225)
- Resumed subprocesses now carry user settings.json values for apiKeyHelper, env, hooks, and permissions. (0.3.222) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.222)
- External MCP servers passed via this option are connected before the first turn, preventing the model from emitting tool calls as literal text. (0.3.221) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.221)
- The initialize response now reports fast_mode_state from the current model after a model switch, rather than from the spawn-time model. (0.3.219) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.219)
- The result event now reports 429 or 529 instead of null for rate-limit and overloaded errors delivered mid-stream. (0.3.218) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.218)
- Fixed pending permission prompts not being re-sent to clients that connect after the prompt appeared. (0.3.217) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.217)
- The TypeScript type for `effortLevel` now accepts `'max'`, which was already supported at runtime. (0.3.214) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.214)
- Agent tool output now includes the resolved model when a mid-turn model swap changed the subagent's model. (0.3.212) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.212)
- Dash-leading values are now passed to the CLI using equals-form, preventing them from being interpreted as separate argv tokens. (0.3.212) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.212)
- Dash-leading values are now passed to the CLI using equals-form, preventing them from being interpreted as separate argv tokens. (0.3.212) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.212)
- Process-exit errors include the CLI's stderr output, reporting the child process's actual cause instead of only an exit code. (0.3.211) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.211)
- With --include-partial-messages, the turn-start user replay is emitted before the turn's content events instead of after the first content block. (0.3.211) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.211)
- Streaming queries sharing one controller no longer accumulate abort listeners on its signal after each completed query. (0.3.208) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.208)
- Dash-leading `extraArgs` values are now bound with equals-form argv instead of being parsed as their own CLI flags. (0.3.208) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.208)
- Clarified that `MCP_TOOL_TIMEOUT` is the environment variable for configuring the MCP tool-call timeout. (0.3.208) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.208)
- A caller abort during a pending hook callback no longer becomes hook success, preventing PreToolUse-gated tools from executing after the abort. (0.3.208) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.208)
- Fixed a per-query resource leak when spawning the CLI fails because the executable path is nonexistent or inaccessible. (0.3.208) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.208)
- Fixed an uncaught exception when writing to stdin after the Claude Code subprocess has exited. (0.3.208) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.208)
- A hook callback timeout now blocks the prompt with a clear timeout message while allowing the session to continue, rather than killing the query with an empty error. (0.3.208) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.208)
- Allowing a tool without updatedInput now runs it with the original input instead of rejecting it with a raw ZodError message. (0.3.207) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.207)
- Zero-API results no longer report stale duration_api_ms values. (0.3.206) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.206)
- Fixed stable releases shipping sdk.d.ts with unresolved type references that broke consumer typechecking when skipLibCheck was disabled. (0.3.203) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.203)
- Non-object settings values now return a control error instead of crashing the session. (0.3.202) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.202)
- The callback now fires for SDK-hosted Remote Control sessions. (0.3.200) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.200)
- Prevents workflow progress events from silently dropping earliest agents while the phase counter remains correct. (0.3.198) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.198)
- Fixed deduplication dropping tool-use IDs after 1000 resolutions, which could cause duplicate tool_result deliveries in long-running sessions. (0.3.196) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.196)
- Ensures the event is emitted for synced skills when the skill list resolves before the change-detector subscribes. (0.3.195) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.195)
- Fixed brief console window flashes on Windows when spawning CLI subprocesses. (0.3.193) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.193)
- Fast mode no longer reverts to standard after the first turn when settingSources includes user or project settings. (0.3.191) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.191)
- SDK-hosted Remote Control sessions no longer drop file_attachments from inbound user messages. (0.3.181) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.181)
- Fixed `-p` mode exiting before a completed background agent's notification arrived, which could cause interim text to be delivered as the final result. (0.3.179) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.179)
- The turn result is emitted at the turn boundary, and the session reports idle while background tasks continue. (0.3.179) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.179)
- Spawn failures on an existing native binary now explain a likely musl/glibc mismatch and suggest options.pathToClaudeCodeExecutable. (0.3.178) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.178)
- Hook block feedback is now emitted to the SDK event stream, so consumers can see why a prompt was blocked instead of encountering a silent hang. (0.3.178) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.178)
- Fixed background agent, remote agent, and MCP task state not being restored when resuming a session via the SDK. (0.3.176) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.176)
- Fixed turn result messages being dropped when multiple turns complete while a background agent or workflow is running. (0.3.176) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.176)
- Input such as `/ add tests` is no longer silently dropped and is treated as a plain prompt. (0.3.172) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.172)
- Fixed MCP resource tools not being injected for servers added at runtime via the mcp_set_servers control request. (0.3.166) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.166)
- SDK hosts can add builtin MCP servers with setMcpServers even when the CLI was launched without them. (0.3.163) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.163)
- stop_task control requests now return success when the target task is already gone, allowing SDK clients to reliably prune stale task chips. (0.3.163) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.163)
- A second initialize request returns the same success payload instead of an Already initialized error. (0.3.161) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.161)
- Aborting during a PostToolUse hook now ends the turn with a final result message instead of hanging the calling process. (0.3.160) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.160)
- Fixed stdio MCP servers being incorrectly restarted on every reconcile pass because of config-equality false positives. (0.3.154) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.154)
- Fixed custom options.env dropping CLAUDE_AGENT_SDK_VERSION, which is used for User-Agent and telemetry. (0.3.149) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.149)
- Clarified that Options.env replaces the subprocess environment rather than merging with process.env. (0.3.149) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.149)
- The api_error_status field on result messages is now documented. (0.3.144) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.144)
- Assistant messages and StopFailure hooks now report error: 'model_not_found' when the selected model doesn't exist or isn't available, instead of 'invalid_request'. (0.3.144) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.3.144)

## @anthropic-ai/claude-agent-sdk 0.2

### Breaking changes

- Added to PostToolUseHookSpecificOutput to replace tool output on all tools. (0.2.121) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.121)
- options.env replaces process.env for the CLI subprocess instead of overlaying it; include process.env to add or override individual variables. (0.2.113) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.113)
- options.env now overlays the inherited process.env instead of replacing it. (0.2.111) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.111)
- When enabled is true, failIfUnavailable now defaults to true; query() emits an error result and exits if sandbox dependencies are missing. Set it to false to allow graceful degradation. (0.2.91) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.91)
- session_state_changed events are opt-in; set this environment variable to 1 to receive them. (0.2.83) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.83)

### Security

- Added a hook event that fires when configuration files change during a session, enabling enterprise security auditing and optional blocking of settings changes. (0.2.49) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.49)

### Deprecations

- The TodoWrite tool is deprecated; future versions will switch to Task tools (TaskCreate, TaskGet, TaskUpdate, TaskList). (0.2.136) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.136)
- Passing 'Skill' in allowedTools is deprecated; use the skills option instead. (0.2.133) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.133)
- The unstable V2 session API is deprecated; use query() instead. (0.2.133) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.133)
- The unstable V2 session API is deprecated; use query() instead. (0.2.133) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.133)
- The unstable V2 session API is deprecated; use query() instead. (0.2.133) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.133)
- Deprecated in favor of updatedToolOutput, which can replace tool output on all tools. (0.2.121) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.121)

### New APIs and options

- Exported from @anthropic-ai/claude-agent-sdk/sdk-tools and included in the ToolInputSchemas union. (0.2.141) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.141)
- Exported from @anthropic-ai/claude-agent-sdk/sdk-tools and included in the ToolOutputSchemas union. (0.2.141) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.141)
- Exported from @anthropic-ai/claude-agent-sdk/sdk-tools and included in the ToolInputSchemas union. (0.2.141) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.141)
- Exported from @anthropic-ai/claude-agent-sdk/sdk-tools and included in the ToolOutputSchemas union. (0.2.141) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.141)
- Exported from @anthropic-ai/claude-agent-sdk/sdk-tools and included in the ToolInputSchemas union. (0.2.141) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.141)
- Exported from @anthropic-ai/claude-agent-sdk/sdk-tools and included in the ToolOutputSchemas union. (0.2.141) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.141)
- Exported from @anthropic-ai/claude-agent-sdk/sdk-tools and included in the ToolInputSchemas union. (0.2.141) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.141)
- Exported from @anthropic-ai/claude-agent-sdk/sdk-tools and included in the ToolOutputSchemas union. (0.2.141) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.141)
- The task input types are now included in this union. (0.2.141) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.141)
- The task output types are now included in this union. (0.2.141) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.141)
- Adds an alpha API to inspect effective merged settings without spawning the Claude CLI; it reads MDM (plist/HKLM/HKCU) for parity with CLI startup. (0.2.136) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.136)
- Top-level keys can now be set to null to clear flag-settings overrides. (0.2.132) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.132)
- Result messages now include the triggering message's origin, letting consumers distinguish user-prompted results from task-notification followups. (0.2.126) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.126)
- Lets embedders pass policy-tier settings to the spawned CLI in-memory, honored below IT-controlled managed sources. (0.2.118) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.118)
- Removes a session from disk or a SessionStore. (0.2.113) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.113)
- The alpha sessionStore option and session helpers mirror session transcripts to external storage. (0.2.113) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.113)
- The title option sets the session title and skips auto-generation. (0.2.113) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.113)
- Adds a `mirror_error` message to the SDKMessage union when a sessionStore.append() batch fails. (0.2.113) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.113)
- Remote HTTP/SSE server entries can carry per-tool permission policies that are applied to the session's allow/deny rules. (0.2.111) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.111)
- Opus 4.7 is now available, and this SDK version is required to use it. (0.2.111) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.111)
- Adds an optional field; set it to false to append a user message without triggering an assistant turn. Such messages no longer trigger auto-title generation, prompt suggestions, or UserPromptSubmit hooks. (0.2.110) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.110)
- Adds `memory_paths` on `system/init` so SDK renderers can surface memory operations. (0.2.105) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.105)
- Adds an event for SDK renderers to surface memory operations. (0.2.105) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.105)
- The public PermissionMode type now includes 'auto'. (0.2.91) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.91)
- Result messages can expose why the query loop terminated, such as completed, aborted_tools, max_turns, or blocking_limit. (0.2.91) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.91)
- Adds an option to optionally include system messages in session history. (0.2.89) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.89)
- Adds a function to retrieve subagent conversation history from sessions. (0.2.89) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.89)
- Adds a function to retrieve subagent conversation history from sessions. (0.2.89) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.89)
- Adds an option to enable hook lifecycle messages for all hook event types. (0.2.89) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.89)
- Adds startup() to pre-warm the CLI subprocess before query(), making the first query ~20x faster when startup cost can be paid upfront. (0.2.89) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.89)
- Adds a control method that retrieves a breakdown of context window usage by category. (0.2.86) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.86)
- Adds an SDK method to reload plugins and receive refreshed commands, agents, and MCP server status. (0.2.85) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.85)
- Adds a field on `McpServerStatus` for SDK-driven MCP channel activation. (0.2.84) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.84)
- Exports the type `'low' | 'medium' | 'high' | 'max'` so consumers can reference effort values directly. (0.2.84) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.84)
- Adds a method for SDK-driven MCP channel activation. (0.2.84) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.84)
- Adds API-side token budget awareness, allowing the model to pace tool use within a token limit. (0.2.84) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.84)
- Added a control subtype to seed readFileState with {path, mtime}, allowing Edit to work after the originating Read was removed from context. (0.2.83) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.83)
- Adds 'resume' to the ExitReason type to distinguish resume-triggered session ends in hooks. (0.2.79) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.79)
- Adds api_retry system messages for transient API retries, exposing the attempt count, maximum retries, delay, and error status. (0.2.77) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.77)
- Adds a control subtype to drop a queued user message by UUID before execution. (0.2.76) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.76)
- Adds forkSession(sessionId, opts?) for branching conversations from a point. (0.2.76) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.76)
- Adds hook types for handling MCP server input requests programmatically. (0.2.76) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.76)
- Adds the planFilePath field to ExitPlanMode tool input for hooks and SDK consumers. (0.2.76) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.76)
- Adds a system message for handling MCP server input requests programmatically. (0.2.76) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.76)
- Adds renameSession(sessionId, title, opts?) to rename session files. (0.2.74) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.74)
- Enables periodic AI-generated progress summaries for running foreground and background subagents. (0.2.72) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.72)
- Adds an `applied` section containing runtime-resolved `model` and `effort` values. (0.2.72) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.72)
- Progress summaries are emitted through a new `summary` field on `task_progress` events. (0.2.72) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.72)
- Hook events now include agent_id for subagents. (0.2.69) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.69)
- Hook events now include agent_type for subagents and --agent. (0.2.69) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.69)
- ModelInfo now indicates whether a model supports fast mode. (0.2.69) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.69)
- Configures whether the AskUserQuestion preview field uses markdown or html. (0.2.69) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.69)
- The Query interface gains supportedAgents() to view available subagents. (0.2.63) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.63)
- Adds a function to read a session's conversation history from its transcript file, with pagination via limit and offset options. (0.2.59) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.59)
- Adds an API for discovering and listing past sessions with light metadata. (0.2.53) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.53)
- Added task_progress events for real-time background agent progress reporting, including cumulative usage metrics, tool counts, and duration. (0.2.51) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.51)
- SDK model info now includes supportedEffortLevels so consumers can discover model capabilities. (0.2.49) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.49)
- SDK model info now includes supportsAdaptiveThinking so consumers can discover model capabilities. (0.2.49) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.49)
- SDK model info now includes supportsEffort so consumers can discover model capabilities. (0.2.49) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.49)
- Added a Query method to request prompt suggestions based on the current conversation context. (0.2.47) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.47)
- Added the tool_use_id field to task_notification events to correlate task completions with originating tool calls. (0.2.47) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.47)
- Added support for Claude Sonnet 4.6. (0.2.45) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.45)
- The SDK stream now emits a task_started system message when subagent tasks are registered. (0.2.45) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.45)
- Added a sessionId option to specify a custom UUID for conversations instead of using auto-generated ones. (0.2.33) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.33)
- Added the TaskCompleted hook event for handling task-completed events. (0.2.33) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.33)
- Added the input type for the TaskCompleted hook event. (0.2.33) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.33)
- Added the TeammateIdle hook event for handling teammate-idle events. (0.2.33) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.33)
- Added the input type for the TeammateIdle hook event. (0.2.33) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.33)
- Added to SDKResultSuccess and SDKResultError to indicate why the model stopped generating. (0.2.31) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.31)
- Adds the debug option for programmatic control of debug logging. (0.2.30) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.30)
- Adds the debugFile option for programmatic control of debug logging. (0.2.30) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.30)
- Adds an optional pages field for reading specific PDF page ranges. (0.2.30) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.30)
- Adds a parts output type for page-extracted PDF results. (0.2.30) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.30)
- Added a function to discover resumable sessions by project, repo, or globally. (0.2.27) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.27)
- The helper accepts optional annotations for specifying MCP tool hints. (0.2.27) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.27)
- Adds the config field for richer MCP server introspection. (0.2.21) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.21)
- Adds disabled as a status for MCP servers. (0.2.21) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.21)
- Adds the scope field for richer MCP server introspection. (0.2.21) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.21)
- Adds the tools field for richer MCP server introspection. (0.2.21) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.21)
- Adds a method for managing MCP server connections by reconnecting a server. (0.2.21) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.21)
- Adds a method for managing MCP server connections by toggling a server. (0.2.21) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.21)
- Directories specified via additionalDirectories can now provide CLAUDE.md files when CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD is enabled in the env option. (0.2.20) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.20)
- Set this environment variable to 1 in the env option to enable loading CLAUDE.md files from additionalDirectories. (0.2.20) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.20)
- Set this environment variable to true to opt into the new task system. (0.2.19) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.20), [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.19)
- The Query interface gained a close() method for forcefully terminating running queries. (0.2.15) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.15)
- Notification hook support was added. (0.2.15) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.15)
- Added a package.json field for programmatically determining the compatible CLI version. (0.2.6) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.6)

### Performance

- Uses less memory for large sessions with compacted history. (0.2.69) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.69)
- Memory usage is improved for shell commands that produce large output; RSS no longer grows unboundedly with command output size. (0.2.45) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.45)

### Behavior and default changes

- Updated the SDK to parity with Claude Code v2.1.137. (0.2.137) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.137)
- Updated to parity with Claude Code v2.1.129, which may affect SDK behavior. (0.2.129) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.129)
- Static auto-memory instructions now stay in the cacheable system-prompt block; only the per-user memory directory path and per-machine environment values move to the first user message. (0.2.119) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.119)
- Failures are retried up to 3 times with short backoff before the batch is dropped and `mirror_error` is emitted. (0.2.119) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.119)
- The SDK now spawns a native Claude Code binary via a per-platform optional dependency instead of bundled JavaScript. (0.2.113) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.113)
- The caller's active trace context is forwarded to the CLI subprocess so spans parent under the distributed trace. (0.2.113) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.113)
- startup() is now part of the public TypeScript API. (0.2.111) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.111)
- WarmQuery is now part of the public TypeScript API. (0.2.111) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.111)
- Auto session-title generation now respects this environment variable. (0.2.110) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.110)
- When enabled, emits a system status message with status requesting before each API request in the stream. (0.2.108) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.108)
- Adds requesting to SDKStatus for the status emitted before each API request when includePartialMessages is enabled. (0.2.108) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.108)
- Makes `session_id` optional when sending user messages; the SDK assigns one automatically. (0.2.86) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.86)
- subagent_type is now optional and defaults to the general-purpose agent when omitted. (0.2.70) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.70)
- AskUserQuestion annotations output is now exposed in the public SDK types. (0.2.69) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.69)
- The AskUserQuestion preview field is now exposed in the public SDK types. (0.2.69) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.69)
- Updated the SDK to parity with Claude Code v2.1.66. (0.2.66) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.66)
- The SDK was updated to parity with Claude Code v2.1.61. (0.2.61) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.61)
- The SDK was updated to parity with Claude Code v2.1.42; the notes do not specify which behaviors changed. (0.2.42) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.42)
- Updated to parity with Claude Code v2.1.37. (0.2.37) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.37)
- Updated the SDK to parity with Claude Code v2.1.36. (0.2.36) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.36)
- Updated to parity with Claude Code v2.1.29. (0.2.29) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.29)
- Updated the SDK to parity with Claude Code v2.1.25; the notes do not specify which behaviors changed. (0.2.25) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.25)
- The SDK was updated to parity with Claude Code v2.1.22. (0.2.22) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.22)
- Updated to parity with Claude Code v2.1.16. (0.2.16) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.16)
- Updated the SDK to parity with Claude Code v2.1.11; the notes do not specify which behaviors changed. (0.2.11) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.11)
- Updated the SDK to parity with Claude Code v2.1.9; the notes do not specify which developer-facing behaviors changed. (0.2.9) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.9)
- Updated to parity with Claude Code v2.1.6. (0.2.6) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.6)

### Fixes and other changes

- Long-running SDK sessions now reconnect claude.ai-proxied MCP servers after a transport-stream abort. (0.2.119) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.119)
- Auto session-title generation now respects this environment variable. (0.2.110) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.110)
- The session-creation API now respects the allowDangerouslySkipPermissions option. (0.2.110) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.110)
- The session-creation API now respects the cwd option. (0.2.110) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.110)
- The session-creation API now respects the settingSources option. (0.2.110) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.110)
- Stops emitting this error when the final retry succeeds, preserving valid structured output. (0.2.105) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.105)
- Fixed MaxListenersExceededWarning when running 11 or more concurrent query() calls. (0.2.101) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.101)
- Fixed temporary directories leaking during resume-session cleanup on Windows and macOS/APFS. (0.2.101) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.101)
- A failed error-report write no longer crashes the SDK process with an unhandledRejection. (0.2.94) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.94)
- The agents breakdown now includes agents passed via options.agents. (0.2.94) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.94)
- MCP server child processes are now cleaned up when an SDK query() session ends. (0.2.94) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.94)
- CJK and other multibyte text is no longer corrupted when chunk boundaries split a UTF-8 sequence in stream-json input or output. (0.2.94) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.94)
- Preserves Zod v4 field .describe() metadata in tool schemas. (0.2.89) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.89)
- Fixes errors when single-turn queries with SDK MCP servers or hooks receive control responses after the result message. (0.2.89) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.89)
- Error result messages now correctly set is_error to true and include descriptive messages. (0.2.89) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.89)
- MCP servers retry on the next message instead of remaining permanently stuck in a failed state after a connection race. (0.2.89) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.89)
- Fixes an empty settingSources array causing --setting-sources "" to consume the next CLI flag. (0.2.89) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.89)
- Fixes an empty settingSources array causing --setting-sources "" to consume the next CLI flag. (0.2.89) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.89)
- Prevents side_question from returning null on resume before the first turn completes. (0.2.89) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.89)
- Fixes SDK mode so PreToolUse hooks with permissionDecision set to "ask" are not ignored. (0.2.85) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.85)
- Errors not caused by user interruption no longer show the message `[Request interrupted by user]`. (0.2.84) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.84)
- Fixed the addRules suggestion when a write under .claude/skills/{name}/ hits the bypass-immune safety check. (0.2.81) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.81)
- Sessions with parallel tool calls now return all tool_use/tool_result pairs instead of dropping parallel tool results. (0.2.80) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.80)
- Fixes `import type` from this subpath under NodeNext/Bundler module resolution. (0.2.74) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.74)
- Skills with `user-invocable: false` are no longer included in `supportedCommands()` or the `system:init` message's `slash_commands` and `skills` lists. (0.2.74) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.74)
- Fixed `options.env` being overridden by the `~/.claude/settings.json` env block when `user` is not included in `settingSources`. (0.2.73) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.73)
- No longer fails with "Server not found" for servers passed via `query({mcpServers})`. (0.2.72) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.72)
- No longer fails with "Server not found" for servers passed via `query({mcpServers})`. (0.2.72) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.72)
- Fixed type: "http" MCP servers failing with HTTP 406 on Streamable HTTP servers that strictly enforce the Accept header. (0.2.70) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.70)
- system:init and result events emit 'Task' again as the Agent tool name; migration to 'Agent' is planned for the next minor release. (0.2.69) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.69)
- SDK-mode MCP servers registered through initialize no longer disconnect when background plugin installation refreshes project MCP config. (0.2.69) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.69)
- Malformed updatedPermissions from SDK hosts are stripped and a warning is logged instead of a ZodError blocking tool calls. (0.2.69) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.69)
- MCP replacement tools using unprefixed MCP tool names are no longer incorrectly denied in subagents. (0.2.63) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.63)
- A bare command name such as "claude" now resolves via PATH when set as pathToClaudeCodeExecutable. (0.2.63) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.63)
- Updated the SDK to parity with Claude Code v2.1.55; the notes do not specify the individual changes. (0.2.55) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.55)
- Fixed an SDK ReferenceError crash when used inside compiled Bun binaries. (0.2.51) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.51)
- Fixed local slash command output not being returned to SDK clients. (0.2.51) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.51)
- Fixed unbounded memory growth in long-running SDK sessions by evicting old message UUID entries. (0.2.51) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.51)
- Fixed the v2 session API close behavior so the subprocess can persist session data, allowing resumeSession() to work. (0.2.51) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.51)
- Permission suggestions are populated when safety checks trigger an ask response, enabling SDK consumers to display permission options. (0.2.49) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.49)
- Session.stream() no longer returns prematurely while background subagents are running; intermediate result messages are held until all tasks complete. (0.2.45) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.45)
- The “(no content)” placeholder messages are no longer included in SDK output. (0.2.30) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.30)
- Now includes tools from the SDK and dynamically-added MCP servers. (0.2.27) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.27)
- Structured output validation errors are now reported correctly. (0.2.23) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.23)
- Structured outputs now handle empty assistant messages. (0.2.22) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.22)
- Fixes PermissionRequest hooks not being executed in SDK mode, such as in the VS Code extension. (0.2.21) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.2.21)

## @anthropic-ai/claude-agent-sdk 0.1

### Breaking changes

- The V2 session API method is now named stream() instead of receive(), aligning with Anthropic SDK patterns. (0.1.72) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.1.72)

### Fixes and other changes

- Fixed a bug where Stop hooks would not consistently run due to a Stream closed error. (0.1.73) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.1.73)
- The /context command now respects custom system prompts. (0.1.72) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.1.72)
- These queries now close immediately on the first result instead of waiting for the inactivity timeout. (0.1.72) — [release notes](https://github.com/anthropics/claude-agent-sdk-typescript/releases/tag/v0.1.72)
