AI Catchup

Claude Code 2.1.142: `claude agents` Gains Session Flags, Fast Mode Defaults to Opus 4.7, MCP Tool Timeout Honored

By 16 min read

Claude Code 2.1.142 (May 14, 2026) added eight dispatch flags to `claude agents`, moved fast mode's default from Opus 4.6 to Opus 4.7, and made `MCP_TOOL_TIMEOUT` raise the 60-second per-request cap on remote MCP servers. As of September 2026 the flags and the timeout fix stand, but fast mode has left Opus 4.7: the default moved to Opus 4.8 in 2.1.154 and to Opus 5 in 2.1.219, and the 4.6 override variable is a no-op.

Anthropic shipped Claude Code 2.1.142 on May 14, 2026. The headline is a fleshed-out claude agents dispatch surface: eight new flags that let each background session override directories, settings, MCP config, plugin directories, permission mode, model, effort, and the permission bypass. Behind that, fast mode's default moves from Opus 4.6 to Opus 4.7, MCP_TOOL_TIMEOUT finally raises the underlying fetch timeout for remote HTTP/SSE servers, and a series of background-session stability fixes land for the agent view that shipped in 2.1.139.

For where Claude Code sits this quarter, 2.1.133's worktree-base reversal and MCP OAuth proxy fixes are the right context, and the post-mortem on the spring quality regression is the trajectory anchor.

Key Takeaways

  • Eight new claude agents flags. --add-dir, --settings, --mcp-config, --plugin-dir, --permission-mode, --model, --effort, --dangerously-skip-permissions -- all configure dispatched background sessions independently of the daemon defaults.
  • Fast mode defaults to Opus 4.7. Previously Opus 4.6. Set CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE=1 to pin fast mode to 4.6 (updated September 5, 2026: the default moved to Opus 4.8 in 2.1.154 and to Opus 5 in 2.1.219, Opus 4.7 fast mode was removed on July 24, 2026, and the override variable has been a no-op since 2.1.160).
  • MCP_TOOL_TIMEOUT now honored end to end. The env var raises the per-request fetch timeout for remote HTTP and SSE MCP servers, lifting the 60-second cap that previously applied regardless of configuration (updated September 5, 2026: a per-server timeout field in .mcp.json now overrides the variable per server, and the per-request timer is the greatest of 60 seconds, that tool timeout, and MCP_TIMEOUT).
  • Root-level SKILL.md plugins. Plugins with a root SKILL.md and no skills/ subdirectory now register as a skill, simplifying single-skill plugins (updated September 5, 2026: set the frontmatter name, or the skill is named after the install directory).
  • Background-session stability. Pre-existing worktrees recognized, daemon survives macOS sleep/wake by detecting clock jumps, clean daemon exit on binary upgrade, claude --bg --dangerously-skip-permissions persists across retire/wake.
  • /plugin shows LSP servers. The details pane and claude plugin details now list LSP servers a plugin provides.
  • Better reactive compaction. First summarize attempt seeds from overflow size, avoiding a wasted near-full-context retry.
  • Hook config error clarity. Configuring a prompt- or agent-type hook for SessionStart/Setup/SubagentStart now shows a clear "use a command-type hook instead" error.

The claude agents Flag Set

The most consequential addition is the new flag set for dispatched background sessions. Quoting the changelog:

Added new claude agents flags: --add-dir, --settings, --mcp-config, --plugin-dir, --permission-mode, --model, --effort, and --dangerously-skip-permissions to configure dispatched background sessions

The agent view (claude agents) shipped in 2.1.139 as a single dashboard of every Claude Code session -- running, blocked, or done. The original version dispatched background sessions with the daemon's defaults: same working directory roots, same settings, same MCP config, same plugin tree, same permission mode, same model, same effort.

That works for fan-out where every agent does the same kind of work. It breaks the moment you want heterogeneous dispatch: one agent at low effort running tests, another at high effort writing a migration, a third with a permission bypass for a sandboxed throwaway. Until 2.1.142, each of those needed a separate top-level Claude Code config or a wrapper script.

The new flags map one-to-one to the corresponding session-level settings:

