1
00:00:00,079 --> 00:00:00,659
Picture this.

2
00:00:00,939 --> 00:00:04,739
It is two in the morning, your automated
GitHub Actions pipeline starts up,

3
00:00:05,279 --> 00:00:08,539
runs Claude Code to fix a quick lint
issue, and then...

4
00:00:09,359 --> 00:00:10,439
nothing.

5
00:00:10,599 --> 00:00:14,739
Silence for a full hour until the runner
hits its sixty minute timeout and dies.

6
00:00:15,051 --> 00:00:17,111
Oh, mate, don't give me night terrors!

7
00:00:17,731 --> 00:00:18,651
I have been there.

8
00:00:19,252 --> 00:00:21,591
It is hanging on a terminal prompt, isn't
it?

9
00:00:22,111 --> 00:00:26,931
Just sitting there waiting for a human to
hit Y or N on an interactive permission

10
00:00:27,031 --> 00:00:29,951
prompt, but there is no human in the
building!

11
00:00:30,326 --> 00:00:31,026
Exactly.

12
00:00:31,366 --> 00:00:35,066
And that exact nightmare is why this
release is such a huge deal.

13
00:00:35,706 --> 00:00:38,206
Before we break down the fix, a quick
shoutout to our sponsor,

14
00:00:38,346 --> 00:00:39,346
Jellypod AI.

15
00:00:40,026 --> 00:00:46,667
Now, on September 2, 2026, Anthropic
released Claude Code version 2.1.259,

16
00:00:47,267 --> 00:00:51,406
and it introduces a flagship feature
specifically built for unattended hosts.

17
00:00:51,697 --> 00:00:53,637
What is the new flag called?

18
00:00:53,708 --> 00:00:56,428
It is double dash permission prompts none.

19
00:00:56,417 --> 00:00:56,737
Right!

20
00:00:56,817 --> 00:00:58,817
So double dash permission prompts none.

21
00:00:58,913 --> 00:01:01,857
What does that actually tell the CLI when
it runs headless?

22
00:01:01,875 --> 00:01:07,395
It explicitly signals to the CLI that no
human operator is logged in or watching the

23
00:01:07,515 --> 00:01:08,035
TTY.

24
00:01:08,248 --> 00:01:12,515
So, if any action comes up that would
normally pop an interactive confirmation

25
00:01:12,572 --> 00:01:17,075
prompt, the system automatically denies it
right on the spot while letting auto mode

26
00:01:17,123 --> 00:01:18,675
keep evaluating everything else.

27
00:01:18,807 --> 00:01:21,167
Ah, that is bloody brilliant!

28
00:01:21,726 --> 00:01:25,526
Because in a headless setup, if it
prompts, you are dead in the water anyway.

29
00:01:25,708 --> 00:01:26,188
Right!

30
00:01:26,228 --> 00:01:28,988
And here is how you write it into your
pipeline scripts.

31
00:01:29,008 --> 00:01:35,308
You run something like claude dash p,
quote, run test suite and fix lint errors,

32
00:01:35,348 --> 00:01:41,068
end quote, followed by double dash
permission mode auto and double dash permission

33
00:01:41,138 --> 00:01:42,348
prompts none.

34
00:01:42,333 --> 00:01:43,693
Wait, let me make sure I follow.

35
00:01:43,993 --> 00:01:48,493
Why is denying the prompt immediately so
much better than just killing the whole

36
00:01:48,543 --> 00:01:48,973
session?

37
00:01:48,973 --> 00:01:50,672
Think about how the AI agent works.

38
00:01:51,152 --> 00:01:56,092
When a tool call is denied, Claude
actually receives that denial as feedback in its

39
00:01:56,112 --> 00:01:57,732
conversation context.

40
00:01:57,793 --> 00:02:01,432
So instead of the entire runner freezing
up, Claude goes, ah,

41
00:02:01,652 --> 00:02:04,452
okay, I do not have permission to run that
command directly,

42
00:02:04,853 --> 00:02:09,453
let me try a safer alternative tool, or
report the limitation clearly and finish the

43
00:02:09,532 --> 00:02:09,752
step.

44
00:02:09,951 --> 00:02:12,451
Right, right, it pivot, it pivot...

45
00:02:12,591 --> 00:02:15,272
um, it pivots instead of crashing!

46
00:02:15,292 --> 00:02:16,092
Exactly.

47
00:02:15,917 --> 00:02:17,277
Now, is there a catch here?

48
00:02:17,421 --> 00:02:22,397
What if you actually need it to run
something like git push or npm test in that job?

