1
00:00:00,000 --> 00:00:03,520
Right, so this one's brought to you by
Jellypod AI, and it's a follow up on

2
00:00:03,560 --> 00:00:05,440
something we skated past.

3
00:00:05,488 --> 00:00:10,160
Last time, in the subagent bloat episode,
we tossed allow_large in as a closing

4
00:00:10,217 --> 00:00:10,800
bullet.

5
00:00:10,880 --> 00:00:13,120
Turns out there's more to it than a
bullet.

6
00:00:13,125 --> 00:00:13,445
Yeah.

7
00:00:13,468 --> 00:00:20,245
Claude Code 2.1.296 shipped October 9th,
and the release note says Claude can read a

8
00:00:20,309 --> 00:00:24,805
text file past the usual size limits in
one call, when it needs the whole file and

9
00:00:24,825 --> 00:00:25,925
the context has room.

10
00:00:26,072 --> 00:00:30,405
Classmethod then actually tested it, and
the numbers are the interesting part.

11
00:00:30,417 --> 00:00:31,377
Start with the problem.

12
00:00:31,537 --> 00:00:34,017
Read has a token ceiling per call.

13
00:00:34,204 --> 00:00:38,817
Point it at a big log or a generated
fixture and you get a slice back,

14
00:00:38,897 --> 00:00:42,257
with a flag saying truncatedByTokenCap is
true.

15
00:00:42,470 --> 00:00:48,177
Classmethod made a 3,000 line text file,
about 204 kilobytes,

16
00:00:48,217 --> 00:00:50,897
and Read stopped at line 732.

17
00:00:51,117 --> 00:00:57,137
The file shows as 3,001 total lines
because Read counts the empty bit after the

18
00:00:57,204 --> 00:00:58,097
final newline.

19
00:00:58,125 --> 00:01:00,605
And a truncated read is a sneaky failure.

20
00:01:00,731 --> 00:01:05,405
Claude either works from a partial view,
or it burns turns paging through with

21
00:01:05,485 --> 00:01:06,805
offset and limit.

22
00:01:06,877 --> 00:01:12,845
With allow_large, in their second run,
Claude read all 3,001 lines in one call,

23
00:01:12,865 --> 00:01:14,925
and the truncation flag came back null.

24
00:01:14,958 --> 00:01:16,478
Here's the bit that surprised me.

25
00:01:16,718 --> 00:01:17,998
It was cheaper.

26
00:01:18,265 --> 00:01:23,518
On Opus 5.5 the truncated run cost about
six and a half cents,

27
00:01:23,538 --> 00:01:26,318
and the full read cost about five and a
bit.

28
00:01:26,430 --> 00:01:29,358
That's 19.1 percent lower.

29
00:01:29,598 --> 00:01:35,998
On Haiku 5.5 it went from about 0.19 cents
to 0.14 cents,

30
00:01:36,318 --> 00:01:38,398
23.8 percent lower.

31
00:01:38,557 --> 00:01:40,157
Now, caution on interpretation.

32
00:01:40,817 --> 00:01:43,457
Classmethod reported the numbers, they
didn't prove why.

33
00:01:44,177 --> 00:01:48,257
My read is that a complete first read
means fewer clarifying moves afterward,

34
00:01:48,697 --> 00:01:50,777
but that's a guess, not something the test
showed.

35
00:01:51,797 --> 00:01:55,337
Also, that was one small synthetic file
with max turns set to one.

36
00:01:55,977 --> 00:01:56,917
Don't take it as a law.

37
00:01:57,625 --> 00:01:58,025
Fair.

38
00:01:58,125 --> 00:01:59,865
The model gap was steady though.

39
00:02:00,025 --> 00:02:05,625
Opus ran roughly 34 to 37 times the cost
of Haiku on the same job.

40
00:02:05,625 --> 00:02:06,425
So how do you use it?

41
00:02:06,558 --> 00:02:10,265
First thing: allow_large isn't a CLI flag.

42
00:02:10,356 --> 00:02:13,065
Claude sets it as a parameter when it
calls Read.

