Claude Code
TL;DR
- Parallel tool calls no longer fail as a batch. A failed Bash command in a parallel group used to cancel the remaining calls; now each tool returns its own result independently.
claude mcpcommands no longer print secrets.list,get, andaddpreviously expanded${VAR}references and showed credential headers and URL secrets in plain text; they're now redacted.- Background agents dispatched from
claude agentsnow use the correct model. They were booting on a stale model from the daemon's environment instead of readingsettings.json(more below). claude -pstdout is no longer corrupted by background subagents. Output from background subagents was leaking into--output-format textandjsonstdout, silently breaking scripts that parse the output.
New in 2.1.161
2.1.161 (June 3, 2026)
OTEL_RESOURCE_ATTRIBUTESvalues are now included as labels on metric datapoints, so you can slice usage metrics by custom dimensions like team or repoclaude agentsrows now showdone/totalbefore the detail when work is fanned out; peek shows the longest-running item/mcpnow collapses claude.ai connectors you've never signed in to behind a "Show unused connectors" row- Parallel tool calls: a failed Bash command no longer cancels other calls in the same batch. Each tool returns its own result independently
- Fullscreen mode: clipboard now uses
wl-copy/xclip/xselon Linux when available, copies to both the clipboard and PRIMARY selection for middle-click paste, and the "hold {key} for native selection" hint now shows the correct key per terminal - Fixed the
/effortdialog, workflow animations, and prompt keyword shimmer not honoring the "Reduce motion" setting - Fixed
forceLoginOrgUUID/forceLoginMethodmanaged-settings policies blocking third-party provider sessions (Bedrock, Vertex, Foundry, Mantle) alongside the org pin (regression in 2.1.146) - Fixed background subagent output corrupting
claude -pstdout when using--output-format textorjson - Fixed
/usage-creditsstarting a re-login for Team and Enterprise admins instead of pointing to the organization's usage settings page - Fixed
/autofix-prreporting "cannot run on the default branch" when the session is inside a git worktree or another repository - Fixed
--resumepicker not showing sessions from the current directory when it isn't a git worktree (e.g., jj workspaces) - Fixed Windows hooks that invoke bash explicitly (e.g.,
/usr/bin/bash script.sh) failing with "command not found" or "cannot execute binary file" - Fixed OpenTelemetry log events (
user_prompt,api_request,tool_result,tool_decision) being silently dropped when emitted before telemetry initialization completed - Fixed
claude mcplist/get/add printing secrets to the terminal:${VAR}references are no longer expanded, and credential headers and URL secrets are redacted - Fixed Workflow agents spawned with
isolation: "worktree"in background sessions being blocked from editing files inside their own worktree - Fixed background sessions dispatched from
claude agentsbooting on a stale model from the daemon's environment instead of the model insettings.json - Fixed a potential crash when rendering Write tool results after resuming a session
- Fixed completed subagents getting stuck showing as running when an error occurs while finalizing their result
- Fixed
EADDRINUSEerrors from tools that bind Unix sockets under$TMPDIRwhenCLAUDE_CODE_TMPDIRis set to a deep path - Improved terminal rendering performance by stabilizing the layout engine's JIT compilation profile
- Improved rendering performance for large file writes
- [VSCode] Added a tip suggesting disabling terminal GPU acceleration (or running
/terminal-setup) to fix garbled glyphs
Notes
Background agent model selection
The daemon's cached environment was overriding your settings.json model. When claude agents dispatches a background session, the daemon process spawns it. Before this fix, the daemon passed its own cached model to the child, ignoring your /model selection. Since 2.1.153 made /model persistent across sessions, this mismatch became more visible: you'd pick a new model, but dispatched agents would keep running the old one. The fix re-reads settings.json at session boot.