Claude Code v2.1.303: fork subagents on by default, idle compaction toggle, classifier model pick#

Published by

Part of the Claude Code Version Tracker series. | Official Env Vars | Official Changelog

Claude Code v2.1.303 is a bug-fix release; the v2.1.302 build just before it carries the user-visible changes since v2.1.301. Fork subagents now run on by default in claude -p, the Agent SDK, the desktop app and VS Code; /config gains an Idle compaction row; and CLAUDE_CODE_AUTO_MODE_MODEL chooses the client-side auto mode classifier model.[1]

Fork subagents run by default outside the terminal#

Fork subagents (subagent_type: "fork"), which inherit the full conversation context, were already on by default in the terminal. v2.1.302 turns them on in claude -p, the Agent SDK, the desktop app and VS Code as well; CLAUDE_CODE_FORK_SUBAGENT=0 turns them off, and claude mcp serve never offers them.[1] Two related defaults move with it: the desktop app and VS Code now always run the main conversation's subagents in the background, as the terminal does, while a subagent's own Agent calls run in the foreground by default.[1]

An Idle compaction switch in /config#

Idle compaction, which compacts a long idle conversation before its prompt cache expires, arrived for the terminal in v2.1.299.[1] v2.1.302 adds an Idle compaction row to /config to turn it off or back on, and the notices shown after an idle compaction now say how to turn it off.[1] Toggling the row writes the idleCompaction setting and records a tengu_idle_compaction_setting_changed event.

Choosing the auto mode classifier model#

CLAUDE_CODE_AUTO_MODE_MODEL sets the model the client-side auto mode classifier uses; it does not change the model for server-side auto mode.[1] When a server configures a classifier model, that model takes priority and the environment value is ignored with a warning. The variable is named in the v2.1.302 changelog, but it has been in the build since at least v2.1.260 (September 3), more than six weeks earlier.

The Read tool refuses images over 128 MB#

The Read tool used to load an image file of any size, or a pipe or device named like an image, entirely into memory; v2.1.302 refuses image sources over 128 MB.[1] The same release warns in /design-sync and /design-login that standalone Claude Design (claude.ai/design) closes December 14, 2026, lets HEIC, SVG, TIFF and BMP images attached in Slack reach Claude, and cuts the file-system calls needed to load plugin command and agent files at startup.[1] v2.1.303 itself adds bug fixes and reliability improvements.[1]

New Environment Variables#

VariableWhat It Does
CLAUDE_CODE_ALLOW_OTHER_MODELSThe environment form of the --allow-other-models flag. When a signed configuration document (set with --client-data-url or CLAUDE_CODE_CLIENT_DATA_URL) has no entry for the selected model, Claude Code normally exits; setting this to 1 lets it start anyway, applying none of that document's per-model client data. First appears in v2.1.302, with no line in that release's changelog.
CLAUDE_CODE_MCP_SERVE_WORKSPACE_ROOTUsed by claude mcp serve --transport http. Registers a workspace-root folder for the server; only a folder beneath the server's own is accepted, and a path outside it is ignored with a warning. First appears in v2.1.302, absent from that release's changelog.
CLAUDE_BG_GATEWAY_WITHHELDCarries the path of an LLM gateway that was set in your shell but not passed through to a background session opened from another folder. It backs the clearer no-gateway message this release ships in place of a generic "Not logged in". First appears in v2.1.302.
CLAUDE_CODE_DESKTOP_SKILLS_PLUGIN_DIRHolds a directory path the desktop app passes for its skills plugin; the client reads it into the desktop-skills plugin directory, then clears it from the environment. First appears in v2.1.302, not named in that release's changelog.

Model and compaction control, some of it shipped ahead of the changelog#

v2.1.302 adds switches at three layers a user can reach: the client-side auto mode classifier model, idle compaction from /config, and the fork subagent default across claude -p, the Agent SDK, the desktop app and VS Code.

Several of these names reached the build before any changelog line named them. CLAUDE_CODE_AUTO_MODE_MODEL has been present since at least v2.1.260 and surfaced in the changelog only at v2.1.302; CLAUDE_CODE_ALLOW_OTHER_MODELS and CLAUDE_CODE_MCP_SERVE_WORKSPACE_ROOT first appear in v2.1.302 with no entry of their own. Both of the latter sit on the session-start path: one starts a session against a model the signed configuration document has no entry for, the other registers a workspace folder for an HTTP claude mcp serve.

Sources#

  1. Claude Code Official Changelog, v2.1.302 and v2.1.303 release notes

This analysis is conducted for educational and research purposes under fair use principles. All trademarks and software referenced belong to their respective owners.


Previous Claude Code analysis: v2.1.301 (October 15, 2026)

All 74 Claude Code analyses: Claude Code Version Tracker · Official Claude Code changelog