Repository navigation
fix(deps): update dependency @anthropic-ai/claude-agent-sdk to v0.3.296 - #71
Open
renovate[bot] wants to merge 1 commit into
Open
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
renovate
Bot
force-pushed
the
renovate/anthropic-ai-claude-agent-sdk-0.x
branch
from
July 21, 2026 23:38
2883aa5 to
7ec82d5
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
renovate
Bot
force-pushed
the
renovate/anthropic-ai-claude-agent-sdk-0.x
branch
10 times, most recently
from
July 22, 2026 19:40
1ac592b to
439be53
Compare
renovate
Bot
force-pushed
the
renovate/anthropic-ai-claude-agent-sdk-0.x
branch
2 times, most recently
from
July 23, 2026 06:34
727c105 to
d04362d
Compare
|
This pull request does not currently match the merge queue conditions, so it cannot be queued from here. The box comes back if it matches again. |
renovate
Bot
force-pushed
the
renovate/anthropic-ai-claude-agent-sdk-0.x
branch
14 times, most recently
from
July 24, 2026 07:08
0610874 to
8240236
Compare
renovate
Bot
force-pushed
the
renovate/anthropic-ai-claude-agent-sdk-0.x
branch
2 times, most recently
from
August 7, 2026 23:16
2324e24 to
57789e3
Compare
renovate
Bot
force-pushed
the
renovate/anthropic-ai-claude-agent-sdk-0.x
branch
2 times, most recently
from
August 11, 2026 04:02
850b973 to
bc53712
Compare
renovate
Bot
force-pushed
the
renovate/anthropic-ai-claude-agent-sdk-0.x
branch
from
August 16, 2026 08:04
bc53712 to
2c0d2b9
Compare
renovate
Bot
force-pushed
the
renovate/anthropic-ai-claude-agent-sdk-0.x
branch
from
August 21, 2026 03:49
2c0d2b9 to
85e4ce7
Compare
renovate
Bot
force-pushed
the
renovate/anthropic-ai-claude-agent-sdk-0.x
branch
from
August 29, 2026 06:28
85e4ce7 to
9ad367e
Compare
renovate
Bot
force-pushed
the
renovate/anthropic-ai-claude-agent-sdk-0.x
branch
from
September 4, 2026 20:06
9ad367e to
2cf5c77
Compare
renovate
Bot
force-pushed
the
renovate/anthropic-ai-claude-agent-sdk-0.x
branch
from
September 6, 2026 07:44
2cf5c77 to
dfd34b5
Compare
renovate
Bot
force-pushed
the
renovate/anthropic-ai-claude-agent-sdk-0.x
branch
from
September 12, 2026 20:12
dfd34b5 to
1484a1f
Compare
|
Important Review skippedBot user detected. To trigger a single review, invoke the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
renovate
Bot
force-pushed
the
renovate/anthropic-ai-claude-agent-sdk-0.x
branch
from
September 20, 2026 01:01
1484a1f to
ba8fad1
Compare
renovate
Bot
force-pushed
the
renovate/anthropic-ai-claude-agent-sdk-0.x
branch
from
October 2, 2026 19:53
ba8fad1 to
396b56a
Compare
renovate
Bot
force-pushed
the
renovate/anthropic-ai-claude-agent-sdk-0.x
branch
from
October 3, 2026 19:15
396b56a to
f0188c9
Compare
renovate
Bot
force-pushed
the
renovate/anthropic-ai-claude-agent-sdk-0.x
branch
from
October 4, 2026 15:49
f0188c9 to
6407e15
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.3.207→0.3.296Release Notes
anthropics/claude-agent-sdk-typescript (@anthropic-ai/claude-agent-sdk)
v0.3.296Compare Source
claude_code_versionto theinitializecontrol response so clients know the CLI version before the first turnautoCompactWindowtoAgentDefinition, so a subagent can auto-compact earlier than the main conversation's windowsandboxoption discarding an inlinesettings.sandboxblock: the two now merge, the option's values win, and deny and credential lists from both sides are combinedupdatedPermissionsentries count as a denial, and a malformed list is ignored as a wholev0.3.295Compare Source
overageEnabledtoSDKRateLimitInfo: on usage-limit warnings, whether the account has extra usage turned onmcp_set_serverssometimes keeping an outdated tool list when another server in the same request connected latercitationsin streamed responsestoggleMcpServer()rate_limit_eventwith statusallowed_warningomittingoverageStatus,overageResetsAtandoverageDisabledReason, whichallowedandrejectedevents already carryupdatedPermissionsholds over 4,096 updates, rules and directories to count as a denialtool_result_meta[].non_execution_kindto be absent when a mod withheld the result of a tool that ran without error; it waspermission-rulepasted_contenton user messages to be ignored when it holds over 1,000 entries and blocks in all--flag=value)tool_use_resultfor MCP Apps tools:structuredContentor_metaover 8,388,608 JSON characters is left off, and_meta.uiwith noui://resource no longer lifts the ordinary capstool_use_resultfor MCP tools: when a long result is saved to a file, or cut because it could not be, the text kept past 500,000 characters is dropped, with a note of how muchtool_use_resultfor MCP tools: a result_metaover 1,048,576 JSON characters is left off, except for SDK-server tools; so is text blocks'_metathat totals over 65,536v0.3.294Compare Source
v0.3.293Compare Source
subagent_typetobackground_tasks_changedtask entries, so hosts can name each subagent's type without pairing withtask_startedv0.3.292Compare Source
agent_idto theassistantandusermessages a subagent produces; it equals thetask_idon that subagent's task events and stays the same when the subagent is resumedparent_task_idtotask_startedevents andbackground_tasks_changedentries, naming the subagent task that launched a taskrun_idto background task events andorigin.runIdto task notifications, so a host can tell a resumed task's runs apartsectionsandnotesto theListAgentstool'stool_use_result, so hosts can list agents without parsing its textrecipient_kindto SendMessagetool_useinputs on assistant messages, and their top-levelapproveis now always a boolean, so hosts no longer infer them from the raw inputReadNotificationstool output:read_at, when the tool read the session's queued notifications, andarrived_aton each notification, when it reached the sessionbackground_tasks_changedfor a finishing background task to arrive after that task'stask_updatedandtask_notificationcanUseTooloptions to carrysuppressAlwaysAllowRule: truefor connector tools that an organization set to require approval, so hosts can hide their "always allow" choicev0.3.291Compare Source
v0.3.290Compare Source
offsetfield to the WebFetch tool input for reading on through long pages_meta: when the result has one,tool_use_resultis now{ content, _meta }, as for other MCP toolstoolAliasestools when written with a wildcard (Bash*), a match-all pattern (Bash(**), also on the mapped name), or an input field also indisallowedToolsuuidbeing replayed (--replay-user-messages) while the first copy still waited for its turn; its replay now comes when a turn takes itincludePartialMessagesstreams leaving a message withoutmessage_stopwhen the stream was cut, interrupted or fell back to non-streaminguser_message_uuid,user_message_uuidsandresume_reasonto also be set on a turn a restarted worker resumes from a permission answer or from tool calls still in flightv0.3.289Compare Source
v0.3.288Compare Source
v0.3.287Compare Source
first_text_post_queue_wait_ms,first_text_post_queued_behind) to the success result messageincludePartialMessagesstreams sending a cut-short reply'smessage_stoplate or never, so apps could show the reply as still in progresstoggleMcpServer()disabled the server orsetMcpServers()removed itcommands_changedarriving beforeinit, or twice, at session start: theinitializeresponse now includes commands registered at startuptool_use_resultfor a WebFetch or WebSearch call that steps aside for a priority "now" message to{ detachedToolCall: true }; the result follows in a later turntool_use_resultfor MCP tools:structuredContentover 1,048,576 JSON characters is left off andstructuredContentOmitted: trueset, except for SDK-server and MCP Apps toolsv0.3.286Compare Source
sdk_mcp_manifests_parkedand thesystem/initcapabilitiessdk_mcp_manifestsandsdk_mcp_tools_list_changedtoolsorallowedToolstoggleMcpServer()not disconnecting, and failing to re-enable, an in-process MCP server created withcreateSdkMcpServer(), except one namedclaude-in-chromenowmessage to move running shell commands, agents and MCP calls to the background and join the running turn instead of stopping itpermissionModeto Claude Code, so a settingsdefaultModenow applies and, on third-party providers or with telemetry off, the session starts in auto mode likeclaude -p; passpermissionMode: 'default'for manual approvalsv0.3.285Compare Source
read.title(the artifact's stored title) to the Artifact tool's structured read resultprovider_not_allowedtostartup_failure_reasonandallowedProvidersto theSettingstypeCLAUDE_CODE_FORK_SUBAGENT=1: a subagent's own Agent call now runs in the foreground, so the subagent gets the child's resultgetSessionMessages()leaving out a message sent while Claude was working when the process stopped before the reply, or when another prompt followed it with no reply in betweentoggleMcpServer(name, false)leaving the connection open for a server that had not yet connected when the session started, or whose config was edited after it connectedrewind_conversationleaving a backgrounded MCP tool call running after the message that started it was removedtimeoutto bound arun_in_backgroundcommand (was ignored; default 30 min, max 2 h); thestoppedtask notification for a stop at that limit says whygetSubagentMessages()to also return the messages a subagent read while it ran, such as a message sent to it;offsetandlimitcount these rowsv0.3.284Compare Source
SlashCommandaliaseswhen the name is plain and Claude Code ships no command by that nameapplied.ultracodeAvailableandapplied.ultracodeRequestedtogetSettings(): whether this session can run Ultracode, and whether it is requested, independent of whether it is in effectforkSession()copies reading back the wrong history when cut at a progress row or fork briefing after a rewind, or when the session was compacted with some messages keptgetSessionMessages()leaving out messages from other agents, sessions and channels that the CLI transcript shows{ decision: 'block' }returned by Elicitation and ElicitationResult hook callbacks being ignored; it now declines the MCP elicitationquery()closing stdin before a follow-up turn woken by a finished background agent, which failed that turn's hooks,canUseTooland SDK MCP calls with "Stream closed"allowedToolsor by anmcp_toolhook, even withCLAUDE_CODE_MCP_STARTUP_WAIT_MSset to0applyFlagSettings({ ultracode: true })to keep the current effort level instead of switching toxhigh; aneffortLevelthat changes the level withoutultracodeturns Ultracode offv0.3.283Compare Source
plugin_errorsto theSDKSystemMessagetype (system/init), includingpathfor a--plugin-direntry that did not loadgetSessionMessages()returning, andforkSession()copying, a rewound-away branch when the newest branch ends at a meta row or a local command's rowssystem/informationalmessages; it previously dropped themset_max_thinking_tokenscontrol request: omittingmax_thinking_tokensnow leaves the session's thinking budget unchanged; sendnullto reset it to the session defaultv0.3.282Compare Source
strictKnownMarketplacesandblockedMarketplacesin host-suppliedmanagedSettings: the allowlist applies only where admin policy sets none; the blocklist adds to the admin's@anthropic-ai/claude-agent-sdk/core, a smaller entry point for apps that bundle the SDK (query, MCP tool helpers, session mutations,resolveSettings); it uses your installed zod and MCP SDKprewarm()andSpareProcess.claim()(alpha): start a Claude Code process before its session is known and bind it to a folder and its per-session options laterreadMcpResource()relaying content_metakeys under the CLI-reservedcom.anthropic/prefix; they are now dropped, as for tool resultsv0.3.281Compare Source
trigger,user_message_uuidandtimestampfields to theconversation_resetmessage so clients can tell what reset the conversation, match a /clear to its message, and show when the reset happenedclose()session_state_changedstaying atrequires_actionafter an overlapping permission prompt and sandbox network-access prompt were both answeredsdk.mjsno longer bundles unused dependencies (1.47 MB → 0.97 MB)query()sessions with in-process MCP servers (createSdkMcpServer) by running their handshake inside the SDK;initializemay now wait up to 250 ms for themSettingstype'sattributionfield toboolean | {...}; TypeScript code that readsattribution.commitfrom returned settings needs a type narrowv0.3.280Compare Source
fireReasonto the task-notificationSDKMessageOrigin; a local host's declared scheduled-task fire is honored only in a process it started withCLAUDE_CODE_HOST_SCHEDULED_RUN=1verbatimPromptsoption: prompts are delivered as written — no@pathexpansion, no slash-command dispatch and, on current CLIs, no ambient attachments with the prompt (Claude Code 2.1.248+)_metatomcpServerStatus()tool entries, carrying a tool's MCP Appsuimetadata so a host can find itsui://resourcereadMcpResource()(alpha) to read an MCP Appsui://resource from an MCP server that Claude Code connectedaskSideQuestion(): asked while a turn is running, it now sees that turn (its prompt, replies and finished tool results so far) instead of only the last completed turnCLAUDE_CODE_RETRY_WATCHDOG): a usage-limit wait emitsrate_limit_event(rejected,resetsAt) as it begins;api_retryheartbeats continue while sub-agent work waitssession_state_changedevents (CLAUDE_CODE_EMIT_SESSION_STATE_EVENTS=1) to reportrequires_actionwhile an MCP elicitation waits on the user, as for permission promptsv0.3.278Compare Source
v0.3.277Compare Source
builtinfield toSlashCommand, set when a command is built into Claude Codepasted_contenttoSDKUserMessage: text the user pasted rather than typed, appended after the typed promptfirst_text_post_ms,first_text_post_wall_ms,first_stream_post_queue_wait_ms,first_stream_post_queued_behind) to the success result message'userSettings'as anupdateSettings()source, accepting onlyeffortLevel, which is saved for the session's current model as/effortsaves ittotal_cost_usd,modelUsageandget_usagetotals starting at zero instead of continuing from the earlier turns (maxBudgetUsdis unchanged)SDKUsageReportusage rows to always carryseverityandis_active: the report relays only rows from a live server reply, and none while the usage fetch is failingv0.3.276Compare Source
v0.3.275Compare Source
toolUseResultinstead oftool_use_resultwhen the tool re-runs at the start of a resumed turngetSessionMessages()andforkSession()sometimes missing a turn's assistant message when called right after the turn'sresultmessageforkSession({ upToMessageId })rejecting a client-suppliedSDKUserMessage.uuidthat is not in UUID formatforkSessionrejecting the id thatgetSessionMessagesreturns for a message sent while Claude was working, and a fork showing a re-run prompt twicegetSessionMessages()omitting a task notification or other queued message that Claude read while running a tool; it now comes back where Claude read itv0.3.274Compare Source
startup_failure_reasonto the error result a stream-json run writes before exiting on a known startup failuremcpServer: {name, source}tocanUseTooloptions,mcp_serverto tool hook inputs, andsourceto MCP server status rows, so hosts can key trust onsource === "sdk"CLAUDE_CODE_MCP_STARTUP_WAIT_MS(pass viaenv) to bound or disable (0) the first-turn wait for connecting MCP serversCLAUDE_CODE_EMIT_STARTUP_TIMING=1for stream-json hosts: the session's firstsystem/initthen carries the per-phasestartup_timingbreakdown that cloud sessions already emitgetSessionMessages()omitting a message the user sent while Claude was running a tool; it now comes back as a user message where Claude read itorigin: {kind: 'task-notification'}on the replayed user message when a background task finishes during a running turn (--replay-user-messages)options.mcpServersservers are still awaitedresult, all but the last empty withnum_turns: 0v0.3.273Compare Source
usage_reportsibling (SDKUsageReport: session totals, the plan's usage rows as the server sends them, extra usage) on the assistant message that delivers a headless/usageresultreason: "worker_restart"totask_notificationmessages when a background task was stopped by a worker process restartStoporSessionStarthook callback times out, shown once until the host answers againStop,SubagentStoporSessionStarthook callback that exceeds its timeout being reported as a hook failure and discarding other hooks' decisions; it now counts as no decisionsystem/commands_changed)v0.3.272Compare Source
v0.3.271Compare Source
omitClaudeMdtoAgentDefinitionin theagentsoption, so a subagent can run without user, project and local CLAUDE.md files; managed policy files still loadlistSessions,getSessionMessagesandgetSessionInfowithdiron Windows not finding sessions for a directory on a mapped network drive or SUBST drivesessionStoreresume losing the global config when it is stored under the legacy.config.jsonname or an OAuth-suffixed file namepersistentfrom theMonitorInputtool typev0.3.270Compare Source
v0.3.269Compare Source
user_message_uuid,user_message_uuidsandresume_reasonto be stamped on a turn's first complete assistant message as well as its first stream event when partial messages are onresult.permission_denialsomitting Read, Edit and Write calls blocked by a path-scoped deny ruletool_use_idontask_started/task_notificationwhen the CLI resumes a background subagent on its own; they now carry the agent's last call idcanUseTooleven whenallowDangerouslySkipPermissionsis set; the flag now only enables switching tobypassPermissionslaterv0.3.268Compare Source
result_indexto result messages: the result's position in delivery order within the run, from 0local_commandto the result message of a turn that ran a slash command without entering the model loop, carrying the command's namehold_on_cache_impactto thereload_pluginscontrol request (Query.reloadPlugins({ holdOnCacheImpact: true })): holds a reload that would invalidate the session's prompt cacheresume_reasonto assistant, stream-event and result messages, set only on the automatic re-run of a turn a host restart interruptedkind(used, free, buffer, deferred) to each category in theget_context_usagecontrol response, matching the/contextresult'scontext_usagerowsdefaultToNoandsuppressAlwaysAllowRulehints tocanUseTooloptions: the prompt should open on its decline option, or offer no persistent "always allow" choicesetModel()to confirm a model id the CLI doesn't know locally with the API the first time a session uses it, instead of refusing it as unrecognizeduser_message_uuidon the automatic re-run of an interrupted turn to name that turn's last user promptinitializesuccess response to always includepending_permission_requests(empty when nothing is pending), so clients can tell that apart from an older CLItools/allowedToolsv0.3.267Compare Source
getCcrEvent(query, message)andgetSseLastSequenceNum(query)to the browser SDK's SSE transport, plusfromSequenceNum,onCatchUpTruncatedandonDeliveryUpdateSSE optionssystemPromptrecording to default on for custom prompts and appends (a mid-session prompt change takes effect at the next compaction); passsnapshot: falseto keep per-request renderingv0.3.266Compare Source
v0.3.265Compare Source
user_message_uuidanduser_message_uuidsto a synthetic turn's first reply and result for a message sent withisSynthetic: trueand auuid, naming the message that started ituser_message_uuidanduser_message_uuidsto the first reply and the result of a turn Claude Code started itself, such as a resume, naming the messages you sent that it picked up mid-turnuser_message_uuidmissing from the success result of a turn that sent no API request, such as a slash commandcwdoption at each new user message; acdmade by the agent now persists across turns, as in the interactive appuser_message_uuidto be set on the first reply after each change of the message a turn is answering, instead of on one reply frame per turnv0.3.263Compare Source
v0.3.261Compare Source
pluginDelivery: 'initialize'to sendpluginsover stdin so the launch command line no longer grows with the plugin count (fixes Windows start failures with many plugins)query()throwing "Object not disposable" in runtimes without a nativeSymbol.dispose, such as Node ≤22vmcontexts (Jest'snodeenvironment, vitestvmThreads/vmForks) and Node <18.18v0.3.260Compare Source
user_message_uuidtothinking_tokenssystem messages, linking thinking progress to the user message that triggered the turnfirst_content_frame_ms,first_stream_post_ms,first_stream_post_ack_msandfirst_stream_post_wall_msfields to the success result message for remote-session latency breakdownsmanagedSettingsdisableAutoMode: "disable"(either spelling) being dropped by the restrictive-only filter instead of turning auto mode off for the spawned sessionrewindFiles()reporting success when no files could be restored (for example when checkpoint backups are missing); it now failserror_max_structured_output_retriesresults to append the last StructuredOutput tool error; validation errors now name the offending key, allowed values, and actual length or countrate_limit_eventto also re-emit during an exceeded window on repeat 429s (about once per 30 seconds per limit window), so stream consumers can refresh stale rate-limit statev0.3.259Compare Source
user_message_uuidsbesideuser_message_uuidon a turn's first reply frame and result: every user message the turn answered, so a reply to several merged messages can be matched to eachpermissionPrompts: 'none'option to auto-deny permission prompts in sessions with nobody to answer them, without disabling auto mode's classifierv0.3.258Compare Source
v0.3.257Compare Source
thinkingTokenstoModelUsage(a subset ofoutputTokens), and fixed result-messageusage.output_tokens_details.thinking_tokensreporting 0 instead of the session's real counttool_use_result.resourceLinkson user messages carrying MCP tool results: theresource_linkblocks the tool returned, so hosts can render returned files without parsing the result textresource_linkstotask_notificationfor an auto-backgrounded MCP tool call that completed, listing the files it returned by reference; join to the call viatool_use_idmcp_reconnectandmcp_toggleacting on a same-named.mcp.json/~/.claude.jsonserver instead of the--mcp-configormcp_set_serversonemcp_toggledisable also removing the tools of a sibling MCP server whose name extends the disabled one's (disablingfoodroppedfoo__bar's tools)mcp_set_serversto also list a server whose connection attempt throws underadded(with afailedrow inmcp_status), not only undererrorstool_progressheartbeat (heartbeat: true) like other long tools; heartbeat frames never clear asubagent_retryindicator@anthropic-ai/claude-agent-sdk/browser) never streaming any messages on engines without nativeSymbol.dispose(Safari/iOS, Firefox ESR, older Chromium)task_notification-pgiving up on a long-running background subagent without actually stopping it, sobackground_tasks_changedkept listing it and events for it arrived after itsstoppednotificationdetailoption toQuery.getContextUsage():'summary'answers from the last response's usage and local estimates without per-category token-count API calls (default'full')v0.3.252Compare Source
v0.3.251Compare Source
v0.3.250Compare Source
v0.3.248Compare Source
timeoutfor SDK-hosted MCP servers (createSdkMcpServer({ timeout })), overridingMCP_TOOL_TIMEOUTfor that server's tool callsv0.3.247Compare Source
ambientflag totask_started,task_notificationandbackground_tasks_changedtask entries so hosts can exclude housekeeping tasks from activity indicatorspermissionModeon per-turnsystem/initframes reporting the mode at turn start instead of the live mode, so a mode switch right after submitting no longer sends a stale valuev0.3.246Compare Source
user_message_uuidto error result messages and to the first assistant message orstream_eventof each turn, linking a reply or failure to the user message that triggered itmodelUsage[*].costBasis('list' | 'managed' | 'unknown') reporting which price table each model'scostUSDwas computed frommodelPricingsupport in themanagedSettingsoption for hosts that setCLAUDE_CODE_PROVIDER_MANAGED_BY_HOST; an admin-managed settings source that setsmodelPricingstill winsperTaskStopAffordanceoption: when set,interrupt()aborts only the current turn and keeps background agents and workflows running; otherwise (and for one-shot string prompts) they stopv0.3.245Compare Source
v0.3.243queued_turn_countto result messages: the number of queued user sends still pending when the result was produced, so hosts know whether another turn and result will followmcp_statusreporting a remote MCP server as connected after its connection dropped; it now reports pending while reconnecting, then connected or faileddisableAllHooksalso disabling hook callbacks registered through thehooksoption; they now keep running, matchingallowManagedHooksOnlydocumentblock (or pageimageblocks forpagesreads) now arrives inside thetool_resultcontent instead of as a separateusermessage after itv0.3.242v0.3.241Compare Source
v0.3.240Compare Source
v0.3.239Compare Source
total_cost_usd/modelUsage.costUSDnow include the 1.1× US-only-inference (data residency) multiplier when the response reportsinference_geo: "us"total_cost_usd,duration_api_msandmodelUsageas of its release, not the turn-end snapshotSYSTEM_PROMPT_DYNAMIC_BOUNDARYin an arraysystemPromptbeing sent to the model as literal text on Bedrock, Vertex, Foundry, and gateway providersinitializeon a running process is now followed by abackground_tasks_changedsnapshot of the live background tasks, so reconnecting hosts see work that is still runningv0.3.238Compare Source
is_backgroundedandspawn_depthtotask_startedevents for subagent tasks (is_backgroundedalso on background Bash tasks)suppressOriginalPrompttoUserPromptExpansionhook output, matchingUserPromptSubmitcommand_lifecyclestaterefused: a cross-session peer message the session's receive-side policy declines now reports this terminal state instead of producing no lifecycle framesinitializeto an already-running CLI; the response now reportshooks_appliedCLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=truenot keepingprompt_suggestionmessages on when the account is near, but not over, its usage limitvcs_state_changedpush events to emit one event per pushed branchv0.3.237Compare Source
v0.3.236Compare Source
PostToolUsehooks can returnhookSpecificOutput.classifierContext, a short host-asserted note about a tool call's result that the auto mode permission classifier reads alongside that resultv0.3.235Compare Source
v0.3.234Compare Source
bypass_permissions_disabledfromExitReasontype; the value was never emitted — TypeScript consumers with an explicitcasebranch get a compile error on upgrade (runtime unaffected)ApiKeySourcetype to include the valuessystem/initactually reports (ANTHROPIC_API_KEY,apiKeyHelper,/login managed key,none)vcs_state_changedevents report the directory the shell finished in (an innercdis reflected)origininjected by the host may declare the sending session's permission class (fromMode) so a same-class message is delivered to a recipient that runs without askingSDKSystemMessage(system/init) gains an optionaleffortfield: the session's applied effort level, ornullwhen none is sent. Set on Remote Control bridge init framesv0.3.233Compare Source
TaskCreate/TaskGet/TaskUpdate/TaskList,TodoWrite) are no longer in the default tool surface on Opus 4.8, Sonnet 5, Fable 5, Mythos 5, and newer models; name them in thetoolsoption or reference them inallowedTools(or setCLAUDE_CODE_ENABLE_TODO_TOOLS=1) to keep themv0.3.232Compare Source
tool_resultframes whose result carries_metanow emittool_use_resultas{ content, _meta }(matching main-loop frames) instead of a bare value/contextresult messages now carry a structuredcontext_usagepayload (newSDKContextUsagetype), so consumers can render the context-usage card without parsing the markdown tablevcs_state_changedevents now populate thebranchfield for push operations, sourced from the pushed refv0.3.231Compare Source
v0.3.229Compare Source
terminal_slash_commandsto the system init message so Remote Control clients can hide terminal-oriented commandsterminal_reason"api_error"instead of"image_error";StopFailureerror_detailsis"request_body_over_limit: …"v0.3.228Compare Source
AgentOutput):usage.output_tokens_detailsis now carried throughv0.3.227Compare Source
v0.3.226Compare Source
v0.3.225Compare Source
v0.3.224Compare Source
crossSessionInboundanddialogExpirysettings: cross-session messages sent to a session running with bypassed permissions are held for your approval, and messages to other sessions auto-deliversubkind: 'peer-send-message'to thetask-notificationmember ofSDKMessageOrigin, marking a notification raised by a cross-sessionSendMessagesource: 'archive'plugin config variant toSettings, withurland optionalsha256, for installing plugins from a zip over HTTPSSettings:decode: 'jwt'withmaskClaims,extract/onExtractNoMatchonenvVars, andawsPairs/sigv4for AWS SigV4 re-signing/resumeno longer cross projectsv0.3.223Compare Source
resumeDropsTurnoption: withresumeSessionAt, declares the turn a truncating resume intends to drop; the CLI refuses the resume if anything else would be discardedapi_error_status: 529, so SDK consumers can detect overload terminations structurally instead of matching message text-p/ SDKquery()withoutcanUseTool) now emitssystem/permission_deniedstream events when a tool call is auto-deniedusagevsmodelUsageon stream-json results:usageis main-loop-only and per-turn;modelUsageis cumulative, covers all query-pipeline calls, and is the field for cost accountingv0.3.222Compare Source
query({ sessionStore, resume })not carrying usersettings.json(apiKeyHelper,env,hooks,permissions) into the resumed subprocessv0.3.221Compare Source
skillsoption validation: malformed names (delimiters or control characters) and wildcard-form names are rejected with a clear error; useskills: 'all'to enable every skillmcpServersoption not being connected before the first turn, which caused the model to emit tool calls as literal textv0.3.220Compare Source
v0.3.219Compare Source
cancel_queuedto the interrupt control request (capabilityinterrupt_cancel_queued_v1): cancels queued and pending-dispatch messages alongside the abortfast_mode_disabled_reasonto result and init messages so SDK hosts can explain why fast mode is offDirectoryAddedlifecycle hook event to the control protocol, fired when a new working directory is registered mid-sessionfast_mode_statefrom the spawn-time model after a model switchsandbox.network.strictAllowlistto SDK settings types for deterministically denying non-allowlisted hosts in sandboxed commandsworkflowSizeGuidelineto SDK settings types for setting the advisory dynamic-workflow size guidelinev0.3.218Compare Source
SkillToolOutputnow reportsbackground: truewhen a forked skill was dispatched as a detached background agentapi_error_statusreporting null for rate-limit and overloaded errors delivered mid-stream; it now reports 429/529canonicalModelandproviderto eachmodelUsageentry in result messages so downstream billing can look up the correct rate table forcostUSDv0.3.217Compare Source
CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTHto allow deeper nestingCLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS)v0.3.216Compare Source
skippedLinkscount torewindFilesresponses for paths the rewind safety guards refused to restore or deletetool_result_metasidecar to user messages (non_execution_kind,user_feedback) so consumers can classify denied, interrupted, or cancelled tool calls without string-matching result proseuser_message_uuidandrequest_sent_wall_msfields to the success result message for cross-host request-latency correlationv0.3.215Compare Source
v0.3.214set_permission_modenow rejects unrecognized permission modes with an error instead of silently adopting them; the'manual'alias is accepted at every ingresssubkind: 'scheduled-trigger'to thetask-notificationmember ofSDKMessageOrigin, marking deliveries that are the fired prompt of a user-configured scheduled taskapplyFlagSettings({effortLevel})now accepts'max'in its TypeScript type (runtime already supported it)interrupt()now carryaborted: true, so consumers can distinguish a mid-stream partial from a completed messagesubagent_typeandsubagent_retryfields totool_progressmessages so clients can show a subagent waiting out an API rate-limit retrysystem/initmessage'spluginsentries and thereload_pluginsresponse now include each plugin's manifestversion"fork"instead of"resume"when the session begins as a forkv0.3.213v0.3.212Compare Source
resumeSessionAtandsessionIdvalues being passed to the CLI as separate argv tokens; both now use equals-form (--flag=value)[
v0.3.211](https://redirect.github.com/anthropics/claude-agent-sdk-typescript/blob/HEAD/Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.