Claude Code v2.1.281 Release Notes
What changed
The v2.1.281 release expands gateway configuration options, adds stricter plugin validation, and patches a wide range of session and streaming reliability issues.
New capabilities:
- AWS Bedrock Upstreams: Configurable
assume_roleallows the gateway to delegate credentials via STS, supporting cross-account access and optional per-developer session isolation. - Guardrail Enforcement: Bedrock upstreams now accept
guardrail: {id, version}to apply Amazon Bedrock guardrails uniformly to every request routed through them. - Telemetry Labeling: The
telemetry.resource_attributessetting attaches static labels to telemetry generated by Claude Desktop and/loginsessions. - Attribution Control: Setting
"attribution": falseinsettings.jsonsuppresses commit and PR attribution. Retain the object form when distributing configs across mixed CLI versions to avoid parsing skips. - MCP Browser Flows: Connections using the 2026-07-28 protocol support URL-mode elicitation, enabling servers to trigger browser-based flows without leaving blocking terminal dialogs.
- Plugin Validation:
claude plugin validatenow surfaces.mcp.jsonentries that would be silently dropped at load, undeclared${user_config.*}references, and non-secure endpoints. - Auto Mode Estimates: The
/insightscommand calculates how many permission prompts recent sessions could have resolved using auto mode. - UI Scrollbars: Fullscreen views for
/skills,/mcp, and/pluginnow display hover-activated scrollbars that match the implementation in/workflows.
Stability patches:
- Eliminated infinite retry loops that ignored
--max-turnswhen the model cycled between unparseable tool calls and output-limit truncation. - Repaired session restoration logic that previously corrupted history, broke prompt caches, or sent mismatched turns after restarts, proxy drops, or mid-call interruptions.
- Fixed stream handling where clean closes, duplicate events, or mid-response packet loss triggered “Content block not found” errors, duplicated tool executions, or silent completion markers.
- Corrected
CLAUDE_CODE_RETRY_WATCHDOGbehavior to handle initial 5xx failures following 429/529 throttling windows, and stopped back-to-back retries when servers sendRetry-After: 0. - Resolved oversized image tool outputs that previously orphaned sibling calls.
Why it matters
This release moves Claude Code closer to a production-grade automation interface. The gateway and Bedrock additions give infrastructure teams explicit control over credential delegation (assume_role) and content filtering (guardrail: {id, version}) without touching application logic. Static telemetry labeling and stricter plugin validation reduce operational noise and security exposure in managed developer environments.
On the client side, the session and streaming repairs directly address the primary failure modes in long-running agent workflows. Developers previously encountered broken caches, duplicated tool invocations, and silent failures when proxies interrupted SSE streams or when sessions resumed after unexpected disconnects. These patches stabilize the conversation state machine, ensuring reasoning traces, prompt caches, and tool outcomes persist correctly across network volatility. The /insights auto-mode projection also provides measurable data for teams evaluating autonomous permission strategies.
What to do next
- Upgrade to v2.1.281 to inherit the session recovery and stream stabilization patches.
- If routing traffic through the Claude apps gateway to Bedrock, configure
assume_rolefor cross-account delegation and attachguardrail: {id, version}to enforce content policies. - Add
telemetry.resource_attributesto standardize metrics collection across desktop and web login sessions. - Run
claude plugin validateagainst existing.mcp.jsonfiles to catch deprecated entries, unresolved${user_config.*}variables, and insecure endpoints before deployment. - Review
/insightsoutput to quantify potential auto-mode adoption and adjust your default permission strategy accordingly. - Verify that proxy or gateway configurations no longer drop trailing frames or duplicate stream events; the client now handles partial responses and edge-case retry headers more gracefully.
Share Article
If this article helped you, please share it with others!