Claude Code v2.1.296: Read allow_large, subagent autoCompactWindow, workflow model pinning#
Published by Alex Sorokoletov
Part of the Claude Code Version Tracker series. | Official Env Vars | Official Changelog
Claude Code v2.1.296 adds an allow_large option to the Read tool so Claude can pull a whole oversized text file in one call when the context has room, gives subagents an autoCompactWindow to compact before the main conversation does, and adds CLAUDE_CODE_WORKFLOW_SUBAGENT_MODEL to run every workflow agent on one model. It follows v2.1.295 with a long list of managed-settings, plugin, permission, and Windows fixes.[1]
Reading a whole large file in one call#
The Read tool normally caps how much of a file it returns, so a large file comes back in slices. v2.1.296 adds an allow_large option that reads the file past that cap in a single call.[1] The lift is bounded by context room: the tool measures the tokens left in the window and raises the byte and token limits by what remains, so a whole-file read is granted only when it fits. When there is not enough room, the call falls back to the usual size limit instead of overflowing the context.
Subagents compact earlier and can be pinned to a model#
Subagent frontmatter and --agents definitions take a new autoCompactWindow field: a token count at which a subagent compacts its own conversation.[1] It can only lower the window the subagent would otherwise inherit from the main conversation, and it has no effect on the main session agent, so a long-running subagent can free its context sooner without changing the parent's budget. The same key also works per model in settings, where it sets the auto-compact window for that model, or auto for the tuned default.
Model selection gets its own control. CLAUDE_CODE_WORKFLOW_SUBAGENT_MODEL names one model for every agent a workflow spawns, while subagents outside the workflow keep whatever model they were set to. A value of inherit turns the override off.
New environment variables#
| Variable | What It Does |
|---|---|
CLAUDE_CODE_WORKFLOW_SUBAGENT_MODEL | Runs every workflow agent on the named model while other subagents keep their own. A value of inherit disables the override, and the existing CLAUDE_CODE_SUBAGENT_MODEL_FORCE still governs whether a forced model wins. |
CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS | Raises the ceiling on the backoff delay when retrying a request that returned a 529 overloaded response. It applies to the overloaded retry path specifically, alongside the base-delay control already present. |
The fix list#
On the enterprise side, managed-settings hooks now follow through on a block: a PreToolUse hook that denies a call with "continue": false, and a managed prompt hook that blocks one, now end the turn instead of refusing the single call while the turn keeps running.[1] Plugin handling gets safer around reserved names: a marketplace or plugin named like constructor no longer fails with an internal error, and a plugin secret named constructor or prototype is no longer deleted by the next save of that plugin's options.
Two edits close correctness and permission gaps. Edit and NotebookEdit now refuse a file that is not valid UTF-8 (Windows-1252, Shift-JIS, GBK) instead of replacing every non-ASCII character in it, and a Bash command that assigns BASH_ARGV0 and then uses it now prompts for approval where it was auto-approved before. On Windows, PowerShell commands up to 32 KB now get allow-rule and read-only checks, where anything over about 1 KB always prompted. Self-hosted runners get clearer registration errors and no longer fail their git fetch, pull, and push when another session of the same repository starts on a runner with --capacity above 1.
What These Tell Us#
Three of the additions point at the same place: how much context an agent holds and which model runs it. allow_large trades context budget for a complete file read, autoCompactWindow lets a subagent reclaim context before the main thread needs it, and CLAUDE_CODE_WORKFLOW_SUBAGENT_MODEL separates a workflow's model from the subagent default. Together they give finer control over the two resources a multi-agent run spends, tokens and model choice.
The fix list is weighted toward managed settings, plugins, and permission edges. Hooks that block now end the turn, non-UTF-8 files are left intact instead of corrupted, a Bash variable trick no longer slips past approval, and reserved property names like constructor stop breaking plugin storage. These are boundary cases in the paths that enterprises and plugin authors lean on most.
Sources#
- Claude Code Official Changelog, v2.1.296 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.
Related Versions#
- Claude Code v2.1.294: natural-language prompt and agent hooks now enforce their rule
- Claude Code v2.1.293: Haiku 5.5, subagent status-line agentType, deferred-tool control for mods
- Claude Code v2.1.292: one-command marketplace plugin installs, sub-agent effort levels, and network-path read fixes
- Claude Code v2.1.291: permission-prompt and session-quit regression fixes
- Claude Code v2.1.290: WebFetch paging, scheduled tasks survive resume, web-search refill control
Previous Claude Code analysis: v2.1.295 (October 14, 2026)
Next Claude Code analysis: v2.1.299 (October 14, 2026)
All 71 Claude Code analyses: Claude Code Version Tracker · Official Claude Code changelog