43
00:02:13,185 --> 00:02:16,105
You trigger it by saying plainly that you
need the whole file.

44
00:02:16,238 --> 00:02:21,065
Classmethod's prompt was: the entire
big.txt file is needed,

45
00:02:21,111 --> 00:02:25,065
please read the entire file in a single
Read call without omitting anything.

46
00:02:25,165 --> 00:02:29,465
Without mentioning allow_large at all,
Claude set it to true on its own.

47
00:02:29,500 --> 00:02:33,180
And you can bake that into CLAUDE.md or a
subagent's instructions.

48
00:02:33,252 --> 00:02:38,780
Something like: when inspecting build
logs, schema definitions or test fixtures,

49
00:02:38,908 --> 00:02:41,740
read the complete file in a single Read
call.

50
00:02:41,884 --> 00:02:44,540
Then you're not retyping it every session.

51
00:02:44,542 --> 00:02:47,102
If you want proof it fired, run headless.

52
00:02:47,222 --> 00:02:51,902
Use claude with the p flag, max turns one,
allowedTools Read,

53
00:02:51,959 --> 00:02:56,502
stream JSON output format with verbose on,
and send your prompt.

54
00:02:56,551 --> 00:03:01,022
Redirect to a file, then use jq to pull
the tool_use entries.

55
00:03:01,122 --> 00:03:04,462
You're looking for tool Read, allow_large
true.

56
00:03:04,595 --> 00:03:08,542
In the tool result, check that
truncatedByTokenCap is null.

57
00:03:08,542 --> 00:03:09,822
Quick heads up from their run.

58
00:03:09,922 --> 00:03:13,982
The exit code was 1, but that's just
because max turns one stopped it.

59
00:03:14,082 --> 00:03:15,182
Not a failure.

60
00:03:15,208 --> 00:03:16,088
Now the caveats.

61
00:03:16,228 --> 00:03:20,968
The changelog says when the context has
room, and that's a real condition.

62
00:03:21,128 --> 00:03:25,848
If you're deep in a session near
compaction, a big read has less space to land.

63
00:03:25,988 --> 00:03:30,808
And everything you read in stays in
context across turns, so a huge file keeps

64
00:03:30,868 --> 00:03:31,608
costing you.

65
00:03:31,821 --> 00:03:34,169
It's also text files only.

66
00:03:34,208 --> 00:03:36,448
So use it when you truly need the whole
thing.

67
00:03:36,581 --> 00:03:40,528
If you only need one stack trace, grep it,
don't swallow the lot.

68
00:03:40,542 --> 00:03:43,982
Few other things in 2.1.296 worth a
mention.

69
00:03:44,142 --> 00:03:49,342
Edit and NotebookEdit now refuse files
that aren't valid UTF 8,

70
00:03:49,374 --> 00:03:53,262
like Windows 1252, Shift JIS and GBK.

71
00:03:53,411 --> 00:03:57,662
Before, they replaced every non ASCII
character in those files.

72
00:03:57,822 --> 00:04:01,342
Now the edit's rejected, so check your
legacy encodings.

73
00:04:01,375 --> 00:04:06,015
On Windows, PowerShell commands over about
one kilobyte used to prompt every time.

74
00:04:06,162 --> 00:04:11,295
Allow rules and read only detection now
apply up to 32 kilobytes.

75
00:04:11,482 --> 00:04:18,415
There's a security fix too: Bash commands
that assign to BASH_ARGV0 and then use it

76
00:04:18,527 --> 00:04:20,255
were being auto approved.

77
00:04:20,415 --> 00:04:22,015
They prompt now.

78
00:04:23,000 --> 00:04:27,000
And with the debug flag, hooks now log
their command, plugin,

79
00:04:27,050 --> 00:04:29,080
outcome and duration when they finish.

80
00:04:29,267 --> 00:04:32,760
So if a custom hook is dragging, you can
finally see which one.

81
00:04:32,874 --> 00:04:36,440
Update, then try the whole file prompt on
your biggest log.

