Claude Code 2.1.304 additional updates
CLI surface:
Added:
• env vars: CLAUDE_INTERNAL_FC_OVERRIDES
• models: claude-haiku-3-5, claude-test:explorer
Removed:
• env vars: CLAUDE_CODE_AUTO_COMPACT_WINDOW, NODE_ENVC
• models: claude-code-cli, claude-haiku-3-5B, claude-lsremote-K
File: github.com/marckrenn/claude-…
Metadata:
• Time since 2.1.303 release: 21h 50m 51s
• Bundle file size: +853.1 kB (+1.4%)
• Prompt files: +5 (+26.3%)
• Prompt tokens: +12,506 (+46.3%)
Prompt token mix by kind:
• tools: 51.7%→54.3%
• system: 48.3%→45.7%
Files:
• metadata: github.com/marckrenn/claude-…
• prompt stats: github.com/marckrenn/claude-…
More details: github.com/marckrenn/claude-…
Claude Code CLI 2.1.304 changelog:
New features:
• Added a transcript line when a plugin that runs first skips one of your mod's hooks, naming the event and the plugin
• Added decider: "person" to a mod's tool.check answer: only the permission dialog or a host's callback can approve the ask, and it is refused with the mod's reason where nobody can be asked
• Added e.isReadOnly to a mod's tool.check event, set when the tool call is read-only
• Added /auto-mode-setup: a guided setup that reads your project and recent sessions to teach auto mode about your environment, now also available on Bedrock, Vertex, Foundry, Claude apps gateway and telemetry-disabled sessions
• Added /claude-api managed-agents-secure, which compares a Managed Agents agent's settings with Anthropic's published security guide, without changing anything
• Added the names of the tools called earlier to the compaction summary in the transcript view (Ctrl+O)
• Added a warning on Pro and Max plans when resuming an inactive conversation would use a noticeable share of your 5-hour usage limit: resume anyway, or start a new conversation and Claude can look up the previous one if you refer to it
Fixes:
• Fixed the organization policy not refreshing until the hourly check after approving an ANTHROPIC_API_KEY at startup or switching "Use custom API key" in /config
• Fixed sandboxed commands failing to start on Linux when a sandbox.filesystem.denyRead glob contains brackets that are not a character class, such as a [user-id] route folder
• Fixed rm -r of a mounted drive or a folder at its top level (/Volumes, /media, WSL's /mnt/c) not getting the safety prompt that rm -rf /Applications gets
• Fixed CLAUDE_CODE_TRANSCRIPT_LOCAL_GC dropping messages from the saved transcript when the disk filled up while the file was being trimmed
• Fixed a plugin keeping a headless run going past --max-turns, Stop, or ended input by spawning subagents or re-running a finished one
• Fixed a failed mod reload removing the tools and commands of the version that stays loaded, and its messages being wrong or silent about whether the previous version is still loaded
• Fixed a click on a mod's button being lost when buttons with the same label and no key were redrawn unchanged
• Fixed mod sharing in the built-in plugin-authoring skill stopping at the secret scan on machines with managed settings and on Team and Enterprise plans
• Fixed scheduled Cowork cloud sessions waiting five minutes again for each subagent whose WebFetch needed a URL approval that nobody was there to give
• Fixed Write results and rejected edits showing a file outside the working directory as ../../…; they now show ~/… or the full path
• Fixed a claude.ai Directory plugin's skills not running as commands when picked from the "/" menu in Cowork cloud sessions
• Fixed Remote Control permanently withholding a desktop conversation's history when a different account was signed in to the terminal
• Fixed Remote Control failing to start from Claude Desktop when DISABLE_TELEMETRY or DO_NOT_TRACK is set on a paid plan
• Fixed model switches, messages and interrupts waiting behind a context usage check in SDK and desktop sessions
• Fixed context_management: Extra inputs are not permitted errors behind LLM gateways; Claude Code now resends the request without that field
• Fixed OpenTelemetry settings delivered through server-managed settings being ignored for the whole session after signing in during first-run setup or the first start after /logout
• Fixed unsandboxed Bash commands in Claude Desktop Code tab sessions on macOS and Linux not seeing environment variables exported in shell startup files such as ~/.zshrc
• Fixed the Consumer Terms notice being skipped for a day or longer after a server error
• Fixed /privacy-settings offering choices that may not apply to you after a network or server error
• Fixed a "Context limit reached" or "Prompt is too long" error after stopping a turn while Claude Code was compacting a conversation the API had rejected as too long
• Fixed subagents sometimes forgetting their most recent work when they were messaged or resumed right after finishing
• Fixed claude --help text for --tools, --resume, --debug, --json-schema, --disable-slash-commands, --system-prompt-snapshot and claude update to match actual behavior
• Fixed claude --worktree removing the worktree and its branch without asking at exit when HEAD was detached or on another branch, which could lose commits
• Fixed resumed and cloud sessions sending Claude the whole skill list again each time plugins reloaded at startup
• Fixed an interrupt not ending a Read that waits on an idle pipe or device named like an image
• Fixed /effort status, /effort ultracode and the prompt's effort indicator showing a guessed effort level when CLAUDE_CODE_EFFORT_LEVEL is auto or unset and no level is sent
• Fixed a PreToolUse hook's deny reason being replaced by a timeout error when an Agent SDK callback hook on the same tool call timed out
• Fixed Bash and PowerShell deleting a large command's output file when it could not be copied to the session's tool-results folder, unless the disk is full
• Fixed notes typed into a multiple-choice question with previews being cut off with "…" in terminals under about 100 columns, hiding what was typed (anthropics/claude-code#82768)
• Fixed self-paced /loop wakeups scheduled at the 1-hour maximum firing just after the 1-hour prompt cache expired, so those wakeups no longer re-read the conversation uncached
• Fixed agent teams: approving a shutdown request from the main session no longer exits the whole CLI
• Fixed a skill's once hook also removing another skill's identical hook after it ran
• Fixed transcript mode's { and } landing the prompt on an inconsistent row, or off screen, instead of the transcript's first row
• Fixed CLAUDE_CODE_AUTO_COMPACT_WINDOW=200k silently setting a 100K window: the variable now accepts k and M suffixes like --autocompact, and warns when a value is out of range or ignored
• Fixed Ctrl+C in the agents view clearing a text selection without copying it when pressed before the mouse button was released
Improvements:
• Improved /usage to say when a rate limit on usage data ends instead of "try again in a moment"
• Improved the lines shown when a mod written in the session loads, reloads or fails to load
• Improved artifacts with several views: when you ask for links to them, Claude now writes out each view's link and explains that the address bar stays the same as you switch views
• Improved cloud sessions: a new conversation's first turn no longer waits for the local (stdio) MCP servers of plugins synced from claude.ai, unless a server sets alwaysLoad: true
• Improved how a remote session recovers its status when the server refuses a status update that carried other session data
• Improved session file size in auto mode: the safety classifier's context is no longer stored with every request
• Improved the claude -p invalid-settings warning: a file that did not load lists only what stopped it, and long lists are capped per file
• Improved resume of large compacted sessions in SDK and headless mode: the first request after resuming is sent sooner
• Improved responsiveness and throughput when many subagents are running at the same time
• Improved memory use when sending requests in long or resumed conversations
• Windows: Improved git command start-up with a standard Git for Windows install by running its git.exe directly instead of through its cmd launcher
Removals:
• Removed the notes from claude plugin validate that predicted where a mod's hooks would run
• Removed the "(research preview)" label from the /fast dialog title on Opus 5.5
Other changes:
• Self-hosted runner: Improved the error shown when the git host answers "not found" for a session's repository: it now names the repository and whom to ask
• Changed mods' settings.read hooks to receive each settings layer and rewrite the merged settings, so a managed mod can make an organization's setting a ceiling, including the cleanupPeriodDays the retention sweep uses
• Changed the /artifacts delete confirmation to show numbered choices: 1 or Enter keeps the artifact, 2 deletes it, and y, n and Esc still work
• Changed the question that turns on the mods Claude writes in a session to plain text with no link or session id; it stays up when a new turn starts, and Claude tells you what loaded when you turn them on
• Changed tool search to be on by default behind a custom ANTHROPIC_BASE_URL; a 400 or 422 from the gateway is retried without it
• Changed compaction to send Claude the skill list again afterwards; /reload-skills now sends only new or changed skills
• Changed skill hooks: the skills of one source (a repo, your own folder, or a plugin) can register at most 1,024 hooks and 16,384 matcher characters per session
• Changed skills under a policy that allows hooks from plugins only: a skill used in the main conversation whose hooks are kept out no longer gets its allowed-tools
• Updated the /claude-api skill to use the ant CLI on Claude Platform on AWS instead of falling back to the SDK or curl
• [VSCode] Added mod drawing in the chat panel for sessions on Amazon Bedrock, Google Vertex AI and Microsoft Foundry, behind an LLM gateway, or with telemetry turned off
• [VSCode] Fixed one cause of sessions failing to start with "Subprocess initialization did not complete within 60000ms": time a SessionStart command hook spends running no longer counts toward the limit, up to 10 minutes in total
• [VSCode] Fixed a session closed while it was starting keeping its Claude Code process running until the start ended
• [VSCode] Fixed a mod's drawings disappearing from a long-open panel until the next turn on machines that also run an older Claude Code
• [VSCode] Fixed Past conversations hiding sessions when claudeCode.claudeProcessWrapper is set
• [VSCode] Changed background sub-agents to show as one status line under their Agent card instead of streaming every step into the chat; the full transcript stays in /tasks
• [Cloud sessions] Fixed folders in the composer's @ list showing no name in cloud sessions, where picking one added only a space instead of a mention
• [Claude Tag] Fixed Claude going silent in a thread when its channel becomes shared across Enterprise Grid workspaces mid-task; it now posts a one-time note to @-mention it in a new thread
• [Claude Tag] Fixed @Claude !fork typed outside a thread getting no visible reply; Claude now shows you a private note saying to run it from inside a thread
• [Code Review] Added review levels to Code Review: Owners choose Quick, Standard (the default), or Deep for the organization, and can give individual repositories their own level
• [Code Review] Added an option in Code Review admin settings to review every repository in a GitHub organization, including ones added later, without selecting them one by one
• [Code Review] Fixed pull requests opened within a minute or two of an admin turning on Code Review being silently skipped; they are now retried and reviewed
Source: github.com/anthropics/claude…
Claude Code 2.1.304 has been released.
76 CLI changes
Highlights:
• tool.check decider:\"person\" makes a mod require human approval; unapproved asks are refused with mod reason
• Added /auto-mode-setup: guided scan of project and history so Auto Mode learns environment for smarter actions
• Added /claude-api managed-agents-secure: read-only check flags Managed Agents deviations vs Anthropic guide
Full details available in thread ↓
Claude Code 2.1.304 is about to be released
#cccnext
Claude Code 2.1.303: additional changes
Metadata:
• Time since 2.1.302 release: 2d 4h 28m 16s
• Bundle file size: +6.2 kB (+0.0%)
• Prompt files: +3 (+18.8%)
• Prompt tokens: +6,556 (+32.1%)
Prompt token mix by kind:
• tools: 58.9%→51.7%
• system: 41.1%→48.3%
Files:
• metadata: github.com/marckrenn/claude-…
• prompt stats: github.com/marckrenn/claude-…
More details: github.com/marckrenn/claude-…
Claude Code CLI 2.1.303 changelog:
Other change:
• Bug fixes and reliability improvements
Source: github.com/anthropics/claude…
Claude Code 2.1.303 has been released.
1 CLI change
Highlights:
• CLI bug fixes reduce crashes and command failures, improving workflow reliability and predictability
Complete details in thread ↓
Claude Code 2.1.303 is about to be released
#cccnext
Claude Code 2.1.302 additional updates
CLI surface:
Added:
• models: claude-code-docs, claude-lsremote-K
Removed:
• models: claude-lsremote-
File: github.com/marckrenn/claude-…
Metadata:
• Time since 2.1.301 release: 1d 2h 54m 21s
• Bundle file size: +1,406.7 kB (+2.3%)
• Prompt files: +3 (+23.1%)
• Prompt tokens: +5,755 (+39.2%)
Prompt token mix by kind:
• tools: 71.8%→58.9%
• system: 28.2%→41.1%
Files:
• metadata: github.com/marckrenn/claude-…
• prompt stats: github.com/marckrenn/claude-…
More details: github.com/marckrenn/claude-…
Claude Code CLI 2.1.302 changelog:
New features:
• Added CLAUDE_CODE_AUTO_MODE_MODEL to choose the model the client-side auto mode classifier uses; it does not change the model for server-side auto mode
• Added an Idle compaction row to /config for turning idle compaction off or back on; the notices shown after an idle compaction now say how to turn it off
• Added a notice to /design-sync and /design-login that standalone Claude Design (claude.ai/design) closes by December 14, 2026
Fixes:
• Fixed a "Prompt is too long" error when stopping a turn while the conversation was being compacted
• Fixed requests failing with "diagnostics: Extra inputs are not permitted" after switching to Vertex or Bedrock mid-session
• Fixed the Read tool loading an image file of any size, or a pipe or device named like an image, entirely into memory; image sources over 128 MB are now refused
• Fixed /autocompact and /effort saving to the wrong model when a gateway names Opus 4 or 4.1 with a prefix, such as anthropic/claude-opus-4-1
• Fixed a prompt cache miss when a tool added mid-session was loaded again through ToolSearch or after compaction
• Fixed claude plugin and other subcommands sometimes exiting before a queued settings or config write finished, which could lose the change or leave a .tmp file behind
• Fixed plugin marketplaces re-cloning on every refresh, and newly installed git plugins showing version "unknown", when git defaults to the reftable ref format
• Fixed the PowerShell tool not finding commands in a plugin's bin/ folder, and reporting an error when a search that finds nothing (rg, grep, findstr, git grep) is piped into Select-Object or another formatting cmdlet
• Fixed Claude in the desktop app pointing you to claude.ai settings or /mcp to authorize or reconnect an MCP server where that option isn't available
• Fixed artifact publishes sometimes failing when Claude sent an empty list of edits, and Claude retrying an artifact update the wrong way after a newer version of the artifact turned it away
• Fixed classifier_category missing from OpenTelemetry tool_decision events for most auto mode classifier blocks, and new tool_decision attributes pushing out tool_use_id, tool_source and tool_parameters when OTEL_LOGRECORD_ATTRIBUTE_COUNT_LIMIT is low
• Fixed rows in the agents view staying blank after moving down a long list or folding a section
• Fixed claude remote-control --help not printing its usage and exiting when not signed in
• Fixed /design consent and /design revoke suggesting /design-login when they fail in a cloud session, where it isn't available; the message now points to claude.ai/design/settings
• Fixed MCP servers showing no tools, or every tool call failing, when the server negotiates protocol version 2026-07-28 but omits resultType, ttlMs or cacheScope
• Fixed prompt suggestions spending usage credits on models your plan pays for only with credits: they are now skipped after a reply billed to credits
• Fixed URLs written in backticks being clickable only on their first row when they wrap; the whole URL is now one link in terminals that support hyperlinks
• Fixed claude plugin details @builtin suggesting claude plugin list, which never shows built-in plugins, when the plugin isn't found; it now points to /plugin
• Fixed an emoji that a link starts inside wrapping one column too wide, which hid it in question previews and turned tables into lists
• Fixed worktree isolation refusing to create or resume worktrees under git 2.56 or later when a stray .git file points at a directory that doesn't exist
• Fixed a cloud session's cost and usage restarting from zero after the session resumed in a new process
• Windows: Fixed every file write being refused or asked about for projects on exFAT or FAT32 drives, including in sessions started with --plugin-dir
Improvements:
• Improved startup time with many plugins enabled: plugin command and agent files now take far fewer file system calls to load, most of all on Windows
• Improved auto mode with the server-side classifier: a conversation too long for the safety check is now compacted, instead of every checked tool call being denied
• Improved the message when a background session reopened from another folder has no LLM gateway: it now says why, instead of "Not logged in"
Security/safety changes:
• Changed claude -p and Agent SDK sessions with no permission mode to start in default mode on third-party providers, with telemetry off or on a fresh install; --permission-mode auto keeps auto
• [VSCode] Fixed MCP server sign-in from the panel opening a broken authorization page when the server URL contains a query string
Other changes:
• Self-hosted runner: Fixed git fetches failing with "bad object refs/heads" in sessions that reuse a checkout stored in git's reftable format
• Changed fork subagents (subagent_type: "fork") to be on by default in claude -p, the Agent SDK, the desktop app and VS Code, as they already are in the terminal; CLAUDE_CODE_FORK_SUBAGENT=0 turns them off, and claude mcp serve never offers them
• Changed the desktop app and VS Code to always run the main conversation's subagents in the background, as the terminal does, rather than let Claude choose; a subagent's own Agent calls in claude -p, the Agent SDK, the desktop app and VS Code now run in the foreground by default
• Changed the ← for agents footer hint to hide 10 seconds after a session opens; the count of agents waiting on you still shows
• Changed where the Claude in Chrome instructions sit in the system prompt so that new conversations can read them from the shared prompt cache
• Changed prompt and agent hooks so that at most 12 of one event run at a time; the rest wait their turn
• Changed the message shown when your organization's policy turns off /feedback: it now points to GitHub issues instead of an organization admin
• [VSCode] Fixed text after an unclosed code block in a list showing as plain text while a reply streams, then turning into code
• [VSCode] Fixed the @browser banner saying "Browser connected" when no browser with the Claude extension can be reached
• [Cloud sessions] Added a banner on a routine's page that says why its last run didn't start, such as your organization reaching its limit on concurrent cloud sessions
• [Cloud sessions] Fixed "Rewind to here" failing on every message except the newest in cloud sessions; self-hosted runners need Claude Code v2.1.246 or later
• [Cloud sessions] Fixed the pull request status bar in cloud sessions flipping a pull request with merge conflicts back to ready while GitHub rechecked it
• [Cloud sessions] Fixed routine runs showing as Completed after their cloud session stopped unexpectedly, and as Cancelled when archived before they started, instead of failed
• [Cloud sessions] Fixed the diff view in cloud sessions missing changes or failing to load after the session's GitHub repository was renamed or moved
• [Cloud sessions] Fixed a scheduled routine run that failed partway being run again from the start an hour or more later, which could repeat work such as posting the same report twice
• [Cloud sessions] Fixed an open cloud session sometimes not showing messages sent from another device until you reloaded the page or clicked away and back
• [Cloud sessions] Improved the error shown when a cloud session fails to start: it now says "Connection lost" or "Server error" instead of "Something went wrong"
• [Remote Control] Fixed a subagent's pane spinning forever in a Remote Control session after your computer goes offline; it now says Remote Control is disconnected
• [Claude Tag] Fixed "is thinking…" staying up under a mention in a Slack channel or DM after Claude answered it by editing one of its earlier messages
• [Claude Tag] Fixed URLs in code blocks under a numbered or bulleted step of Claude's Slack replies being wrapped in angle brackets, which broke copied commands
• [Claude Tag] Fixed HEIC, SVG, TIFF and BMP images attached in Slack never reaching Claude; they now arrive as files in its working files, like other file types
• [Claude Tag] Fixed new channel managers losing access to Claude in Slack in organizations that restrict Claude Tag by role; the manager role now also grants Claude Tag in Slack
• [Claude Tag] Fixed custom connectors whose MCP servers share one host showing as a single connector in Claude Tag admin settings; each server is now its own connector
• [Claude Tag] Fixed Claude in Slack sometimes answering a direct message with "DMs are temporarily unavailable" and dropping it when a single Slack lookup stalled; it now retries first
• [Claude Tag] Fixed direct messages with Claude on a Slack Enterprise Grid ignoring Slack's workspace dropdown; they now run under the connected workspace you last opened Claude in
• [Claude Tag] Fixed Claude in Slack's notice for a channel's monthly spend limit saying a channel manager can raise it; it now names an organization owner and links the usage page
• [Claude Tag] Fixed links in Claude's Slack replies absorbing the closing bold or italic marks, or full-width punctuation, right after them, which broke the link and the formatting
• [Claude Tag] Improved repository search in Claude Tag admin settings to cover up to 100 connected GitHub accounts and find private repositories past the first 5,000 of a GitHub App install
• [Claude Tag] Improved Add place in Claude Tag admin settings to list a channel you type or paste right away, instead of only after your organization's full channel list has loaded
• [Claude Tag] Improved Add > Domain on a workspace's or channel's page in Claude Tag admin settings to be available once that page loads, not only after every channel has loaded
• [Claude Tag] Changed Claude Tag admin settings to organize Claude's access into four tabs: Bundles, Connectors, Skills and plugins, and Channels
• [Claude Tag] Changed the Roles page in organization settings to group the roles created for Claude Tag channel managers in a collapsed section below your organization's own roles
• [Code Review] Fixed Code Review setup not resuming after you leave to connect GitHub; back in admin settings, it now reopens at the repository picker
Source: github.com/anthropics/claude…
Claude Code 2.1.302 has been released.
63 CLI changes
Highlights:
• Read tool refuses image sources over 128 MB to avoid loading large files into memory and crashing
• Prompt suggestions omit credit-billed models after a credit-billed reply, avoiding unexpected credit use
• Added 'Idle compaction' on/off in /config; post-compaction notices now show how to disable it
Complete details in thread ↓
Claude Code 2.1.302 is about to be released
#cccnext
Claude Code 2.1.301 additional updates
CLI surface:
Added:
• models: claude-checkpoint-index-H, claude-code-user
File: github.com/marckrenn/claude-…
Metadata:
• Time since 2.1.300 release: 1d 0h 3m 25s
• Bundle file size: +384.3 kB (+0.6%)
• Prompt files: +2 (+18.2%)
• Prompt tokens: +1,177 (+8.7%)
Prompt token mix by kind:
• tools: 70.0%→71.8%
• system: 30.0%→28.2%
Files:
• metadata: github.com/marckrenn/claude-…
• prompt stats: github.com/marckrenn/claude-…
More details: github.com/marckrenn/claude-…
Claude Code 2.1.301 system prompt updates
Notable changes:
1) Claude is now explicitly scoped to authorized security testing/defensive work/CTFs/education. It must refuse destructive techniques (incl. DoS, mass targeting, supply chain compromise, malicious detection evasion) and require clear authorization context for dual-use tooling.
Links:
1) github.com/marckrenn/claude-…
Claude Code CLI 2.1.301 changelog:
New features:
• Added CLAUDE_CODE_RETRY_WATCHDOG_MAX_USAGE_LIMIT_WAIT_MS so unattended retry mode (CLAUDE_CODE_RETRY_WATCHDOG) ends a request at a usage limit that resets too far away instead of waiting
• Added OpenTelemetry tracing guidance to the claude-api skill, including setting up trace destinations with the ant CLI
• Added the % motion to vim mode: jump to the matching bracket, alone or with d/c/y
• Added rows to a mod's Input: a text field of several lines in the terminal, where Enter submits and Shift+Enter or a backslash before Enter starts a new line
• Added classifier_verdict and permission_mode to OpenTelemetry tool_decision events, so auto mode classifier decisions can be told apart from permission rules
• Added classifier_category to OpenTelemetry tool_decision events, naming the built-in rule a classifier block matched, when OTEL_LOG_TOOL_DETAILS=1
Fixes:
• Fixed quitting removing a worktree made by a WorktreeCreate hook without asking when it may hold unpushed commits
• Fixed the fable (and best) model alias erroring on the Anthropic API when the newest Fable model is not available to your organization: Claude Code now retries once on the previous Fable model
• Fixed a misleading "Please run /login" error when a full disk keeps the login from being refreshed; the error now names the disk and says to delete files
• Fixed Grep and Glob reporting no matches when the search program failed unexpectedly before returning any results; they now return an error saying the search failed
• Fixed workflow agents sometimes skipping their step, and the run still reporting success, after reading the harness note that their task text carries no user authority
• Fixed artifact updates being refused where a PreToolUse hook covers Edit or Write; Claude now edits the file and then republishes instead of changing it in the publish call
• Fixed skills and commands with very many or very long argument names stalling for seconds when invoked; only the first 64 names, each up to 64 characters, are now filled in
• Fixed skills, commands and hooks using very large amounts of memory when their arguments fill many placeholders
• Fixed stray characters such as >0q covering the folder trust prompt, and >4m before the shell prompt at exit, in terminals built on VTE older than 0.53 such as MATE Terminal on RHEL 8
• Fixed stray GOK text appearing in the prompt at startup in some versions of iTerm2
• Fixed switching to a model whose name contains application-inference-profile running your awsAuthRefresh command and delaying model-switch hooks when the provider is not Bedrock
• Fixed sign-in refresh timeouts and unexpected sign-outs after a short command such as claude auth status or claude plugin list exited in the middle of a token refresh
• Fixed a tool call cut off by a message sent mid-turn during its permission check being reported to the model as rejected by the user
• Fixed a case where switching to a model with a smaller context window could spend usage credits on a summary by the previous model without asking first
• Fixed conversations being compacted over and over, on a model you didn't pick, behind an LLM gateway whose responses name a different model than the one requested
• Fixed vim mode sometimes staying in INSERT after Escape on a slow or busy machine
• Fixed Esc discarding a typed AskUserQuestion answer in vim mode: the free-text field now supports vim NORMAL mode, and Esc cancels only from NORMAL
• Fixed the Read tool reading binary files such as .xlsm, .parquet, .epub and .heic as text
• Fixed a Markdown table with only a header row drawing nothing when too wide for the terminal, including in plans on the plan approval card
• Fixed the /claude-api skill saying CMEK external-key endpoints aren't available on Claude Platform on AWS
• Fixed skills no longer being listed to the model after using /rewind
• Fixed the compaction row in a resumed session offering ctrl+o for history that is not loaded; it now says where the earlier messages are saved, and also shows in fullscreen
• Fixed the "new task? /clear to save tokens" hint coming back right after you interrupt a response
• Fixed the permission prompt for a plugin or skill hook's ask decision not showing which plugin or skill the hook comes from
• Fixed /diff not noticing a conflicted cherry-pick or revert in reftable repositories when one of its git checks timed out or failed
• Fixed workflow scripts asking for permission or being refused when read, edited or re-run after a Bash cd in the same session
• Fixed dim text on the dark ANSI theme and 16-color terminals: faint inside filled boxes, not faint under selection and search highlights, and list descriptions dimmed like other secondary text
• Fixed a mod's $.model.fork returning nothing-to-fork when called before the first response of a new Claude Code process had finished, as in claude -p runs and cloud sessions
• Windows: Fixed stopped background PowerShell commands missing the closing [killed] line in their output file
• [VSCode] Fixed a conversation that crashes or freezes the panel being reopened on every reload
Improvements:
• Improved switching to a model with a smaller context window: a conversation too long for the new model is now summarized by the previous model first
• Improved rendering performance while a long-running subagent works: its progress trail now updates incrementally instead of being reprocessed in full on every render
• Improved artifacts: pages Claude writes now paint the band above a sticky header, so scrolled text no longer shows there in the mobile apps
• Improved mods: in VS Code and the desktop and mobile apps, a tree drawn above the question dialog can now hold Markdown and up to 48 rows; the terminal keeps 12 plain rows
Security/safety change:
• [VSCode] Fixed the native dictation audio module being loaded, to check microphone permission, where dictation is not offered (non-claude.ai sign-ins, remote windows)
Other changes:
• Fullscreen mode: Fixed /compact and auto-compact briefly freezing the UI while the visible transcript is rebuilt
• Self-hosted runner: Fixed sessions started from Slack being unable to find or attach a repository when managed settings restrict MCP servers; use deniedMcpServers to keep those tools off
• Self-hosted runner: Fixed sessions being reported as having a deleted source branch, and not retried, when an unrelated setup or session failure quoted git's missing-ref wording
• Self-hosted runner: Fixed the log promising a retry of a failed or declined session release for a session that is ending; repeated failures now show a count
• Changed a mod hook's .catch handler to run only when the hook throws or times out; events raised beneath the hook's own calls now skip that hook without asking its .catch
• Changed a mod's $.env.set to resolve with {} once the variable is set or unset, or with { deny } saying why when the write is not made
• [VSCode] Added LaTeX math rendering in Claude's responses, including $$ and multi-line \[ … \] blocks and inline $…$ and \(…\) math
• [VSCode] Added a "Get more usage" link to the usage-limit banner for Pro and Max plans in the VS Code and JetBrains panels
• [VSCode] Fixed the chat panel slowing down during long thinking: it no longer re-parses the whole thinking text on every update
• [VSCode] Fixed diagnostics showing "[object Object]" instead of the rule code (e.g. MD013) for some language servers
Source: github.com/anthropics/claude…
Claude Code 2.1.301 is now available.
51 CLI changes, 1 system prompt change
Highlights:
• System prompt adds security-testing scope and must refuse out-of-scope probes, blocking unauthorized testing
• Unattended retry mode now aborts requests when the next usage-limit reset is far in the future
Complete details in thread ↓
Claude Code 2.1.301 is about to be released
#cccnext
Claude Code 2.1.300 additional updates
CLI surface:
Removed:
• models: claude-checkpoint-index-H
File: github.com/marckrenn/claude-…
Metadata:
• Time since 2.1.299 release: 15h 17m 22s
• Bundle file size: +620.9 kB (+1.0%)
• Prompt files: -13 (-54.2%)
• Prompt tokens: -19,045 (-58.5%)
Prompt token mix by kind:
• tools: 74.5%→70.0%
• system: 25.5%→30.0%
Files:
• metadata: github.com/marckrenn/claude-…
• prompt stats: github.com/marckrenn/claude-…
More details: github.com/marckrenn/claude-…
Claude Code 2.1.300 system prompt updates
Notable changes:
1) Claude no longer receives the explicit "AskUserQuestion" directive. In its place, the prompt now injects a "claude-mermaid-runtime-begin" marker right before the Harness block, shifting behavior away from forced question-asking and toward a runtime-wrapped/flagged instruction section (likely tied to Mermaid handling).
Links:
1) github.com/marckrenn/claude-…
Claude Code CLI 2.1.300 changelog:
New features:
• Added virtualText to a mod's prompt decorations: text drawn in the prompt box that never enters the draft or the submitted prompt
• Added cache_creation_5m_tokens and cache_creation_1h_tokens to the OpenTelemetry api_request event, splitting cache writes by lifetime
• Added $.ui.view({ agentId }) for mods: shows an agent's transcript in the main view when you ask, and $.ui.view({}) goes back
• Added 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
• Added /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
• Added OpenTelemetry GenAI semantic-convention attributes to trace spans, such as gen_ai.provider.name, gen_ai.conversation.id, gen_ai.tool.name and error.type
• Added support for rewriting a workflow agent's prompt and model in the agent.spawn mod hook, which could only refuse workflow agents before
• Added the prompt.change mod 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
Fixes:
• Fixed cloud sessions telling Claude that an organization policy blocked a host when the session's own network settings did
• Fixed /autocompact warning about high token usage when you choose a smaller auto-compact window
• Fixed SessionEnd hooks sometimes not running when you exit while a background command is still running
• Fixed claude --help naming a removed tool in its description of --restricted
• Fixed claude agents not refreshing any pull request's status when the data for one of them came back incomplete
• Fixed 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
• Fixed subagents you had typed messages to disappearing from /tasks shortly after finishing, leaving no way back to the conversation
• Fixed a completed parent agent dropping off the breadcrumb (its child shown re-rooted at top level) while you were viewing the child
• Fixed 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
• Fixed automatic tool search (ENABLE_TOOL_SEARCH=auto) turning off part-way through a conversation, for example while MCP servers reconnect after a resume
• Fixed a login refused by forceLoginOrgUUID leaving the refused organization's token stored, or live after /login
• Fixed the diff view in Claude Desktop and Remote Control sessions not noticing a conflicted cherry-pick or revert in reftable repositories
• Fixed 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
• Fixed the first transcript entry written after resuming a session being lost when a crash had cut the transcript's last line short
• Fixed /branch dropping messages, and claude purge skipping subfolder projects, when they contain a Unicode line or paragraph separator (U+2028, U+2029)
• Fixed plugin WorktreeCreate and WorktreeRemove hooks not running when Claude Code starts with --worktree (not yet with --tmux)
• Fixed OpenTelemetry tool_result events missing git_commit_id after git commit -q in repositories using reftable ref storage
• Fixed 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
• Fixed a note meant for Claude about mod hot-reloading appearing in the transcript as if you had typed it
• Fixed 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
• Fixed --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
• Fixed the branch showing as ".invalid" and --worktree failing to reopen a worktree in repositories using git's reftable ref storage
• Fixed Claude naming files in the session scratchpad by a bare filename or relative path instead of their full path
• Fixed 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
• Fixed --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
• Fixed 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
• Fixed a mod's prompt.edit hook not being raised for a newline entered with the chat:newline keybinding (Ctrl+J, or a rebound Enter)
• Fixed 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
• Fixed 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)
• Fixed 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
• Fixed Remote Control sessions being marked stopped while still running, on a computer serving several sessions at once
• Fixed 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
• Fixed Claude polling a background command's output file or sleeping while it runs
• Fixed feature flags and staged rollouts staying stale behind a TLS-inspecting proxy whose certificate is trusted only through the OS certificate store
• Fixed 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
• Fixed claude daemon stop exiting with no output, and leaving sessions listed as running, when telemetry is turned off
• Fixed Write, Edit and NotebookEdit in Cowork cloud sessions reporting success for a path on your own computer, where the file never arrived
• Fixed Claude searching for deferred tools already loaded earlier in the conversation when a session resumes a history that never listed them
• Fixed secondary (dim) text looking the same as normal text under the dark ANSI theme and on 16-color terminals
• Fixed cloud sessions hanging 5 minutes per turn when the organization's policy can't be read; the turn now ends promptly and says why
• Fixed a cloud session sometimes running an already answered message a second time after the session restarted during a long reply
• [VSCode] Windows: Fixed 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
• [Cloud sessions] Fixed "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)
Improvements:
• Improved WebFetch in Cowork cloud sessions to tell Claude that a page failed moments ago instead of fetching it again
• Improved mod sharing in the built-in plugin-authoring skill: Claude scans a mod's files for keys before opening them, and asks before scanning a folder outside the project
• Improved the note Claude 3 models get about an @-mentioned PDF, so they less often answer without reading it
• Improved 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
Removal:
• Removed the --sandbox and --no-sandbox flags from claude remote-control, which had no effect; passing either now exits with an error. Set sandbox.enabled in settings to sandbox sessions
Security/safety changes:
• Changed the /sandbox mode options to read "Sandbox commands" instead of "Sandbox BashTool"
• Changed PermissionRequest hooks in Cowork cloud sessions: a setMode update in a hook's allow is now ignored; the rest of the approval still applies
• Changed hooks: 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
Other changes:
• Self-hosted runner: Fixed 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)
• Changed CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST sessions to ignore CA-bundle, tool-proxy, git TLS and git config variables like SSL_CERT_FILE in settings; under Claude Desktop, only in project settings
• Changed exit to force-kill background commands still running 1.5 seconds after being asked to stop; in fullscreen mode they could previously be left running
• Changed Claude Desktop's Code tab to apply managed settings when forceLoginGatewayUrl names an Anthropic-operated gateway that serves the session's hostname; that gateway must be reachable at start
• Changed claude gateway to stop 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
• Changed large requests to api.anthropic.com to use gzip compression even when telemetry is disabled; set CLAUDE_CODE_GZIP_REQUEST_BODIES=0 to turn it off
• Changed the claude-api skill to leave Managed Agents sessions in place unless you ask to archive or delete them
• Changed background sessions to resume a carried workflow through the Workflow tool's approval instead of running it from the handoff file
• Changed local session transcripts to also record each API request's system prompt, tools and parameters, so a transcript you choose to share can reproduce a request exactly
• [VSCode] Added the claudeCode.attachSelection setting to stop text selected in the editor from being added to your messages
• [VSCode] Fixed 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
• [VSCode] Fixed the Thinking toggle switching to Off on models that always think; the toggle is no longer shown for those models
• [VSCode] Fixed "Edit prompt" on a flagged message opening the file or command menu over the restored prompt; Enter now sends it as written
• [VSCode] Fixed Shift+dragging a file onto the prompt on Windows inserting an unreadable /c:/… path instead of a mention relative to the working directory
• [VSCode] Fixed 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
• [VSCode] Fixed "Resume session" and tabs restored after a reload opening an empty new conversation instead of one that had moved into a git worktree
• [VSCode] Fixed ↑ then Enter on a recalled slash command running it without its arguments; the command and file menus no longer open over a recalled prompt until you edit it
• [VSCode] Fixed Shift+dragging a file from the Explorer or an editor tab onto the prompt inserting nothing in WSL, SSH and Dev Container windows
• [VSCode] Fixed Ctrl+Alt+F toggling Focus view instead of opening Find in the Explorer, other tree views, or the Debug Console on Windows and Linux
• [VSCode] Fixed 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
• [Cloud sessions] Fixed most commands in the / menu losing their descriptions in cloud sessions once you sent a second message
• [Remote Control] Fixed the diff view in Remote Control sessions 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
• [Claude Tag] Added support for 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] Added a private Allow once / Deny card in Slack threads for connector actions that need your approval, so Claude asks instead of refusing; others only see that it's waiting on you
• [Claude Tag] Added support for Slack voice clips in Claude in Slack: Claude reads Slack's transcript of a clip when Slack has one
• [Claude Tag] Fixed Claude in Slack not answering another app that tags it in a thread under a message Claude itself posted to the channel
• [Claude Tag] Changed access bundles an admin attached to a Slack channel to keep applying once the channel becomes a Slack Connect channel, with no need to remove and re-attach them
• [Code Review] Fixed 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] Fixed Code Review's "paused for this repository" comment sending admins to Code Review settings; it now says who can fix it and links the Git providers page
Source: github.com/anthropics/claude…


