1
00:00:00,380 --> 00:00:05,140
Right, so picture Claude Code running a
build, and instead of waiting for it,

2
00:00:05,560 --> 00:00:10,400
it just types sleep sixty, checks, types
sleep sixty again.

3
00:00:10,960 --> 00:00:14,640
That's a bit like standing at the oven
door asking the roast if it's done yet.

4
00:00:15,560 --> 00:00:20,100
This is The Claude Code Changelog, brought
to you by Jellypod AI,

5
00:00:20,640 --> 00:00:27,560
and today it's version 2.1.310, released
October 23rd, and the fix for exactly

6
00:00:27,600 --> 00:00:28,160
that habit.

7
00:00:29,218 --> 00:00:30,038
Here's what changed.

8
00:00:30,538 --> 00:00:34,738
The Monitor tool, and plugin monitors, are
now enabled on Amazon Bedrock,

9
00:00:34,918 --> 00:00:37,118
Google Vertex, and Microsoft Foundry.

10
00:00:37,618 --> 00:00:41,238
They also now work when telemetry or
nonessential traffic is disabled,

11
00:00:41,618 --> 00:00:44,978
so that's DISABLE_TELEMETRY set to 1, or

12
00:00:45,138 --> 00:00:49,578
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC
set to 1.

13
00:00:50,258 --> 00:00:53,798
Per the changelog, long foreground sleeps
are now blocked in those same environments

14
00:00:53,858 --> 00:00:54,078
too.

15
00:00:54,258 --> 00:00:57,238
So Claude can't fall back on a long sleep
in Bash there anymore.

16
00:00:57,923 --> 00:01:00,463
And that lines up with last episode's
story, James.

17
00:01:00,943 --> 00:01:07,623
In 2.1.309 we talked about features that
simply weren't there on Bedrock and

18
00:01:07,683 --> 00:01:10,123
Vertex, ultrareview being the example.

19
00:01:10,903 --> 00:01:12,903
Enterprise setups kept getting the
leftovers.

20
00:01:13,403 --> 00:01:14,903
This one closes a real gap.

21
00:01:15,550 --> 00:01:16,010
It does.

22
00:01:16,390 --> 00:01:21,790
Monitor has been around since 2.1.98, but
on third party clouds it was restricted,

23
00:01:22,190 --> 00:01:24,350
and it broke if those privacy flags were
set.

24
00:01:25,010 --> 00:01:29,790
So in exactly the locked down
environments, Claude fell back to crude loops to watch

25
00:01:29,850 --> 00:01:33,030
dev servers, builds, test runners, and log
files.

26
00:01:33,730 --> 00:01:34,530
Two costs there.

27
00:01:35,190 --> 00:01:39,210
Every check is another Bash call, so you
burn context on the same question over and

28
00:01:39,290 --> 00:01:39,570
over.

29
00:01:40,090 --> 00:01:44,390
And a long foreground sleep freezes your
turn while nothing useful happens.

30
00:01:45,028 --> 00:01:47,508
So what does Monitor actually do instead?

31
00:01:48,188 --> 00:01:53,568
According to the tools reference, it runs
a command in the background and feeds each

32
00:01:53,668 --> 00:01:57,688
output line back to Claude, so it can
react to log entries,

33
00:01:57,888 --> 00:02:02,028
file changes, or polled status in the
middle of the conversation.

34
00:02:02,788 --> 00:02:07,048
It can also open a WebSocket and treat
each incoming message as an event.

35
00:02:07,708 --> 00:02:09,688
The point is that it's interrupt driven.

36
00:02:10,128 --> 00:02:15,168
Claude only wakes up, and only spends
tokens, when something actually shows up.

37
00:02:15,923 --> 00:02:18,783
Using it is mostly a matter of how you
phrase the prompt.

38
00:02:19,263 --> 00:02:21,143
Describe the event, not the wait.

39
00:02:21,723 --> 00:02:27,443
For example: run npm run dev and monitor
localhost:3000 until the server is ready,

40
00:02:27,783 --> 00:02:28,943
then run the smoke tests.

41
00:02:29,603 --> 00:02:34,923
Or: tail server.log in the background and
tell me the moment a 5xx error shows up.

42
00:02:35,643 --> 00:02:39,643
Or: run the test suite in the background
and alert me if anything fails.

43
00:02:40,283 --> 00:02:43,563
Each of those names a condition, and
that's what Monitor is built around.

44
00:02:44,177 --> 00:02:49,997
If you use the self pacing slash loop
command, that one leans on the Monitor tool to

