Claude Code v2.1.281: Bedrock assume_role, Guardrails, and a Long List of Resume Fixes
Claude Code v2.1.281 is out, and it's mostly gateway plumbing plus a dense changelog of session-resume and proxy bug fixes. If you run Claude Code behind a gateway or Bedrock upstream, the first three items are the ones that matter.
Claude apps gateway changes
- Newer Claude Desktop keys are now supported in desktop policy blocks, including
blockReadsOutsideWorkingDirectoriesanddisableBypassPermissionsMode. assume_roleon Bedrock upstreams: the gateway calls Bedrock as an IAM role it assumes through STS, in another AWS account if needed, and optionally one session per developer.guardrail: {id, version}on Bedrock upstreams applies an Amazon Bedrock guardrail to every request sent through them. Note the constraint: set it on all Bedrock upstreams or none.telemetry.resource_attributeslets you put fixed labels on telemetry from Claude Desktop and/loginsessions.
Attribution off, and a cross-version caveat
Set "attribution": false in settings.json to hide all commit and PR attribution. One caveat worth reading twice if you commit settings files to a shared repo:
{
"attribution": false
}Older CLI versions skip a settings file that holds this key, so keep it in object form in files shared across versions. A bare boolean form is the version you don't want.
MCP and plugin tooling
- MCP URL-mode elicitation on 2026-07-28 protocol connections — 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.
claude plugin validatenow checks MCP servers and reports.mcp.jsonentries that would be silently dropped at load, undeclared${user_config.*}references, and insecure URLs./insightsadded an auto mode recommendation that estimates how many permission prompts auto mode could have handled in your recent sessions./skills,/mcpand/pluginInstalled lists got a scrollbar in fullscreen mode (mouse-over, clickable, draggable) like/workflowshas.
The fix list
Most of this release is repair work on resumed sessions and streams. Highlights:
- A crash ("unrecoverable interface error") that could end a session mid-retry of an API request.
- A turn that could retry indefinitely, ignoring
--max-turns, when the model alternated unparseable tool calls and output-limit truncation. - Resumed sessions re-sending earlier turns in a changed form — parallel tool-call turns, MCP tool call inputs, tool-search results while a server was reconnecting — which could make the API drop prior reasoning.
- Resuming a very large session restoring only its last few messages.
- A session resumed after a restart during a pending permission prompt sending a different history than before, breaking the prompt cache from that point on.
- Resuming a session that ended during a tool call: Claude now sees the call and is told its outcome is unknown, and manual resume no longer injects a hidden "Continue" message.
- Prompt cache loss when an MCP server disconnects mid-conversation, or is still connecting after a resume, while tool search is off (e.g. behind a proxy or gateway).
- Responses cut short by a proxy that closes the stream cleanly being shown as complete with no warning, and tool calls running twice on duplicated stream events.
- "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.
- Empty completed responses being requested twice when the connection dropped before the stream's final event.
- Stop reason lost when a proxy sends a trailing usage-only frame.
CLAUDE_CODE_RETRY_WATCHDOGsessions failing on the first 5xx or dropped connection after a run of 429/529 waits, plus uncapped silent sleeps on a longRetry-Afterfrom a 5xx.- Fast mode retrying rate-limited requests back to back when the server sent
Retry-After: 0. - An oversized image from one tool leaving sibling tool calls unanswered, or ending the turn with no final message.
- Conversations permanently stuck on
tool_use.name: String should have at most 200 charactersafter an overlong tool name. - Tool calls failing with "Failed to get memory usage" — or reported as failed after they ran — when Claude Code can't read its own memory usage, e.g. after running out of file descriptors.
--input-format stream-jsonsessions (Agent SDK, VS Code extension) and scheduled cloud sessions failing every turn.
If you're on the Agent SDK, VS Code extension, or a gateway-fronted Bedrock setup, this is a straight upgrade — several of the fixes target exactly those paths.
📖 Read the full source: GitHub Claude-Code
👀 See Also

Claude Corps: Anthropic's $150M National Fellowship for Nonprofit AI
Anthropic launches Claude Corps, a 12-month paid fellowship placing 1,000 early-career fellows at nonprofits to build AI tools using Claude. $150M budget, $85k salary, expert mentorship.

Anthropic Report on Global AI Adoption Intensity
Anthropic's latest data reveals uneven global AI adoption, measuring intensity of usage rather than total users. The report shows where AI is embedded into workflows like coding, research, and decision making across individuals and businesses.

Claude Code v2.1.136: Hard Deny for Auto Mode, MCP OAuth Fixes, and 40+ Bug Fixes
Anthropic released Claude Code v2.1.136 with a hard_deny setting for auto mode classifier rules, fixes for MCP server disappearance after /clear, OAuth token refresh concurrency issues, and over 40 other bug fixes.
OpenClaw 2026.9.6 Adds Claude Opus 5.5, GPT-6 Sol and Luna, Grok 4.7, Plus Restart Recovery
OpenClaw 2026.9.6 ships in 2,614 PRs from 351 contributors, adding Claude Opus 5.5, GPT-6 Sol and Luna, and Grok 4.7 models, restart recovery for unfinished conversations, a 30-day Usage report, and live meeting notes.