FlagConfigures
--add-dirAdditional working directories for the session
--settingsPath to a settings file overriding the daemon default
--mcp-configPath to an MCP config file overriding .mcp.json
--plugin-dirPlugin directory override
--permission-modeSession permission mode (auto, plan, etc.)
--modelModel override for the dispatched session
--effortEffort level for the dispatched session
--dangerously-skip-permissionsPermission-bypass flag

The pattern matches the existing top-level Claude Code CLI flags, which is the right call -- it means knowledge transfers and there is no second flag dialect to learn. The use case is the natural one: you can now launch a dashboard full of agents where each one is configured exactly for its job.

Update (September 5, 2026): All eight flags are still documented on the agent view page, whose version table credits 2.1.142 with a ninth, --strict-mcp-config, that the changelog entry did not list. The set has grown since: --allow-dangerously-skip-permissions (2.1.143) makes bypass mode reachable in a dispatched session's Shift+Tab cycle without starting in it, --agent (2.1.157) sets the subagent a dispatch prompt runs when it names none, and --restricted (2.1.248) starts every dispatched session in restricted mode. Three of the launch flags needed fixes afterwards: --dangerously-skip-permissions silently fell back to auto mode until 2.1.196, --plugin-dir was ignored when placed after agents until 2.1.200, and --effort ultracode was dropped before it reached the dispatched session until 2.1.210. The docs also note that claude agents rejects any flag an older version does not know with an unknown option error, so the version table is the place to check before scripting against these.

Fast Mode Now Defaults to Opus 4.7

Fast mode is Claude Code's high-speed Opus configuration: the same model at a higher per-token price, not a different model. Until 2.1.142, the default was Opus 4.6. In 2.1.142 the default moves to Opus 4.7.

The escape hatch is documented in the changelog:

Fast mode now uses Opus 4.7 by default (previously Opus 4.6). Set CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE=1 to pin fast mode to Opus 4.6

The override exists because some users build muscle memory around a specific model's quirks -- prompt formatting that one model handles better than another, tool-call patterns that calibrate to one's behavior. Letting them pin to 4.6 explicitly is the right move during a generation transition. If you have not tuned to a specific Opus version, the new default is what you want.

Update (September 5, 2026): This section describes a default that lasted twelve releases. Anthropic's fast mode page now gives the full history: "Opus 5 is the fast mode default in Claude Code v2.1.219 and later. Before v2.1.219, fast mode defaulted to Opus 4.8 on v2.1.154 through v2.1.218, and to Opus 4.7 on v2.1.142 through v2.1.153." Fast mode on Opus 4.7 was "deprecated on June 25, 2026, and removed on July 24, 2026", and switching to Opus 4.7 now turns fast mode off. The override went the same way: 2.1.154 deprecated CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE with a June 1 removal date, and 2.1.160 removed it; the environment variables reference lists it as "now a no-op". Setting it today does nothing.

Claude Code versionsFast mode defaultFast mode price per MTok (in/out)
Before 2.1.142Opus 4.6$30 / $150 (per the Week 22 digest, which says "Opus 4.7 and 4.6 stay at $30/$150")
2.1.142 through 2.1.153Opus 4.7$30 / $150 (same source)
2.1.154 through 2.1.218Opus 4.8$10 / $50
2.1.219 and laterOpus 5$10 / $50

Sources: the fast mode docs page and the Week 22 and Week 30 release digests, all fetched September 5, 2026. The Opus 4.8 fast mode piece covers the 2.1.154 change and the price cut that came with it.

MCP_TOOL_TIMEOUT Honored End to End

The MCP tool timeout fix is the kind of plumbing bug that only matters until you hit it, at which point it is the only thing that matters:

Fixed MCP_TOOL_TIMEOUT not raising the per-request fetch timeout for remote HTTP and SSE MCP servers, which capped tool calls at 60 seconds regardless of the configured value

Two layers were involved. The protocol-level timeout is what MCP_TOOL_TIMEOUT is supposed to control -- how long Claude Code waits for a tool call to complete before giving up. The fetch-level timeout is the underlying HTTP request's idle timeout, which for remote HTTP and SSE MCP servers was fixed at 60 seconds.

When the protocol-level timeout was higher than 60 seconds, the fetch layer would cancel the request first and the protocol layer would see a connection error rather than a clean timeout. The user-visible effect: every remote MCP tool call that took longer than 60 seconds failed with what looked like a network error, regardless of what MCP_TOOL_TIMEOUT was set to.

