The Claude Code Changelog· Folge 154

Unlocking Big Files in Claude Code with allow_large

Sonntag, 11. Oktober 2026 · 5 min

MP3

Shownotes

We explore how the new allow_large parameter in Claude Code 2.1.296 handles oversized text files in a single pass while surprisingly cutting token costs. Plus, learn how to trigger it automatically and catch up on key fixes to encodings, PowerShell limits, and hook debugging.

Transkriptvom Podcast bereitgestellt · Zeitmarken springen hin

Right, so this one's brought to you by Jellypod AI, and it's a follow up on something we skated past. Last time, in the subagent bloat episode, we tossed allow_large in as a closing bullet. Turns out there's more to it than a bullet. Yeah. Claude Code 2.1.296 shipped October 9th, and the release note says Claude can read a text file past the usual size limits in one call, when it needs the whole file and the context has room.

Classmethod then actually tested it, and the numbers are the interesting part. Start with the problem. Read has a token ceiling per call. Point it at a big log or a generated fixture and you get a slice back, with a flag saying truncatedByTokenCap is true. Classmethod made a 3,000 line text file, about 204 kilobytes, and Read stopped at line 732.

The file shows as 3,001 total lines because Read counts the empty bit after the final newline. And a truncated read is a sneaky failure. Claude either works from a partial view, or it burns turns paging through with offset and limit. With allow_large, in their second run, Claude read all 3,001 lines in one call, and the truncation flag came back null.

Here's the bit that surprised me. It was cheaper. On Opus 5.5 the truncated run cost about six and a half cents, and the full read cost about five and a bit. That's 19.1 percent lower. On Haiku 5.5 it went from about 0.19 cents to 0.14 cents, 23.8 percent lower. Now, caution on interpretation. Classmethod reported the numbers, they didn't prove why.

My read is that a complete first read means fewer clarifying moves afterward, but that's a guess, not something the test showed. Also, that was one small synthetic file with max turns set to one. Don't take it as a law. Fair. The model gap was steady though. Opus ran roughly 34 to 37 times the cost of Haiku on the same job.

So how do you use it?

First thing allow_large isn't a CLI flag.

Claude sets it as a parameter when it calls Read. You trigger it by saying plainly that you need the whole file. Classmethod's prompt was: the entire big.txt file is needed, please read the entire file in a single Read call without omitting anything. Without mentioning allow_large at all, Claude set it to true on its own.

And you can bake that into CLAUDE.md or a subagent's instructions.

Something like when inspecting build logs, schema definitions or test fixtures,

read the complete file in a single Read call. Then you're not retyping it every session. If you want proof it fired, run headless. Use claude with the p flag, max turns one, allowedTools Read, stream JSON output format with verbose on, and send your prompt. Redirect to a file, then use jq to pull the tool_use entries.

You're looking for tool Read, allow_large true. In the tool result, check that truncatedByTokenCap is null. Quick heads up from their run. The exit code was 1, but that's just because max turns one stopped it. Not a failure. Now the caveats. The changelog says when the context has room, and that's a real condition.

If you're deep in a session near compaction, a big read has less space to land. And everything you read in stays in context across turns, so a huge file keeps costing you. It's also text files only. So use it when you truly need the whole thing. If you only need one stack trace, grep it, don't swallow the lot.

Few other things in 2.1.296 worth a mention. Edit and NotebookEdit now refuse files that aren't valid UTF 8, like Windows 1252, Shift JIS and GBK. Before, they replaced every non ASCII character in those files. Now the edit's rejected, so check your legacy encodings. On Windows, PowerShell commands over about one kilobyte used to prompt every time.

Allow rules and read only detection now apply up to 32 kilobytes. There's a security fix too: Bash commands that assign to BASH_ARGV0 and then use it were being auto approved. They prompt now. And with the debug flag, hooks now log their command, plugin, outcome and duration when they finish. So if a custom hook is dragging, you can finally see which one.

Update, then try the whole file prompt on your biggest log.

0:00 / 0:00