45
00:02:50,057 --> 00:02:54,117
wait for status changes without polling,
so it benefits from this as well.

46
00:02:54,957 --> 00:02:55,857
Now, permissions.

47
00:02:56,557 --> 00:03:01,737
Monitor is marked as requiring permission
in manual mode, so the first time Claude

48
00:03:01,877 --> 00:03:06,237
spawns a watcher, you'll get a prompt
showing the exact command it's about to run in

49
00:03:06,277 --> 00:03:06,897
the background.

50
00:03:07,517 --> 00:03:10,337
In auto mode, the classifier makes that
call.

51
00:03:11,277 --> 00:03:14,837
And for teams, you can allow or deny it in
your settings.

52
00:03:15,317 --> 00:03:21,837
Put the tool name Monitor in
permissions.allow or permissions.deny in

53
00:03:21,857 --> 00:03:24,357
.claude/settings.json.

54
00:03:25,057 --> 00:03:30,477
The docs also list Bash command patterns,
like Bash with npm run star,

55
00:03:30,917 --> 00:03:33,157
as applying to both Bash and Monitor.

56
00:03:33,942 --> 00:03:34,782
Now the caveats.

57
00:03:35,282 --> 00:03:39,742
First, anything you wrote that says sleep
thirty seconds and check again is going to

58
00:03:39,782 --> 00:03:41,162
hit a wall in these environments.

59
00:03:41,682 --> 00:03:43,902
That includes custom skills and saved
prompts.

60
00:03:44,482 --> 00:03:48,302
Rewrite them to name the event: watch the
build log until it completes.

61
00:03:49,042 --> 00:03:51,682
Second, a monitor is a real background
process.

62
00:03:52,202 --> 00:03:54,922
A forgotten one keeps consuming memory or
CPU.

63
00:03:55,522 --> 00:03:59,122
Use slash tasks to see what's running, and
the TaskStop tool,

64
00:03:59,342 --> 00:04:01,482
or slash tasks itself, to end it.

65
00:04:02,262 --> 00:04:05,222
Third, those permission prompts will show
up in manual mode,

66
00:04:05,462 --> 00:04:08,022
so expect a few more approvals the first
time through.

67
00:04:08,677 --> 00:04:11,877
Quick round of smaller things in 2.1.310.

68
00:04:12,517 --> 00:04:16,157
If you're behind a gateway, like LiteLLM
or a corporate proxy,

69
00:04:16,557 --> 00:04:21,197
that rejects the effort beta value or mid
conversation system messages,

70
00:04:21,677 --> 00:04:24,877
Claude Code now retries without them,
instead of just failing.

71
00:04:25,637 --> 00:04:27,177
There's a compaction fix too.

72
00:04:27,797 --> 00:04:32,877
After a Prompt is too long error,
compaction used to keep too much dense text,

73
00:04:33,257 --> 00:04:38,317
think base64 or SVG, so the very next
request could fail again.

74
00:04:39,017 --> 00:04:39,517
That's fixed.

75
00:04:40,092 --> 00:04:44,972
Security wise, file read permission
prompts now show where a symbolic link leads,

76
00:04:45,232 --> 00:04:47,372
so you can see the real target before you
approve.

77
00:04:48,012 --> 00:04:52,512
On Linux, slash sandbox and the startup
warning now name Ubuntu's AppArmor

78
00:04:52,552 --> 00:04:56,812
restriction on user namespaces when it
stops bubblewrap from starting the sandbox,

79
00:04:57,292 --> 00:04:58,412
and they tell you how to lift it.

80
00:04:59,072 --> 00:05:02,912
Auto mode also now tells you when blocking
reads outside your working directories

81
00:05:02,952 --> 00:05:04,972
will make shell commands ask for
permission.

82
00:05:05,572 --> 00:05:09,752
And for admins on Enterprise, cloud
sessions and Remote Control permissions can now

83
00:05:09,792 --> 00:05:13,652
be assigned through custom roles, so
Owners can control each by role.

84
00:05:14,360 --> 00:05:20,500
So the takeaway: if you're on Bedrock,
Vertex, Foundry, or running with telemetry

85
00:05:20,580 --> 00:05:27,220
off, update to 2.1.310, then go find any
prompt of yours that says

86
00:05:27,480 --> 00:05:30,480
sleep, and swap it for the event you
actually care about.

87
00:05:31,320 --> 00:05:31,940
Cheers for listening.