2.1.142 routes the env var through to the fetch timeout. If you run remote MCP servers with long-running tools -- code execution, data analysis, anything that takes more than a minute -- this is the version to upgrade to. The configured value now actually applies.

Update (September 5, 2026): The two-layer model above still holds, and the MCP docs now spell it out. MCP_TOOL_TIMEOUT defaults to about 28 hours. For HTTP, SSE, and claude.ai connector servers the per-request timer "covers each request through to the server's first response byte", and Claude Code sets it "to the greatest of three values: 60 seconds, the tool timeout that applies to the server, and MCP_TIMEOUT"; the 28-hour default does not enter that comparison, and a value below 60 seconds does not shorten it. Two controls arrived after this release. A per-server timeout field in milliseconds in the server's .mcp.json entry overrides the environment variable for that server only, and since 2.1.162 values below 1000 are ignored rather than floored to one second. An idle timeout (2.1.187 and later) aborts a call that sends no response and no progress notification for five minutes on HTTP, SSE, and WebSocket servers, or 30 minutes on stdio servers, configurable with CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT. Since 2.1.212 a main-conversation MCP call still running after two minutes moves to a background task instead of blocking the session, with the same limits still applied.

Background-Session Stability

A cluster of fixes around claude agents and background sessions land in 2.1.142. The most user-visible:

  • Pre-existing worktree recognition. Background sessions now recognize pre-existing git worktrees, fixing a state where Edit was blocked while EnterWorktree refused to create a duplicate. If you ever hit a "worktree already exists" wall in a dispatched agent, this is the fix.
  • macOS sleep/wake clock-jump detection. The daemon now detects clock jumps instead of treating them as elapsed idle time. Before, sessions disappeared and daemon reconnect failed after macOS sleep/wake because the daemon mistook the sleep duration for genuine inactivity and tore down state.
  • Clean daemon exit on binary upgrade. When brew upgrade or another mechanism replaces the Claude Code binary, the daemon now exits cleanly rather than crash-looping dispatched agents on the deleted path. Real outage cause for anyone running long-lived claude agents sessions on macOS.
  • claude --bg --dangerously-skip-permissions persists across retire/wake. Before, the permission bypass would silently drop when the daemon retired the session and reawakened it, requiring re-invocation. The flag now sticks.
  • Empty placeholder sessions retired. Empty idle background sessions left over from backgrounding a fresh REPL are now automatically retired by the daemon after 5 minutes (this fix actually landed in 2.1.141 and remains in 2.1.142).

Together these are the kind of background-session bugs that show up only after enough hours of real use to accumulate sleep cycles, upgrades, and worktree state. The fact that they all land in one release suggests Anthropic is now driving the agent view from real production use, not just the launch demo.

Other Notable Changes

  • /plugin shows LSP servers. The details pane and claude plugin details now list LSP servers a plugin provides. Helpful for plugin authors and users debugging which language servers a plugin actually exposes.
  • /web-setup warns before replacing GitHub App connection. Previously silent.
  • Reactive compaction warm start. First summarize attempt now seeds from the original request's overflow size, avoiding a wasted near-full-context retry. For users who push context to its limits, this is a real latency improvement.
  • Hook config error clarity. Configuring a prompt- or agent-type hook for SessionStart, Setup, or SubagentStart now returns a clear "use a command-type hook instead" error rather than silent misbehavior.
  • Stale /model suggestion removed. Usage Policy refusal messages no longer suggest /model claude-sonnet-4-20250514, which referred to a retired model ID.
  • Background-color bleed fix. Attaching to a claude agents session from Apple Terminal or other 256-color-only terminals no longer bleeds background color.
  • Editor preference fix. claude agents "v to open in editor" now uses your shell's $EDITOR/$VISUAL instead of the daemon's default editor.
  • Plugin cache safety. Plugin cache cleanup no longer deletes the active plugin version directory when no installation metadata is present.
  • Click links while attached. Clicking links in an attached claude agents session works again; the background worker's headless browser shim no longer applies while attached.
  • Windows network-drive deadlock. claude agents no longer deadlocks on Windows with network-drive working directories, and Ctrl+C now works during startup.
  • Chrome extension crash-loop fix. Background agents no longer crash-loop when the Claude-in-Chrome extension is connected without a shared tab.
  • Session-title heuristic. Session titles are no longer derived from the URL when the first message is a link.
  • Redundant set_model cleanup. Remote clients sending redundant set_model requests no longer inject duplicate /model breadcrumbs into the transcript.

