Developer Tools & APIs

Claude Code v2.1.169: Five fixes that make background agents and managed settings actually reliable

The June 8 Claude Code release fixes /workflows blocking, TaskCreate errors, background task loss on reattach, managed settings gaps, and adds a new OTEL event.

GitHub repository social preview card for the Anthropic Claude Code project on GitHub

Claude Code v2.1.169 shipped on June 8 with 30 changes. Most are quietly valuable: the kind of fixes that don’t make headlines but do save you from a confusing afternoon. Here are the five worth knowing about.

/workflows no longer blocks while Claude is thinking

If you’ve been using dynamic workflows, you’ll recognise this one. Previously, trying to open /workflows while a turn was in progress would block the panel from opening. You’d be left waiting for Claude to finish before you could even check what was running.

That’s now fixed. /workflows opens immediately regardless of what Claude is doing mid-turn. For a feature built around orchestrating tens or hundreds of background agents, having the status panel be non-blocking is the minimum bar. It’s good to see it cleared.

Dynamic workflows are on by default for Max, Team, and API users. Enterprise admins can enable them in Claude Code settings.

TaskCreate malformed-input auto-repair

When Claude orchestrates multi-agent workflows, it uses TaskCreate to spin up subtasks. If the input payload was malformed, the whole thing would fail. Now Claude Code automatically repairs those malformed inputs rather than throwing an error and stopping.

The fix also improves the error message when a tool isn’t loaded at validation time: it now includes the tool’s schema, so you can see exactly what was expected rather than getting a generic failure. For complex agentic pipelines with many tools, that extra context is often the difference between a five-second fix and a prolonged debugging session.

Background agents no longer drop tasks when you reattach after an update

This one is more disruptive than it sounds. If Claude Code updated itself while you had background agent sessions running, and you then reattached via claude agents, those running tasks would be silently lost. No error, no warning. Just gone.

For long-running background jobs, updating Claude Code at the wrong moment could wipe out in-progress work with no obvious explanation. The fix ensures that reattaching after an update preserves whatever tasks were running in the background.

If you use background agents for anything non-trivial, this is the fix in v2.1.169 that matters most to you practically.

Managed settings now apply for the full session on fresh config directories

This one is easy to miss in testing but significant in production. The bug: when Claude Code started up against a fresh config directory (no existing config), and the managed settings fetch completed during that startup window, the resulting org permission rules would only partially apply. The first part of the session ran without full enforcement.

Fresh config directories are common in CI/CD pipelines, containerised environments, and new developer onboards. Those are also the environments where you most want your org permission policies to be consistently enforced from the start.

The fix closes the race condition so managed settings apply for the entire session, every time.

A related fix in this release: if a remote-managed settings payload contains an invalid entry, Claude Code now applies all the remaining valid policies and surfaces the validation error, rather than silently discarding the whole payload. That’s worth checking if you’ve ever suspected your managed settings weren’t fully taking effect.

New OTEL claude_code.at_mention event

Claude Code’s OpenTelemetry instrumentation gets two improvements here. First, numeric attributes on api_request and api_error events are now emitted as actual numbers rather than strings. If you’re piping OTEL data into a metrics backend and doing numeric aggregation on those fields, that change will clean up some edge cases.

Second, a new claude_code.at_mention event has been added to track @-mention resolution. When a user @-mentions a file, a tool, or another resource, that event is now captured as a distinct telemetry point.

For teams building observability pipelines around Claude Code, this gives you a cleaner signal for auditing what’s being referenced in sessions, understanding context-window costs, and monitoring resolution latency. It fits into a broader push in recent Claude Code releases: earlier in the June cycle, OTEL_RESOURCE_ATTRIBUTES values became available as labels on metric datapoints, letting you slice usage by dimensions like team or repo.

A few other things in this release worth noting

Beyond the five headliners, v2.1.169 also includes some quality-of-life improvements:

  • CPU usage is reduced during response streaming and spinner animations
  • JetBrains IDE terminals (IntelliJ, PyCharm, WebStorm on 2026.1+) had a flickering issue that’s now resolved via synchronized output
  • Shift+non-ASCII characters being dropped in Kitty keyboard protocol terminals (WezTerm, Ghostty, kitty) is fixed
  • A default 5-minute idle timeout has been restored on Vertex and Foundry, so a stalled stream aborts rather than hanging indefinitely. You can set API_FORCE_IDLE_TIMEOUT=0 to opt out
  • Background agents dispatched onto pre-warmed workers now correctly pick up project-level settings env values like ANTHROPIC_MODEL

Claude Code has been shipping at a fast cadence through early June 2026, with v2.1.165 through v2.1.169 all landing within four days. Most of these releases are incremental, but the background agent continuity fix and the managed settings race condition are genuinely worth updating for if you’re using either feature in anything close to production.

You can update via npm install -g @anthropic-ai/claude-code and check the full release notes on the Claude Code GitHub releases page.