49
00:02:22,596 --> 00:02:23,897
That is the big caveat.

50
00:02:24,436 --> 00:02:29,256
If your project settings in dot claude
slash settings dot json or your command line

51
00:02:29,357 --> 00:02:34,276
options like double dash allowedTools
haven't already pre approved those commands,

52
00:02:34,776 --> 00:02:38,256
double dash permission prompts none will
deny them immediately.

53
00:02:38,757 --> 00:02:41,576
And if those steps are critical, your task
step fails.

54
00:02:41,724 --> 00:02:44,824
So you have to make sure your permission
allowlist is properly configured

55
00:02:44,865 --> 00:02:47,984
beforehand, or auto mode will just bounce
off the wall.

56
00:02:48,042 --> 00:02:48,682
Precisely.

57
00:02:48,722 --> 00:02:51,082
You have to lay the track before the train
runs.

58
00:02:51,083 --> 00:02:51,963
Makes total sense.

59
00:02:52,103 --> 00:02:58,923
Hey, speaking of running parallel jobs in
CI, didn't 2.1.259 fix a massive bug with

60
00:02:58,973 --> 00:03:00,043
session states?

61
00:03:00,241 --> 00:03:00,641
Yes!

62
00:03:00,941 --> 00:03:03,701
This was a huge pain point for matrix
builds.

63
00:03:04,241 --> 00:03:08,321
If you ran concurrent Claude Code sessions
in parallel on the same host,

64
00:03:08,802 --> 00:03:13,681
they used to race each other to write to
tilde slash dot claude dot json.

65
00:03:14,491 --> 00:03:16,032
Oh, classic race condition!

66
00:03:16,711 --> 00:03:21,732
One session finishes, writes its state,
and silently overwrites the workspace trust

67
00:03:21,792 --> 00:03:24,792
or Model Context Protocol configs from the
other session!

68
00:03:24,917 --> 00:03:25,237
Yep.

69
00:03:25,290 --> 00:03:28,837
In 2.1.259, that file locking is
completely fixed.

70
00:03:28,909 --> 00:03:33,797
Workspace trust and MCP server states no
longer get wiped when you are running multi

71
00:03:33,864 --> 00:03:35,717
agent matrix jobs in parallel.

72
00:03:36,107 --> 00:03:40,847
That is going to save so many DevOps
engineers from pulling their hair out at 3 AM.

73
00:03:41,307 --> 00:03:44,928
I actually had a nightly maintenance
script on my shed server that kept stalling out

74
00:03:45,008 --> 00:03:46,687
last week because of a rogue prompt.

75
00:03:47,347 --> 00:03:52,947
Upgraded to 2.1.259, tossed double dash
permission prompts none into the cron job,

76
00:03:53,287 --> 00:03:55,708
and boom, smooth sailing ever since.

77
00:03:56,174 --> 00:03:56,754
Love to hear it.

78
00:03:57,034 --> 00:04:00,414
And there are a couple other great quality
of life wins in this release too,

79
00:04:00,474 --> 00:04:00,554
right?

80
00:04:00,583 --> 00:04:01,143
Yeah!

81
00:04:01,250 --> 00:04:06,823
If you are on GitLab, Claude Code now
natively recognizes glab mr commands.

82
00:04:06,956 --> 00:04:11,143
So whether you create, merge, close, or
note on a merge request,

83
00:04:11,196 --> 00:04:16,503
it shows up as MR exclamation mark N right
in your tool summary and updates the

84
00:04:16,560 --> 00:04:19,623
footer badge, just like GitHub pull
requests do.

85
00:04:19,625 --> 00:04:24,665
Plus, for plugin creators, you now have
claude plugin validate double dash json,

86
00:04:24,745 --> 00:04:29,225
which gives you a clean, machine readable
validation report for your plugin CI

87
00:04:29,289 --> 00:04:29,945
pipelines.

88
00:04:30,117 --> 00:04:35,797
So the bottom line today is simple: update
to version 2.1.259 right now,

89
00:04:36,237 --> 00:04:41,857
and append double dash permission prompts
none to all your non interactive automated

90
00:04:41,918 --> 00:04:42,317
scripts.

91
00:04:42,997 --> 00:04:45,737
Never suffer a silent runner timeout
again.

92
00:04:45,875 --> 00:04:47,355
Couldn't have said it better myself.

93
00:04:47,395 --> 00:04:48,195
Good chatting, mate!

94
00:04:48,208 --> 00:04:49,568
Cheers, see ya next time!