Who Can Use These Features

Agent view has no plan gate of its own; fast mode does. The table below is drawn from the agent view, fast mode, and settings docs as of September 5, 2026.

Questionclaude agents and its flagsFast mode
Which plansNo plan requirement stated. Each background session "uses your subscription quota independently", so ten parallel sessions spend usage about ten times as fast as one.Pro, Max, Team, and Enterprise subscriptions, and Claude Console. Not available on Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, or Claude Platform on AWS.
On or off by defaultOn. claude agents opens the view with no setup; it is still labeled a research preview.Off. You toggle it with /fast, and the preference persists across sessions unless fastModePerSessionOptIn is set.
PrerequisitesNone beyond a trusted workspace; since 2.1.225 an untrusted directory shows the workspace trust dialog first.On subscription plans, usage credits must be turned on; fast mode bills to usage credits even when plan usage remains. Team and Enterprise need an Owner to enable it first.
Can an admin turn it offYes. disableAgentView: true in settings or CLAUDE_CODE_DISABLE_AGENT_VIEW, enforceable through managed settings.Yes. Fast mode is disabled by default for Team and Enterprise organizations until an Owner enables it, and fastModePerSessionOptIn can be deployed through server-managed settings.
Session typesInteractive sessions do not appear in the view until you background them; subagents and teammates a session spawns are not listed as rows.In -p mode, /fast works only in a session launched with fastMode in its --settings value.

What Changed After Launch

Every row is from Anthropic's changelog or the version tables on its docs pages, read on September 5, 2026.

VersionChange
2.1.143claude agents accepts --allow-dangerously-skip-permissions; worktree.bgIsolation setting added.
2.1.154Fast mode default moves to Opus 4.8 at $10/$50 per MTok; CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE deprecated with a June 1 removal date.
2.1.157claude agents accepts --agent; dispatched sessions honor the agent setting.
2.1.160CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE removed; setting it is a no-op.
2.1.162Per-server MCP timeout values below 1000 ms are ignored instead of being floored to a one-second watchdog.
2.1.187MCP idle timeout added for servers that send no response and no progress notification.
2.1.196--dangerously-skip-permissions passed to claude agents shows the bypass disclaimer instead of silently falling back to auto mode.
2.1.200claude agents --plugin-dir <dir> works when the flag is placed after agents.
2.1.210claude agents --effort ultracode reaches dispatched sessions; the value was previously dropped.
2.1.212MCP calls in the main conversation move to a background task after two minutes.
2.1.219Opus 5 becomes the fast mode default; Opus 4.7 removed from fast mode.
2.1.221Plugins accept "." as a skills path, and the root-level SKILL.md validation error suggests using the plugin root.
2.1.248claude agents accepts --restricted.

Why This Release Matters

2.1.142 is a claude agents maturation release. The flag set, the macOS sleep/wake fix, the binary-upgrade fix, the worktree recognition, the persistent --dangerously-skip-permissions, and the editor preference all point at the same thing: the agent view shipped in 2.1.139 is graduating from "research preview that works for the demo" to something Anthropic is willing to defend as the place you run multiple Claude Code sessions for real.

The MCP tool timeout fix is the other half. Anyone running remote MCP servers with non-trivial tools was hitting the 60-second cap whether they knew it or not; the fact that MCP_TOOL_TIMEOUT now actually controls the timeout is the difference between MCP-backed workflows being viable and being a 60-second tease.

Pair this with the post-mortem on the spring quality regression and the pattern is consistent: Anthropic is currently shipping Claude Code releases focused on the engineering substrate -- background-session reliability, multi-session ergonomics, MCP plumbing that respects configuration, plugin and skill registration that does what users expect. The headline features get bullet points; the substrate fixes are what makes Claude Code something you can leave running across a workday without nursing.

For the canonical reference, the Claude Code changelog is the durable source for everything in 2.1.142, and the agent view docs cover the claude agents surface that the new flags configure.

Sources

Every source is Anthropic-owned and was fetched on September 5, 2026. No claim on this page rests on a social post.

