claudekit / updates / claude-code-2-1-300
[ PATCH · ]

Claude Code 2.1.300

Adds `/advisor` on Claude Platform on AWS, cache writes split by lifetime in the OpenTelemetry `api_request` event, and GenAI semantic-convention attributes on trace spans. `updatedInput` from PreToolUse and PermissionRequest hooks is now validated like Claude's own input. Fixes `--worktree` in reftable repositories, resumed sessions losing compacted history, and conversations failing every turn on a rejected MCP tool schema.

Official announcement →

This article is a summary based on official documentation.

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

  • /advisor on Claude Platform on AWS

    No advisor runs until you pick one with /advisor, advisorModel or --advisor, and CLAUDE_CODE_DISABLE_ADVISOR_TOOL=1 turns it off.

  • Cache writes split by lifetime in OpenTelemetry

    The api_request event gets cache_creation_5m_tokens and cache_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.name and error.type.

  • [VSCode] claudeCode.attachSelection

    A 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

    • virtualText in 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 dir prop on a mod’s Text for right-to-left text: on Windows and in VS Code’s terminal its rows read in that direction and sit flush right
    • The agent.spawn hook can now rewrite a workflow agent’s prompt and model; before, it could only refuse workflow agents
    • The new prompt.change hook, 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-authoring skill

    Claude 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’ updatedInput is validated

    updatedInput from PreToolUse and PermissionRequest hooks is now validated like Claude’s own input: unknown keys are dropped, and input the tool rejects denies the call.

  • --sandbox and --no-sandbox removed from claude remote-control

    The flags had no effect; passing either now exits with an error. Set sandbox.enabled in 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=0 to turn it off.

  • CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST sessions

    They ignore CA-bundle, tool-proxy, git TLS and git config variables like SSL_CERT_FILE in settings; under Claude Desktop, only in project settings.

  • Gateways and Claude Desktop

    Claude Desktop’s Code tab applies managed settings when forceLoginGatewayUrl names an Anthropic-operated gateway that serves the session’s hostname; that gateway must be reachable at start. claude gateway now stops at start, naming the key, on a desktop: policy key that Claude Desktop cannot use from a gateway, where it earlier started with a warning.

  • PermissionRequest hooks in Cowork cloud sessions

    A setMode update 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-api skill 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 /sandbox mode 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.
  • /branch dropping messages, and claude purge skipping 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.
  • /autocompact warning about high token usage when you choose a smaller auto-compact window.

Worktrees & reftable repositories

  • The branch showing as “.invalid” and --worktree failing to reopen a worktree in repositories using git’s reftable ref storage.
  • --worktree sessions 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.
  • --worktree failing 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 WorktreeCreate and WorktreeRemove hooks 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_result events missing git_commit_id after git commit -q in 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 /tasks shortly 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 agents not refreshing any pull request’s status when the data for one of them came back incomplete.

Hooks & mods

  • Agent hooks ignoring their model: aliases like haiku now 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.submit hook rewrote or dropped still being recorded as typed in the OpenTelemetry user_prompt event 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.edit hook not being raised for a newline entered with the chat:newline keybinding (Ctrl+J, or a rebound Enter).

Sign-in & network

  • A login refused by forceLoginOrgUUID leaving 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-control servers 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 run claude /login.

CLI & display

  • claude daemon stop exiting with no output, and leaving sessions listed as running, when telemetry is turned off.
  • claude daemon stop --any printing “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 --help naming 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, /healthz or SIGTERM shutdown) 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/ps directly instead of searching PATH for ps on 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 review comments 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 --sandbox or --no-sandbox to claude remote-control, they now exit with an error. Remove the flag and set sandbox.enabled in 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=1 to turn it off.
  • If --worktree or 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.