What changed
Claude Code 2.1.300 shipped on October 14, 2026, the same day as 2.1.299. It adds /advisor on Claude Platform on AWS, more OpenTelemetry detail, a VS Code setting for attaching editor selections, and new Claude Tag features for Claude in Slack. Some changes can affect existing hooks and scripts, notably how hooks’ updatedInput is handled and the removal of claude remote-control’s sandbox flags. The fixes span session resume and compaction, --worktree in git reftable repositories, MCP, cloud sessions and Remote Control, and the VS Code extension. The release is very large, so the items below are a selection of the changes with the most user impact.
New features
-
/advisoron Claude Platform on AWSNo advisor runs until you pick one with
/advisor,advisorModelor--advisor, andCLAUDE_CODE_DISABLE_ADVISOR_TOOL=1turns it off. -
Cache writes split by lifetime in OpenTelemetry
The
api_requestevent getscache_creation_5m_tokensandcache_creation_1h_tokens, so you can tell 5-minute cache writes from 1-hour ones. -
OpenTelemetry GenAI semantic-convention attributes
Trace spans now carry GenAI semantic-convention attributes such as
gen_ai.provider.name,gen_ai.conversation.id,gen_ai.tool.nameanderror.type. -
[VSCode]
claudeCode.attachSelectionA setting to stop text selected in the editor from being added to your messages.
-
[Claude Tag] Slack Connect channels
An Owner or Claude Tag admin can let Claude in Slack answer in channels shared with another organization. It’s off by default.
-
[Claude Tag] Allow once / Deny cards
For connector actions that need your approval, Claude in Slack now shows you a private Allow once / Deny card in the thread instead of refusing. Others only see that it’s waiting on you.
-
[Claude Tag] Slack voice clips
Claude reads Slack’s transcript of a voice clip when Slack has one.
-
Mod API additions
virtualTextin a mod’s prompt decorations: text drawn in the prompt box that never enters the draft or the submitted prompt$.ui.view({ agentId }): shows an agent’s transcript in the main view when you ask, and$.ui.view({})goes back- A
dirprop on a mod’sTextfor right-to-left text: on Windows and in VS Code’s terminal its rows read in that direction and sit flush right - The
agent.spawnhook can now rewrite a workflow agent’spromptandmodel; before, it could only refuse workflow agents - The new
prompt.changehook, raised when the prompt box’s text changes without a typed edit: a recalled history entry, a clear, an undo, or a plugin’s fill
Key improvements
-
Artifact updates
Claude now applies a small change and republishes the artifact in one call, and makes larger edits and republishes within a single response.
-
WebFetch in Cowork cloud sessions
When a page failed moments ago, Claude is told so instead of fetching it again.
-
Mod sharing in the
plugin-authoringskillClaude scans a mod’s files for keys before opening them, and asks before scanning a folder outside the project.
-
@-mentioned PDFs on Claude 3 models
The note these models get about an @-mentioned PDF is improved, so they less often answer without reading it.
Changed behavior
-
Hooks’
updatedInputis validatedupdatedInputfrom PreToolUse and PermissionRequest hooks is now validated like Claude’s own input: unknown keys are dropped, and input the tool rejects denies the call. -
--sandboxand--no-sandboxremoved fromclaude remote-controlThe flags had no effect; passing either now exits with an error. Set
sandbox.enabledin settings to sandbox sessions. -
Exit force-kills background commands
Background commands still running 1.5 seconds after being asked to stop are force-killed. In fullscreen mode they could previously be left running.
-
Local transcripts record requests
Local session transcripts also record each API request’s system prompt, tools and parameters, so a transcript you choose to share can reproduce a request exactly.
-
gzip compression
Large requests to api.anthropic.com use gzip compression even when telemetry is disabled. Set
CLAUDE_CODE_GZIP_REQUEST_BODIES=0to turn it off. -
CLAUDE_CODE_PROVIDER_MANAGED_BY_HOSTsessionsThey ignore CA-bundle, tool-proxy, git TLS and git config variables like
SSL_CERT_FILEin settings; under Claude Desktop, only in project settings. -
Gateways and Claude Desktop
Claude Desktop’s Code tab applies managed settings when
forceLoginGatewayUrlnames an Anthropic-operated gateway that serves the session’s hostname; that gateway must be reachable at start.claude gatewaynow stops at start, naming the key, on adesktop:policy key that Claude Desktop cannot use from a gateway, where it earlier started with a warning. -
PermissionRequesthooks in Cowork cloud sessionsA
setModeupdate in a hook’s allow is now ignored; the rest of the approval still applies. -
[Claude Tag] Access bundles on Slack Connect channels
Access bundles an admin attached to a Slack channel keep applying once the channel becomes a Slack Connect channel, with no need to remove and re-attach them.
-
Other changes
The
claude-apiskill leaves Managed Agents sessions in place unless you ask to archive or delete them. Background sessions resume a carried workflow through the Workflow tool’s approval instead of running it from the handoff file. The/sandboxmode options read “Sandbox commands” instead of “Sandbox BashTool”.
Bug fixes
Resume & compaction
- Resuming a headless or Agent SDK session losing the recent messages a compaction had kept, when the compaction followed a reply cut at the output token limit (compactions from this version on).
- Resuming a headless or Agent SDK session losing its compaction summary or bringing back pre-compaction history, when the compaction followed a retried or unfinished reply in the same turn.
- The first transcript entry written after resuming a session being lost when a crash had cut the transcript’s last line short.
- Claude not being told about an MCP server’s tools and instructions until its next tool call, when the server finished connecting after a compaction.
/branchdropping messages, andclaude purgeskipping subfolder projects, when they contain a Unicode line or paragraph separator (U+2028, U+2029).- SessionEnd hooks sometimes not running when you exit while a background command is still running.
/autocompactwarning about high token usage when you choose a smaller auto-compact window.
Worktrees & reftable repositories
- The branch showing as “.invalid” and
--worktreefailing to reopen a worktree in repositories using git’s reftable ref storage. --worktreesessions sometimes starting from the wrong commit when a tag or branch was named like a commit ID, and their starting git status naming a branch other than the new worktree’s.--worktreefailing in a worktree of a bare repository when origin’s default branch can’t be fetched; the fallback base is now the current checkout’s HEAD, not the main repository’s.- Plugin
WorktreeCreateandWorktreeRemovehooks not running when Claude Code starts with--worktree(not yet with--tmux). - The diff view in Claude Desktop and Remote Control sessions not noticing a conflicted cherry-pick or revert in reftable repositories.
- OpenTelemetry
tool_resultevents missinggit_commit_idaftergit commit -qin repositories using reftable ref storage.
MCP & tools
- A conversation failing on every turn with a 400 error when the API rejected an MCP tool’s input schema; Claude Code now sends that tool without parameters for the rest of the conversation.
- Automatic tool search (
ENABLE_TOOL_SEARCH=auto) turning off part-way through a conversation, for example while MCP servers reconnect after a resume. - Claude searching for deferred tools already loaded earlier in the conversation when a session resumes a history that never listed them.
- Claude polling a background command’s output file or sleeping while it runs.
- Claude naming files in the session scratchpad by a bare filename or relative path instead of their full path.
Agents & background tasks
- Subagents you had typed messages to disappearing from
/tasksshortly after finishing, leaving no way back to the conversation. - A completed parent agent dropping off the breadcrumb (its child shown re-rooted at top level) while you were viewing the child.
- The agents view taking a typed word such as “up”, “down” or “escape” for that key when input arrived in a burst, which could move the peek mid-reply or clear a draft.
- Claude being told a background agent was lost, not resumable, after a cloud session’s container was replaced, when the agent had already been resumed once.
claude agentsnot refreshing any pull request’s status when the data for one of them came back incomplete.
Hooks & mods
- Agent hooks ignoring their
model: aliases likehaikunow resolve, a subagent’s model no longer overrides it, and an unavailable model falls back to the caller’s instead of allowing the action. - A prompt that a mod’s
prompt.submithook rewrote or dropped still being recorded as typed in the OpenTelemetryuser_promptevent and interaction span, and in session title requests. - A note meant for Claude about mod hot-reloading appearing in the transcript as if you had typed it.
- A mod’s
prompt.edithook not being raised for a newline entered with thechat:newlinekeybinding (Ctrl+J, or a rebound Enter).
Sign-in & network
- A login refused by
forceLoginOrgUUIDleaving the refused organization’s token stored, or live after/login. - Feature flags and staged rollouts staying stale behind a TLS-inspecting proxy whose certificate is trusted only through the OS certificate store.
claude remote-controlservers giving up on renewing their connection after a brief sign-in error, such as a locked keychain; they now retry, and warn when you need to runclaude /login.
CLI & display
claude daemon stopexiting with no output, and leaving sessions listed as running, when telemetry is turned off.claude daemon stop --anyprinting “stopped” while a stuck background service kept running: it now waits, force-kills the service, and says so with exit 1 if it is still there.- Secondary (dim) text looking the same as normal text under the dark ANSI theme and on 16-color terminals.
- Starting Claude Code in a VS Code, Cursor or Devin Desktop integrated terminal launching the editor’s command-line tool twice to check for the extension; it now launches it once.
- The Artifact tool’s verbose and ctrl+o line reading
Artifact("(unprintable path)")while a call’s input arrives; its row now shows “Waiting…” and “Running…” as Bash’s does. claude --helpnaming a removed tool in its description of--restricted.
Cloud sessions & Remote Control
- Cloud sessions hanging 5 minutes per turn when the organization’s policy can’t be read; the turn now ends promptly and says why.
- A cloud session sometimes running an already answered message a second time after the session restarted during a long reply.
- Cloud sessions telling Claude that an organization policy blocked a host when the session’s own network settings did.
- Write, Edit and NotebookEdit in Cowork cloud sessions reporting success for a path on your own computer, where the file never arrived.
- Remote Control sessions being marked stopped while still running, on a computer serving several sessions at once.
- [Remote Control] The diff view on claude.ai and the desktop app showing deleted and renamed files as modified; requires Claude Code v2.1.296 or later on your machine.
- [Cloud sessions] “Allow for this task” missing from Cowork’s approval prompts for connector tools where an organization turns off “Always allow” (regression in 2.1.292).
- [Cloud sessions] Most commands in the / menu losing their descriptions once you sent a second message.
- [Self-hosted runner] The runner and orchestrator freezing (no polls,
/healthzorSIGTERMshutdown) while nobody reads their output; logs keep the latest 256 KiB and count drops (not on Windows).
VSCode
- Fast mode staying on after usage credits ran out, which made each request be refused and re-sent; it now turns off until you turn it back on, with an error notice.
- The Thinking toggle switching to Off on models that always think; the toggle is no longer shown for those models.
- ↑ then Enter on a recalled slash command running it without its arguments.
- “Resume session” and tabs restored after a reload opening an empty new conversation instead of one that had moved into a git worktree.
- Shift+dragging a file onto the prompt inserting an unreadable
/c:/…path on Windows, or nothing in WSL, SSH and Dev Container windows. - Changes to VS Code’s chat font size settings needing a window reload or being undone by a theme change; diffs and the plan preview now follow them too.
- Ctrl+Alt+F toggling Focus view instead of opening Find in the Explorer, other tree views, or the Debug Console on Windows and Linux.
- The check for sessions open in other windows or terminals creating extra processes on macOS: it now starts
/bin/psdirectly instead of searching PATH forpson every check. - On Windows, a conversation showing “still open somewhere else” after a crash or power loss, when Windows had since restarted and given the old process ID to another program.
Claude Tag & Code Review
- [Claude Tag] Claude in Slack not answering another app that tags it in a thread under a message Claude itself posted to the channel.
- [Code Review] Code Review ignoring
@claude reviewcomments from people with write access whose GitHub organization membership is private; their comments now start a review. - [Code Review] The “paused for this repository” comment sending admins to Code Review settings; it now says who can fix it and links the Git providers page.
Notes
- If your PreToolUse or PermissionRequest hooks return
updatedInput, unknown keys are now dropped and input the tool rejects denies the call. Check that the input your hooks build matches the tool’s input. - If scripts pass
--sandboxor--no-sandboxtoclaude remote-control, they now exit with an error. Remove the flag and setsandbox.enabledin settings instead. - Local transcripts now include each request’s system prompt, tools and parameters. Keep that in mind when you share a transcript file.
- On Claude Platform on AWS, no advisor runs until you pick one. Set
CLAUDE_CODE_DISABLE_ADVISOR_TOOL=1to turn it off. - If
--worktreeor the diff view misbehaved in a reftable repository, several of those issues are fixed here. - If “Allow for this task” disappeared from Cowork’s connector approval prompts after 2.1.292, that regression is fixed here.