SourceWhat it groundsStatus on September 5, 2026
Claude Code changelog, 2.1.142 entryEvery quoted release note; the 2.1.154, 2.1.160, 2.1.162, 2.1.196, 2.1.200, 2.1.210, 2.1.219, and 2.1.221 rowsRead in full; the 2.1.142 quotes on this page match verbatim
Week 20 release digestThe May 11-15, 2026 release window for v2.1.139 through v2.1.142Confirms the flag set and the Opus 4.7 fast mode default
Fast modeDefault-model history by version, the June 25 and July 24 dates, plans and prerequisites, pricingFetched; quoted above
Week 22 and Week 30 digestsThe Opus 4.8 (2.1.154) and Opus 5 (2.1.219) fast mode movesFetched; consistent with the fast mode page
Environment variablesCLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE "removed in v2.1.160 and now a no-op"; MCP_TOOL_TIMEOUT default and per-request behaviourFetched; quoted above
Agent viewCurrent flag set, the version table, quota and off-switch behaviourFetched; its table lists --strict-mcp-config under 2.1.142 while the changelog entry does not
MCPPer-server timeout, the three-value per-request timer, idle timeout, automatic backgroundingFetched; quoted above
Plugins referenceRoot-level SKILL.md loading and the frontmatter name caveatFetched
Keep building the workspace playbook

Frequently Asked Questions

What are the new `claude agents` flags in 2.1.142?

Eight flags that configure background sessions dispatched through `claude agents`: `--add-dir`, `--settings`, `--mcp-config`, `--plugin-dir`, `--permission-mode`, `--model`, `--effort`, and `--dangerously-skip-permissions`. Before 2.1.142, dispatched sessions inherited the daemon's defaults. As of September 2026 all eight are still documented on the agent view page, which also lists `--strict-mcp-config` from the same release, `--allow-dangerously-skip-permissions` from 2.1.143, `--agent` from 2.1.157, and `--restricted` from 2.1.248.

Why did fast mode change from Opus 4.6 to Opus 4.7?

In May 2026 Opus 4.7 was the current Opus generation, so 2.1.142 made it the fast mode default. As of September 2026 that is history: the default moved to Opus 4.8 in 2.1.154 and to Opus 5 in 2.1.219, and Anthropic deprecated fast mode on Opus 4.7 on June 25, 2026 and removed it on July 24, 2026. `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` was removed in 2.1.160 and is now a no-op.

What is the MCP tool timeout fix?

Before 2.1.142, `MCP_TOOL_TIMEOUT` raised the overall tool-call limit but not the per-request fetch timeout on remote HTTP and SSE MCP servers, so those calls failed at 60 seconds whatever you set. 2.1.142 routed the variable through. As of September 2026 the per-request timer is the greatest of 60 seconds, the tool timeout that applies to the server, and `MCP_TIMEOUT`, and a per-server `timeout` field in `.mcp.json` overrides the variable for that server.

What is the plugin-as-skill change?

Since 2.1.142, a plugin with a `SKILL.md` at its root, no `skills/` subdirectory, and no `skills` manifest field is loaded as a single skill, so a one-skill plugin can drop the `skills/<name>/` wrapper. As of September 2026 the plugins reference adds one caveat: set the frontmatter `name` field, because without it the skill takes the install directory's name, which for marketplace installs is a version string that changes on every update.

What background-session bugs were fixed?

Several. Background sessions now recognize pre-existing git worktrees instead of refusing to create a duplicate. The daemon detects clock jumps on macOS sleep/wake instead of treating them as elapsed idle time, fixing sessions disappearing and daemon reconnect failing after a sleep cycle. The daemon also exits cleanly after binary upgrades (e.g. `brew upgrade`) instead of crash-looping dispatched agents on the deleted path. And `claude --bg --dangerously-skip-permissions` now persists across retire/wake.

Are there other notable fixes in 2.1.142?

Yes. Reactive compaction now seeds the first summarize attempt from the original request's overflow size, avoiding a wasted near-full-context retry. Hook configuration errors for prompt- or agent-type hooks on `SessionStart`/`Setup`/`SubagentStart` now show a clear 'use a command-type hook instead' message. The stale `/model claude-sonnet-4-20250514` suggestion was removed from Usage Policy refusal messages. And plugin cache cleanup no longer deletes the active plugin version when installation metadata is missing.

Get the weekly AI Catchup

Tools, practices, and what matters, in your inbox every week.