Claude Code v2.1.281
Released Sep 23, 2026 (21 days ago).
229 issues reference this build
203 still open
26 resolved (11%)
"References this build" means the issue body mentions running 2.1.281 (from the
bug-report template). It reflects report volume, not a proven defect count — an issue may mention a
version without being caused by it. First-party data from the anthropics/claude-code tracker.
Top issues reported on v2.1.281
Ranked by community engagement (reactions and comments).
- [BUG] Desktop (Windows): "Archive" removed from every session menu; asking the session to archive prompts for permission every time
- [BUG] Desktop Code tab ignores ANTHROPIC_BASE_URL from ~/.claude/settings.json (terminal CLI honors it)
- [FEATURE] Model-callable, permission-gated Compact tool for persist → compact → re-read workflows
- Workflow harness relays a stale, unrelated user message to every agent() with override priority when the workflow is launched mid-turn
- [MODEL] Model writes "falsifiable" when "verifiable" is the obviously intended word — reproduced 4x over 4 months, project-scoped correction doesn't transfer
- [BUG] VS Code panel sessions never get mcp__ide__getDiagnostics: the IDE server is only advertised to integrated terminals
- [BUG] Windows Desktop: device bridge handshake never acknowledged for ~18 min (connect frame sent → handshake timeout), survives reboot + app update, then self-recovers
- [BUG] VS Code extension activates in virtual workspaces and shows a misleading "native binary failed to launch (libc)" error
- [BUG] Auto Mode classifier false positives in legitimate multi-agent repo workflow after recent Claude Code update
- [FEATURE] Desktop Code tab: a row of user-defined quick-command buttons above the prompt box
- Plan Mode re-prompts on every call for parameterized MCP tools, even when covered by a permissions.allow wildcard
- [BUG] agents-md: don't report when AGENTS.md was loaded instead of CLAUDE.md
- [FEATURE] Projects: threads running on a local folder (Remote Control) can't read or write project memory
- [BUG] Code block copy adds trailing newline causing >> in PowerShell
- `large-memory-files` warning (new in 2.1.281) can't be dismissed or configured
- [BUG] ctrl+enter not sending now
- [BUG] Opus 5.5: classifier blocks ordinary work (public research, own-machine scripts), and loses track early in short sessions
- [BUG] Windows: timed-out git status leaves orphaned git.exe processes that pile up until memory is exhausted
- [BUG] Claude Desktop (Code tab, macOS 27.0): turn-complete notifications fire only intermittently
- [BUG] Entering the agent view permanently breaks ESC, Ctrl+C, control keys and scroll for the rest of the session (terminal mode not restored)
- Windows: Bash tool silently truncates the wrapped command at 8,186 chars, so commands don't run, run partly, or dump the environment
- [BUG] Desktop: finished Project threads keep live sessions and fill the process cap, so new Project sessions are refused
- [Bug] Session rename not persisted after resume
- [BUG] SessionStart:clear systemMessage not rendered after /clear in the default TUI renderer (shown only in ctrl+o or fullscreen)
- [Bug] Cyber Verification Program acceptance still triggers security flags
- [BUG] Interactive session was backgrounded with no user input (dispatch source "slash") while a /loop was running
- [Desktop, Code tab] Browser pane tabs close after 30 minutes of not viewing a session; no way to turn it off
- [Bug] Stop hook repeatedly triggers with "full milestone completion" demand in loop sessions
- Subagent transcripts record start-of-stream `output_tokens` and no `stop_reason` for most turns
- [BUG] Desktop app: messages from before a compaction disappear from Code sessions
Changelog
What's changed
- Added Claude apps gateway support for newer Claude Desktop keys in
desktoppolicy blocks, includingblockReadsOutsideWorkingDirectoriesanddisableBypassPermissionsMode - Added
assume_roleon Claude apps gateway Bedrock upstreams: the gateway calls Bedrock as an IAM role it assumes through STS, in another AWS account if needed, optionally one session per developer - Added
guardrail: {id, version}on Claude apps gateway Bedrock upstreams to apply an Amazon Bedrock guardrail to every request sent through them (set it on all Bedrock upstreams or none) - Added
telemetry.resource_attributesto the Claude apps gateway config, to put fixed labels on the telemetry of Claude Desktop and/loginsessions - Added
"attribution": falseinsettings.jsonto hide all commit and PR attribution; older CLI versions skip a settings file that holds it, so keep the object form in files shared across versions - Added MCP URL-mode elicitation on 2026-07-28 protocol connections, so servers can ask Claude Code to open a browser-based flow; no waiting dialog is left on screen when the server has no way to confirm completion
- Added MCP server checks to
claude plugin validate: it reports.mcp.jsonentries that would be silently dropped at load, undeclared${user_config.*}references, and insecure URLs - Added an auto mode recommendation to
/insightsthat estimates how many permission prompts auto mode could have handled in your recent sessions - Added a scrollbar to the
/skills,/mcpand/pluginInstalled lists in fullscreen mode, like the one/workflowsnow has: it appears while the mouse is over the list and can be clicked or dragged - Fixed a crash ("unrecoverable interface error") that could end a session while an API request was being retried
- Fixed a turn that could retry indefinitely, ignoring
--max-turns, when the model alternated unparseable tool calls and output-limit truncation - Fixed resumed sessions re-sending earlier turns in a changed form (a parallel tool-call turn, an MCP tool call's input or a tool-search result while its server was still reconnecting, or a tool-search result whose loading turn was interrupted), which could make the API drop the conversation's prior reasoning
- Fixed resuming a very large session sometimes restoring only its last few messages
- Fixed a session resumed after a restart during a pending permission prompt sending a different history than before, which broke the prompt cache from that point
- Fixed resuming a session that ended during a tool call: Claude now sees the call and is told its outcome is unknown, and a manual resume no longer adds a hidden "Continue" message
- Fixed sessions with an earlier advisor result the API could no longer read failing one request every turn and repeatedly losing earlier reasoning; the history is now repaired once
- Fixed the prompt cache being lost when an MCP server disconnects mid-conversation, or is still connecting after a resume, while tool search is off (for example behind a proxy or gateway)
- Fixed responses cut short by a proxy or gateway that closes the stream cleanly being shown as complete with no warning, and tool calls running twice on duplicated stream events
- Fixed responses failing with "Content block not found" when a proxy drops a stream event mid-response; the partial response is now kept, and web search keeps results that already arrived
- Fixed an empty completed response being requested twice when the connection dropped before the stream's final event
- Fixed the stop reason being lost when a proxy sends a trailing usage-only frame
- Fixed
CLAUDE_CODE_RETRY_WATCHDOGsessions failing on the first 5xx or dropped connection after a run of 429/529 waits, and sleeping uncapped and silently on a longRetry-Afterfrom a 5xx - Fixed fast mode retrying rate-limited requests back to back when the server sent
Retry-After: 0 - Fixed a tool that returned an oversized image leaving sibling tool calls