1
00:00:00,000 --> 00:00:01,360
Quick question before we start.

2
00:00:01,456 --> 00:00:06,320
Have you ever asked Claude to scaffold a
new file, and it ignored every rule you

3
00:00:06,373 --> 00:00:07,680
wrote for that folder?

4
00:00:07,824 --> 00:00:12,720
This episode of The Claude Code Changelog
is brought to you by Jellypod AI,

5
00:00:12,760 --> 00:00:15,440
and today's release is a fix for exactly
that.

6
00:00:15,458 --> 00:00:19,618
Right, version 2.1.288, shipped October 2.

7
00:00:19,714 --> 00:00:23,538
Yesterday's 2.1.287 was the mods release.

8
00:00:23,634 --> 00:00:26,018
This one is about context reliability.

9
00:00:26,146 --> 00:00:31,378
Path scoped rules in dot claude slash
rules, and nested CLAUDE.md files in

10
00:00:31,438 --> 00:00:36,338
subdirectories, now load when Claude uses
Write or Edit on a file in their scope.

11
00:00:36,441 --> 00:00:38,658
Before this, only Read triggered them.

12
00:00:38,667 --> 00:00:39,547
So here's the gap.

13
00:00:39,687 --> 00:00:44,427
You ask Claude to create src/api/auth.ts.

14
00:00:44,614 --> 00:00:49,147
It calls Write straight away, with no Read
first, because the file doesn't exist

15
00:00:49,207 --> 00:00:49,467
yet.

16
00:00:49,647 --> 00:00:53,387
The rule that says all handlers validate
input never loaded.

17
00:00:53,527 --> 00:00:56,107
The code comes out blind to your
standards.

18
00:00:56,219 --> 00:00:59,147
Same story if an edit lands without a Read
beforehand.

19
00:00:59,167 --> 00:01:03,407
And the official memory docs already said
path scoped rules trigger on Read,

20
00:01:03,434 --> 00:01:04,687
Write, or Edit.

21
00:01:04,707 --> 00:01:08,527
The changelog entry is a bug fix, so the
behavior now matches that description.

22
00:01:08,714 --> 00:01:12,767
It matters most for subagents and
automated flows, which often touch files without

23
00:01:12,797 --> 00:01:13,647
reading them first.

24
00:01:13,667 --> 00:01:15,027
Here's a setup you can try today.

25
00:01:15,267 --> 00:01:20,307
In dot claude slash rules, make a file
called api dot md.

26
00:01:20,427 --> 00:01:26,787
Frontmatter with a paths list: src slash
api, double star, slash star dot

27
00:01:26,974 --> 00:01:31,987
ts, and services, double star, slash star
dot ts.

28
00:01:32,107 --> 00:01:33,827
Below that, plain rules.

29
00:01:33,967 --> 00:01:36,547
Endpoints return ApiResponse of T.

30
00:01:36,627 --> 00:01:39,267
Validate input with Zod before processing.

31
00:01:39,454 --> 00:01:42,227
No direct imports from db slash internal.

32
00:01:42,250 --> 00:01:47,130
Or skip the rules folder and drop a
CLAUDE.md inside a package,

33
00:01:47,178 --> 00:01:49,290
like packages slash database.

34
00:01:49,402 --> 00:01:53,290
Same idea, it loads when Claude touches
files in that directory.

35
00:01:53,423 --> 00:01:59,050
To test it, start a fresh session, ask
Claude to create a new file under src slash

36
00:01:59,230 --> 00:02:03,770
api, then run slash context and check the
Memory files list.

37
00:02:03,910 --> 00:02:06,810
The rule should be there now, even though
nothing was read.

38
00:02:06,833 --> 00:02:08,833
There's also the InstructionsLoaded hook.

39
00:02:09,046 --> 00:02:15,873
In 2.1.288 it now includes agent_id and
agent_type when a subagent's file access

40
00:02:15,913 --> 00:02:18,433
loads a rule or nested CLAUDE.md.

41
00:02:18,580 --> 00:02:21,633
Rules loaded on file access also report
effort.

42
00:02:21,766 --> 00:02:25,633
So if you log that hook, you can see which
agent pulled in which instruction.

43
00:02:25,667 --> 00:02:26,547
Now the caveats.

44
00:02:26,760 --> 00:02:32,227
Users in a GitHub issue thread reported
that once a path scoped rule loads,

45
00:02:32,280 --> 00:02:35,987
it stays for the rest of the session, even
after Claude moves elsewhere.

46
00:02:36,147 --> 00:02:40,307
That's user testing, not official
documentation, but plan around it.

47
00:02:40,547 --> 00:02:44,947
If one prompt scaffolds backend, frontend,
and database folders,

48
00:02:44,987 --> 00:02:49,747
I'd expect several rule files to load
together and your input tokens to jump.

49
00:02:49,827 --> 00:02:51,347
That part is my inference.

50
00:02:51,375 --> 00:02:52,575
And one from the docs.

51
00:02:53,135 --> 00:02:59,695
A rule's paths list shares a budget of
1,000 expanded patterns and 4 MiB.

52
00:02:59,908 --> 00:03:05,935
Go over it, and Claude Code uses the
pattern unexpanded, so the literal braces match

53
00:03:06,042 --> 00:03:06,975
no files.

54
00:03:07,151 --> 00:03:11,135
Keep brace expansion tidy and the rule
keeps working.

55
00:03:11,167 --> 00:03:12,928
A few smaller things in this release.

56
00:03:13,061 --> 00:03:18,608
Press Up on an empty prompt after Ctrl+C
and your cleared draft comes back,

57
00:03:18,648 --> 00:03:20,768
including pasted text and images.

58
00:03:20,915 --> 00:03:25,328
Slash code review takes a max findings
flag, a number or all,

59
00:03:25,488 --> 00:03:27,968
and your choice sticks until you pass
default.

60
00:03:28,000 --> 00:03:34,480
Background command time limits now apply
only to unattended sessions: print mode,

61
00:03:34,500 --> 00:03:37,440
the Agent SDK, CI, and cloud.

62
00:03:37,547 --> 00:03:41,840
Terminal, desktop, and VS Code sessions
have no limit.

63
00:03:42,046 --> 00:03:48,000
Behind a gateway that rejects structured
outputs, there's a new env var,

64
00:03:48,053 --> 00:03:52,400
CLAUDE_CODE_DISABLE_STRUCTURED_OUTPUTS.

65
00:03:52,560 --> 00:03:57,680
And in the agents view, Ctrl+F finds a
session by name, and Alt plus the up or down

66
00:03:57,680 --> 00:03:57,680
arrow jumps between groups.

67
00:03:58,000 --> 00:04:03,200
If your rules felt flaky on new files,
update, run slash context after a Write,

68
00:04:03,240 --> 00:04:04,080
and see what loaded.

