Repository navigation
Expand file tree
/
Copy pathfeed.xml
More file actions
1339 lines (1339 loc) · 204 KB
/
Copy pathfeed.xml
File metadata and controls
1339 lines (1339 loc) · 204 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<id>https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md</id>
<title>Claude Code Changelog</title>
<subtitle>Release notes for Claude Code</subtitle>
<author><name>Anthropic</name></author>
<link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md"/>
<link rel="self" type="application/atom+xml" href="https://raw.githubusercontent.com/anthropics/claude-code/main/feed.xml"/>
<updated>2026-11-10T02:29:21Z</updated>
<entry>
<id>https://github.com/anthropics/claude-code/releases/tag/v2.1.322</id>
<title>Claude Code v2.1.322</title>
<link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/releases/tag/v2.1.322"/>
<updated>2026-11-10T02:29:21Z</updated>
<content type="html"><p>• Added fast mode on Vertex in the global, us and eu regions, falling back to standard speed if Vertex refuses it</p></content>
</entry>
<entry>
<id>https://github.com/anthropics/claude-code/releases/tag/v2.1.321</id>
<title>Claude Code v2.1.321</title>
<link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/releases/tag/v2.1.321"/>
<updated>2026-11-09T19:22:08Z</updated>
<content type="html"><p>• Added Claude Fable 5.2 (claude-fable-5-2), now the default Fable model — 1M context, $8/$40 per Mtok with $0.20/Mtok cache reads</p>
<p>• Added --settings &lt;file&gt; to claude remote-control, which applies a settings file to every session it starts; if the file changes, no new session starts until you restart claude remote-control</p>
<p>• Fixed MCP OAuth requests sending secrets such as refresh tokens to another host when a server redirected them</p>
<p>• Fixed a case where a read-only Bash command ran outside the sandbox without a permission prompt</p>
<p>• Fixed a case where Bash permission checks judged a file write from the wrong folder and didn't prompt</p>
<p>• Fixed deny rules and protected-file prompts not applying to the file that a cp or mv into a directory writes</p>
<p>• Fixed the "Draws from usage credits" note showing after a switch to Fable on Enterprise seats whose plan includes Fable</p>
<p>• Fixed the fallback model sometimes declining a request or mentioning a stopped response when the first model was blocked before replying</p>
<p>• Fixed claude mcp login printing a SEP-2352 issuer warning each time you sign in again to a server that Claude Code registered with</p>
<p>• Fixed NotebookEdit deleting or overwriting a notebook's first cell when the call named no cell, on network paths (UNC shares, WSL folders, /net mounts)</p>
<p>• Fixed Edit changing the first of several matches, replacing a whole file on an empty old_string, or editing a notebook as text, on network paths (UNC shares, WSL folders, /net mounts)</p>
<p>• Fixed /config showing Manual as the default permission mode when new sessions start in auto mode; pressing Space on "Auto (default)" now saves Don't Ask, not Plan</p>
<p>• Windows: Fixed FileChanged hooks stopping for paths set through watchPaths after the first shell command, when the session's working directory had a lowercase drive letter</p>
<p>• Fixed --plugin-dir . and --plugin-dir ./builtin writing generated type files for Claude Code's built-in plugins into a builtin folder</p>
<p>• Fixed context usage estimates overcounting tool definitions when exact token counts are unavailable</p>
<p>• Fixed /compact showing twice in Remote Control on web and mobile</p>
<p>• Fixed plugin auto-updates and /plugin marketplace updates downloading a plugin again for each worktree or folder of a repository</p>
<p>• Fixed auto mode losing a background subagent's report that had started a turn when the conversation was compacted before Claude answered it</p>
<p>• Fixed project skills, commands and agents staying missing after their folder was removed and came back mid-session, such as with git stash, including after entering a worktree</p>
<p>• Fixed claude -p sometimes telling Claude that background commands get 30 minutes when they are stopped after 10</p>
<p>• Fixed pkill, pgrep and pidwait in cloud sessions matching the session's own parent processes</p>
<p>• Fixed Claude in Chrome and computer use server processes staying alive after their parent exits behind a proxy that stalls connections</p>
<p>• Fixed a large hook output pointing Claude to a file that held another hook's output from the same tool call</p>
<p>• Fixed apps that embed Claude Code getting their own PreToolUse hook's ask reason instead of another hook's when both asked</p>
<p>• Fixed a PreToolUse hook's ask being lost when another hook's defer finished first and could not be honored</p>
<p>• Fixed a rare crash on permission prompts and background tasks</p>
<p>• Fixed project skills, commands and agents disappearing from the menu in SDK and desktop sessions after Claude entered a worktree</p>
<p>• Fixed /desktop on macOS saying Claude Desktop is not installed when it is in ~/Applications</p>
<p>• Fixed OpenTelemetry repository attributes (vcs.*) missing from Claude Desktop sessions that start on a pre-started process</p>
<p>• Fixed WebFetch passing "No response from model" to Claude as page content when the model reading the page returned no text; the call now fails with a clear error</p>
<p>• Fixed screen reader mode delaying the prompt at startup when the system clock moved back while Claude Code was starting</p>
<p>• Fixed a command's panel sometimes not coming back after a dialog closed, leaving no panel or prompt on screen until the next redraw</p>
<p>• Fixed a project's MCP server being disconnected after the first message in a Claude Desktop Code tab session when the desktop app has an MCP server or extension of the same name</p>
<p>• Fixed a turn ending with "API Error: EPROTO: The TLS handshake failed" when the connection broke partway through a reply; the partial reply is kept or the request is retried, as before 2.1.302</p>
<p>• Fixed high memory use in long sessions that repeatedly read single lines from large files</p>
<p>• Fixed fast mode losing replies, switching models or retrying for minutes when fast serving is rate-limited, overloaded or failing; it now tries standard speed on the same model first</p>
<p>• Fixed one request carrying far more background agent reports than intended after Claude was stopped while several were waiting</p>
<p>• Fixed messages from a Claude Desktop Code tab session to your other sessions staying paused after you typed while Claude was still working</p>
<p>• Fixed claude agents ignoring --permission-mode, --dangerously-skip-permissions, --model, --effort or --agent typed before agents when a flag such as --verbose was also on the line</p>
<p>• Fixed a case where Remote Control showed as off with "login expired" in the desktop app while its connection was still up, because the app was briefly unable to hand over a sign-in token</p>
<p>• Fixed a Remote Control message sent with "Queue for later" reaching Claude in the middle of the running turn</p>
<p>• Fixed the git status given to Claude at session start reading as clean when git status failed; it now reads as unavailable</p>
<p>• Fixed the git status given to Claude at session start showing the first listed file as staged when its changes were not staged</p>
<p>• Fixed a hang or out-of-memory crash when a connector in a cloud session lists resources with very long names</p>
<p>• Fixed Remote Control showing as connected after its connection closed for good while the session's history was still uploading</p>
<p>• Fixed screen reader mode turning off when you return to a conversation from agent view</p>
<p>• Fixed screen reader mode y/n questions taking as yes a stray "y" at the end of text typed as the question opened</p>
<p>• Fixed cloud sessions telling Claude that a host is probably not allowed when it is allowed and the network proxy could not connect to it</p>
<p>• Fixed an MCP server sometimes showing as connected with no tools after it was reconnected or the session's directory changed while its tools were still loading</p>
<p>• Fixed Bash commands sometimes running in the wrong folder when Claude sent several at once and an earlier one changed folders</p>
<p>• Fixed files Claude sends from cloud and Remote Control sessions failing at once when an upload gets an HTTP 507 from a proxy; the upload now gets a second try</p>
<p>• Fixed new messages not being saved, and claude -p, SDK and VS Code sessions hanging, when memory ran out while the transcript was being read</p>
<p>• Fixed sign-in, token refresh and logout waiting indefinitely when something on the network accepts the connection but never answers the TLS handshake</p>
<p>• Fixed a sent file showing under a different name in the Claude apps when its name hid text-direction or control characters; Claude now refuses to send such a file</p>
<p>• Fixed sub-agent progress summaries running a request to its end after the model replied with a tool call</p>
<p>• Fixed Bash reads such as grep -r foo "$PWD/src" asking for permission when the same command with the path typed out runs without asking</p>
<p>• Fixed Claude apps gateway refusing to start when a desktop setting holds a field newer than the gateway, such as a managed MCP server's oauth.omitResource; it now warns and serves it</p>
<p>• Fixed Bash commands coming back empty for zsh users whose .zshrc sets KSH_OPTION_PRINT</p>
<p>• macOS: Fixed "Unable to read managed policy settings" at startup when a valid MDM profile was slow to read: the read is retried once, and a timeout is now reported as a timeout</p>
<p>• Fixed agent view erasing another agent view's saved input text when it restarted for an update with nothing typed</p>
<p>• Fixed remote sessions giving no reply after a restart when a UserPromptSubmit hook blocked a replayed permission answer; these hooks no longer run on that replay</p>
<p>• Fixed claude remote-control accepting a y typed without Enter at its first-run question when the terminal's input ended</p>
<p>• Fixed Claude Desktop not showing spend limit warnings behind a Claude apps gateway whose policy has no code: rules</p>
<p>• Fixed fullscreen sessions with some plugins ending with an error when a tool result that had got shorter scrolled off the top of the screen</p>
<p>• Fixed prompt suggestions making extra API requests when the model replied with a tool call</p>
<p>• Fixed PreToolUse mcp_tool hooks on stdio and HTTP MCP servers being skipped when their answer was over 16 MiB; the tool call is now refused</p>
<p>• Fixed skill and command names holding a Bamum letter that some fonts draw as blank: they are now refused</p>
<p>• Fixed claude -p on Linux exiting 0 in silence when a full NFS export or a used-up NFS quota lost transcript lines: it now prints an error and, in text and json output, exits 1</p>
<p>• Fixed background agents being reported as stopped by the user, and refused a resume, when a service interrupted a cloud session and nobody pressed Stop</p>
<p>• Fixed NotebookEdit reporting success to hooks and telemetry when the edit failed, for example when the notebook changed while the permission prompt was open</p>
<p>• Fixed a blank screen or no answer at startup, and empty claude mcp list output, when a stored MCP sign-in record was null</p>
<p>• Fixed the Artifact tool telling Claude to add filters when an artifact's database collection is too large to sort; it now says to read the collection page by page and sort the results</p>
<p>• Fixed a restarted cloud session dropping a message with a large image when the restart came before Claude's first reply to it</p>
<p>• Fixed a restarted cloud session leaving a subagent's message to the main conversation unanswered</p>
<p>• Fixed Claude not being told when you stop or pause a running workflow, so it no longer says the workflow is still running</p>
<p>• Improved the /model picker: "More models" is now an unnumbered row below every other, and older models open under it without renumbering the rest</p>
<p>• Gateway: Improved spend limits on a busy replica, which now skips fewer checks and records spend sooner</p>
<p>• Improved the Claude apps gateway's sign-in limit messages in Claude Code and on the /device page: they no longer name gateway settings, which the gateway's own log still names</p>
<p>• Improved claude install and the install scripts: they finish 2 to 4 seconds sooner</p>
<p>• Improved how soon a Remote Control session whose process crashed can pick up a new message</p>
<p>• Windows: Improved startup and first-command time by finding programs on PATH without starting a helper process</p>
<p>• Improved auto mode in headless sessions, the desktop app and VS Code: reports from background subagents that wait together are answered in one model call, as in the terminal</p>
<p>• Improved the agent view's row for a claude --bg --worktree session that couldn't set up its worktree: it now shows the error from its beginning, not an internal tag or its last 200 characters</p>
<p>• Improved the messages shown when an artifact is in another organization: /login is offered only if it's one of yours, and Claude now says where a copy may be after an account move</p>
<p>• Improved sessions with more images than fit in one request: Claude is told whether it has already seen a dropped image, and repeat reads of an unchanged image are limited</p>
<p>• Improved claude remote-control's messages for an unanswered first-run question: each now says what to do next</p>
<p>• Improved start-up time by loading trusted TLS certificates faster</p>
<p>• Improved Claude apps gateway error messages to show the gateway's address without any user name or password</p>
<p>• Improved the Claude apps gateway's spend limit error: the reset now shows in your local time, such as "resets 4pm (America/Los_Angeles)"</p>
<p>• Windows: Improved startup time with a standard Git for Windows install by no longer checking which git.exe to run on every launch</p>
<p>• Updated the session-feedback message and the allowedProviders setting description to name Ultra alongside Pro and Max, and the forceLoginMethod description to cover every paid Claude plan</p>
<p>• Updated the bundled dataviz skill to suggest a list of meters, one row per item, for several ratios that each have their own limit</p>
<p>• Updated the "Upgrade to Max" options to say "Upgrade to Max or Ultra"</p>
<p>• Changed mods Claude writes to turn on without asking in auto and bypass modes, even with managed allowUnsandboxedCommands: false or allowManagedDomainsOnly, and not to load in dontAsk mode</p>
<p>• Changed mods' own tool calls ($.tool.call, $.mcp.call) to raise no permission prompt, even under your own ask rules or in dontAsk and -p runs; deny rules and organization policy still apply</p>
<p>• Changed saved Fable 5.1 model picks to move to fable: on Pro and Max plans at once, on Team and Enterprise plans once your organization allows it; use /model claude-fable-5-1 to switch back</p>
<p>• Changed the fast mode labels in /fast, /config and /model to name your current model when it supports fast mode, and removed "(Opus only)" from the VS Code row</p>
<p>• Changed nested skill loading: .claude/skills folders inside ~/.claude/plugins no longer load when Claude works on files there</p>
<p>• Self-hosted runner: Changed an on-demand runner that the server refuses because it is not needed (session ended or paused, work order superseded) to exit 0 instead of 1</p>
<p>• Windows: Changed how Claude Code finds programs it starts itself, such as git, to skip relative and UNC PATH entries and links onto a network share, and to pick up PATH changes from settings</p>
<p>• Changed OpenTelemetry hook events in non-interactive sessions to leave two built-in hooks out of num_hooks and num_success after Bash and PowerShell calls</p>
<p>• Changed the number of messages a Claude Desktop Code tab session can send to your other sessions before it waits for you to type again from 10 to 20</p>
<p>• Changed AskUserQuestion in claude -p and SDK sessions to deny a host's permission answer that sets the undocumented afkTimeoutMs input field</p>
<p>• Changed managed extraKnownMarketplaces: a declared name can't be added from another source, an entry from elsewhere is hidden, and plugins the declared marketplace lists are reinstalled from it</p>
<p>• Changed Claude in Chrome tools that an app running Claude Code provides, such as the Claude desktop app's Code tab, to follow your organization's Claude in Chrome policy</p>
<p>• Changed policy_mode: layered in the Claude apps gateway: managed MCP servers now add up over every matching policy, match: {} included, so a gateway already on it serves more after the upgrade</p>
<p>• Gateway: Changed Bedrock, Vertex and Foundry upstreams to ignore the ANTHROPIC_*_BASE_URL variables in the gateway's environment. Set base_url on the upstream to use another endpoint</p>
<p>• Changed headless sessions to reload mods in .claude/skills when their files change; set CLAUDE_CODE_PLUGIN_DIR_WATCH=0 to turn this off</p>
<p>• Changed the Cyber Verification Program sentence on a cyber safeguard block to use the same words as claude.ai</p>
<p>• Changed Cowork cloud sessions: a PostToolUse hook can no longer replace the answer to AskUserQuestion or the plan in ExitPlanMode's result; Claude reads the originals</p>
<p>• Changed cp and mv spelled by a path, such as /bin/cp, to get the same path checks as cp and mv</p>
<p>• Changed background command notifications and TaskStop results to show Claude only the start and end of a command over 1,000 characters, which saves context</p>
<p>• Changed artifact design guidance to treat Inter and Space Grotesk as good default typefaces</p>
<p>• Changed the account email check to refuse only a shell command that holds your email and names a User-Agent, without asking, so other commands and scheduled runs no longer stop at its prompt</p>
<p>• Changed Remote Control sessions to keep the folder they were started in: a connected client can no longer move a session to another folder</p>
<p>• Changed managed extraKnownMarketplaces take-overs from an undeclared source: saved data is set aside for cleanupPeriodDays, and options and secrets until claude plugin restore-set-aside</p>
<p>• [VSCode] Added a warning above the prompt box when both an auth token and an API key are set, matching the terminal's startup warning</p>
<p>• [VSCode] Fixed a plugin's permission request showing a name with hidden characters: it now reads "a plugin"</p></content>
</entry>
<entry>
<id>https://github.com/anthropics/claude-code/releases/tag/v2.1.319</id>
<title>Claude Code v2.1.319</title>
<link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/releases/tag/v2.1.319"/>
<updated>2026-11-06T17:03:45Z</updated>
<content type="html"><p>• Changed auto mode with telemetry or feature flags off, including behind LLM gateways: calls the server can't check are asked about or denied, with no fallback to the built-in classifier; set CLAUDE_CODE_AUTO_MODE_SERVER=0 to keep using it (Bedrock, Vertex and Foundry are unchanged)</p>
<p>• Changed auto mode behind an LLM gateway: CLAUDE_CODE_AUTO_MODE_SERVER=1 turns on the server-side check even with CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS set; if managed settings set the latter, they must set the 1 too</p>
<p>• Added support for MCP tasks in the terminal: when an MCP server runs a tool call as a task, Claude Code moves it to the background right away and tells Claude the result when it finishes</p>
<p>• Added the CLAUDE_CODE_DISABLE_MCP_TASK_BACKGROUND environment variable to make Claude Code wait for an MCP task inside its tool call instead of moving it to the background right away</p>
<p>• Added permissions.denyInsteadOfPrompting setting: a tool call that would wait on a permission prompt is denied and the turn continues, in terminal sessions, subagents and teammates</p>
<p>• Added /claude-api latency-optimize to find where your Claude API code makes people wait and try faster settings against your eval</p>
<p>• Added the CLAUDE_CODE_DISABLE_FEATURE_FLAGS environment variable, which stops feature-flag fetching without turning off telemetry; every flag then uses its built-in default</p>
<p>• Added spend for today, this week and this month to /usage for developers behind a Claude apps gateway who have no spend limit, when the gateway runs this version or later</p>
<p>• Added admin.pooled_conflict_rule and admin.pooled_priority_order to the Claude apps gateway, to set which pooled group budget pays first for a developer in several groups</p>
<p>• Added an optional login_notice setting to the Claude apps gateway that shows an operator-defined message on the gateway's browser verification page and on Claude Code's sign-in screen</p>
<p>• Added CLAUDE_GATEWAY_LOG_FORMAT=json to the Claude apps gateway: operational log lines become JSON with severity, time and message, for log collectors that read the level from a field</p>
<p>• Added a Claude apps gateway boot warning for a case where another policy's availableModels also allows a custom model id that one policy lists by name</p>
<p>• Added start-up warnings to the Claude apps gateway for policies with no desktopHome that rely on coworkTabEnabled: false or chatSessionRetentionDays, ahead of Claude Desktop's November 10 change</p>
<p>• Added a warning when your claude.ai login ends and Claude Code continues on the sign-in from ant auth login, which bills usage to your Claude Console organization</p>
<p>• Added a line at startup naming the Claude Console organization that is billed in a case where Claude Code uses the sign-in from ant auth login</p>
<p>• Added an "Earlier in this session" row to /tasks that lists finished subagents, so you can reopen one and message it even after it leaves the list or you restart</p>
<p>• Added a note to /loop confirmations in cloud sessions that a timer stops with its container, with an offer of a loop that survives</p>
<p>• Fixed MCP servers on the older handshake failing to connect, or returning empty results, because Claude Code declared an extension that it only uses with newer servers</p>
<p>• Fixed a long-running MCP tool call on a claude.ai connector sometimes never reporting its result after --resume</p>
<p>• Fixed a session's diff failing to load on claude.ai and the mobile apps when the folder Claude Code runs in has a file or folder named HEAD</p>
<p>• Fixed /diff showing "Diff unavailable" when a git repository has a file or folder named HEAD at its top level</p>
<p>• Fixed the /diff pane opening blank in sessions where 64 or more turns edited files</p>
<p>• Fixed slash commands typed after a leading space, tab or newline being sent to Claude as plain text instead of running</p>
<p>• Fixed a request that kept failing with a 401 refreshing your login on every retry and causing 401s in your other sessions</p>
<p>• Fixed /context sending its full visual grid to Claude on every later turn; Claude now reads only the table</p>
<p>• Fixed claude -p exiting 0 in auto mode when its actions were refused because no safety check was available: text and JSON output now exit 1</p>
<p>• Fixed a case where Claude Code listed every project file at start on Linux for projects on a network file system (NFS, SMB, Lustre and similar)</p>
<p>• Fixed a case where auto mode was wrongly refused when a client sent a model change and a request for auto mode back to back</p>
<p>• Fixed /status showing "Auto mode server: Enabled" when the server-side review isn't reaching the session, for example behind an LLM gateway that drops it</p>
<p>• Fixed Claude-drafted feedback, surveys and /feedback continuing to appear after the server refused feedback for your organization</p>
<p>• Fixed Claude drafting feedback on third-party gateways, where it can't be sent</p>
<p>• Fixed auto mode refusing actions without saying why when permission rules or autoMode settings are very large: it now explains and, unless autoMode deny rules are set, asks you in the terminal</p>
<p>• Fixed a case where Bash deny and ask rules missed commands written with quoted words</p>
<p>• Fixed subagent hand-back reports showing an internal marker and provenance note when expanded outside verbose mode</p>
<p>• Fixed claude -p --resume with a prompt losing a deferred tool call when its MCP server is missing: the run now exits 1, keeps the call and refuses later input</p>
<p>• Fixed a case where text was dropped from informational messages sent to SDK clients</p>
<p>• Fixed a case where Agent SDK hosts got a generic exit-code error instead of a failed run's own error message when the disk was full</p>
<p>• Fixed CLAUDE_CODE_RESUME_INTERRUPTED_TURN re-running a turn that was interrupted in plan mode when the session resumes in another permission mode</p>
<p>• Fixed edits to a settings file being ignored when made within a few seconds of Claude Code writing that file</p>
<p>• Fixed a config file left at the legacy name hiding your setup with no warning: Claude Code now says on stderr when a home holds two config files, and which is in use</p>
<p>• Fixed ~/.claude.json, settings and edited files ending up empty or cut off when the disk fills during a save in a read-only folder or to a bind-mounted file (one session saving at a time)</p>
<p>• Fixed Write ending the turn as a refusal when it couldn't read the file to overwrite</p>
<p>• Fixed background Bash commands that finish almost instantly losing their output while being reported as completed</p>
<p>• Fixed the Bash tool's diff of changed files missing a file that the command wrote just before it ended</p>
<p>• Fixed a mistyped model name, such as opus-5-5, telling you to update Claude Code instead of suggesting the model you meant</p>
<p>• Fixed a case where NotebookEdit changed the wrong cell when the notebook changed while a permission prompt was open</p>
<p>• Fixed a ~0.5s hang after pressing Enter on the /login success screen: the dialog now dismisses immediately and the post-login refresh runs in the background</p>
<p>• Fixed Ctrl+G not opening the external editor while typing an "Other" answer to a question in screen reader mode</p>
<p>• Fixed Monitor's WebSocket watch failing with "could not resolve" behind a proxy when CLAUDE_CODE_PROXY_RESOLVES_HOSTS is set and the machine has no DNS of its own</p>
<p>• Fixed claude plugin eval warnings suggesting max: 0 for a tool that must not be called, which could never pass</p>
<p>• Fixed background plugin auto-update not installing a dependency added by the updated plugin version</p>
<p>• Fixed Cmd+click not opening links in Ghostty over tmux in sessions opened from the agents view</p>
<p>• Fixed a mod's hot reload in .claude/skills missing a file that was deleted just after it appeared, and missing its return</p>
<p>• Fixed /rewind failing with "No files were restored" when restoring code to a checkpoint from before /branch</p>
<p>• Fixed the /claude-api skill saying Console web settings don't apply to Managed Agents sessions, and tightened its credential and permission examples</p>
<p>• Fixed needless permission prompts for read-only commands wrapped in a plain timeout DURATION, such as timeout 30 rg foo</p>
<p>• Fixed WebFetch describing claude.ai shared-chat links as empty pages; it now says shared chats can't be read and to paste the conversation instead</p>
<p>• Fixed Artifact database calls being re-sent to artifacts without a database; errors now say whether republishing helps</p>
<p>• Fixed a case where artifact database reads that save to a folder (out_dir) were refused</p>
<p>• Fixed detailed beta tracing not presenting CLAUDE_CODE_CLIENT_CERT to collectors that require a client certificate</p>
<p>• Fixed the OpenTelemetry claude_code.session.count metric counting Agent SDK prewarm() processes that were never claimed; a pre-started process now counts once, when it is claimed</p>
<p>• Fixed /clear killing running commands of background agents, teammates and workflows that keep running, and foreground subagents of background agents and teammates</p>
<p>• Fixed a terminal whose Claude apps gateway sign-in had expired sending telemetry and managed-settings requests that the gateway refused and logged as invalid_token</p>
<p>• Fixed the agents view appearing to send a reply to a background session waiting on a permission prompt; the reply now stays in the box with a hint to open the session and answer</p>
<p>• Fixed agent view removing a draft saved by another agent view in the same directory when exiting</p>
<p>• Fixed a case where agent view came back with another agent view's input text after restarting itself for an update</p>
<p>• Fixed the agents view preview cutting off long commands, results and status lines without an ellipsis, and dropping **, backticks and tags from commands waiting for approval</p>
<p>• Fixed Claude in Chrome reporting the extension as not connected when the connection dropped mid-action; Claude now checks the page before repeating an action that may have run</p>
<p>• Fixed Remote Control sessions still showing "Limit reached" on other devices after a usage limit was lifted outside the session</p>
<p>• Fixed the file card sometimes missing in the Claude iOS app when Claude sent a single file</p>
<p>• Fixed self-hosted runner sessions failing with no explanation when the server keeps refusing to renew model access: the runner now retries sooner and posts a warning in the session</p>
<p>• Fixed /permissions in cloud sessions replying only that it isn't available; it now says where the session's rules live and how to change them</p>
<p>• Fixed cloud sessions losing session-scoped deny and ask permission rules, such as those a PermissionRequest hook adds, when the session moves to a new worker</p>
<p>• Fixed mod hot-reloading turning off for the session when you typed three messages instead of answering its question in a cloud session</p>
<p>• Fixed background tasks that keep running after /clear disappearing from the task list in Claude Code on the web until another task started or ended</p>
<p>• Fixed hidden commands appearing in the slash command menu of cloud sessions on mobile and web</p>
<p>• Fixed a case where /rewind could restore or delete a file through a directory symlink</p>
<p>• Fixed a case where a sed command could skip the permission check in accept-edits and auto mode</p>
<p>• Fixed a case where CLAUDE_CODE_AUTO_MODE_SERVER=1 in managed settings was ignored behind an LLM gateway when the gateway's URL is set only there and server-managed settings can't be fetched</p>
<p>• Fixed a Bash permission bypass where a crafted environment prefix could hide part of a command from permission checks</p>
<p>• Fixed a case where deny and ask rules, hook matchers and disallowedTools entries written with a claude.ai connector's terminal name (mcp__claude_ai_Slack) were ignored in Claude Desktop (takes effect once Claude Desktop includes this version)</p>
<p>• Fixed a sandbox escape when creating a worktree</p>
<p>• Fixed self-hosted runners: --trust-workspace false now also stops hooks in the repository's settings files and skills from running</p>
<p>• Fixed a case where idle background sessions started through a shell-exported LLM gateway left the gateway after an update</p>
<p>• Fixed help links in /status and the auto mode billing notice opening only part of the address when they wrap</p>
<p>• Fixed a case where certificate errors behind a TLS-inspecting proxy persisted when CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC was set. With it set, Claude Code now makes a TLS handshake with the configured API host after a certificate failure, through your http:// proxy if one is set; it sends no API request</p>
<p>• Fixed claude remote-control exiting silently with status 0 when a first-run question gets no answer (scripts, services, batch jobs, Ctrl+C); it now says why and exits 1</p>
<p>• Fixed claude remote-control ignoring a piped y that has no newline after it at the first-run question; it now counts as a yes</p>
<p>• Fixed /rename reporting plain success when the new name could not be saved to the session transcript; it now warns that the new name may not last</p>
<p>• Fixed ${CLAUDE_PLUGIN_ROOT} not being substituted in a plugin-provided subagentStatusLine command, which can now reference the plugin's own scripts</p>
<p>• Fixed claude plugin update and /plugin "Update now" not installing dependencies added by the new plugin version</p>
<p>• Fixed subagents being told after compaction to expect a completion notice for background agents they neither started nor took over</p>
<p>• Fixed a case where a background agent's later report was lost silently: the notification now says it was refused and how to ask for it</p>
<p>• Improved config saves on Windows: Claude Code waits longer for a file another program has open, so a kill during a save is less likely to leave ~/.claude.json empty</p>
<p>• Improved Claude in Chrome after a brief disconnect: it waits up to 6 seconds for the session's own browser to return before picking another</p>
<p>• Improved Claude in Chrome: javascript_tool results of up to 60,000 characters now stay in the conversation instead of being saved to a file</p>
<p>• Improved claude purge and the clean-up of old sessions to retry a folder that could not be fully deleted, and to report it as an error if it remains</p>
<p>• Improved the refusal for a path outside the working directories on macOS and Windows: when only its letter case differs from a path inside them, the message names that spelling</p>
<p>• Improved the contrast of faint gray secondary text, such as hints, details in /stats, /model and /sandbox, and rejected-action messages</p>
<p>• Improved the artifact database error when an update targets a document that does not exist, and when the service pauses repeated refused writes</p>
<p>• Improved the Claude apps gateway's warnings about a failed upstream call: each now names the upstream, not only its provider</p>
<p>• Improved the Claude apps gateway's spend limit error: it reads "spend limit reached · resets Dec 1", then admin.blocked_message if one is set</p>
<p>• Improved the /model picker: older models are now grouped under a "More models" row instead of being listed after the current ones</p>
<p>• Improved /context at the terminal so the table Claude reads stays short: each list keeps its 10 largest rows, and MCP tools that load on demand share one row per server until they're called</p>
<p>• Improved /usage in cloud sessions: it now links to Settings → Usage on claude.ai in a case where plan limits can't be shown</p>
<p>• [VSCode] Improved the confirmation for removing a plugin marketplace: it now checks which of its plugins are installed at that moment</p>
<p>• Changed MCP tasks to work in the terminal without feature-flag fetching (Bedrock, Vertex, Foundry, LLM gateways, DISABLE_TELEMETRY); set CLAUDE_CODE_DISABLE_MCP_TASKS=1 to turn them off</p>
<p>• Changed auto mode so that a project's settings files or a plugin can no longer switch its server-side check back on once you have switched it off outside the project</p>
<p>• Changed Monitor's WebSocket watch to follow a rule on every Bash command: a deny refuses it, and under an ask rule an allow on Monitor, bypass mode or auto mode no longer skips the prompt</p>
<p>• Changed CLAUDE_CODE_PROXY_RESOLVES_HOSTS so that settings files can no longer set it where the host manages the network; set it in the process environment</p>
<p>• Changed a session's exact Bash or PowerShell ask rule to be refused, not asked about, when a broader deny rule covers the command</p>
<p>• Changed the Bash tool to ask for permission before running which with flags outside a lookup/display set</p>
<p>• Changed --add-dir directories to register plugin marketplaces only once that directory's own trust dialog has been accepted</p>
<p>• Changed nested skill loading: with the Bash sandbox on, skills in .claude/skills folders below the starting folder load only if you start Claude Code there or /cd there</p>
<p>• Changed self-paced /loop to end when a turn finishes without rescheduling, instead of scheduling a fallback wakeup; set CLAUDE_CODE_LOOP_KEEPALIVE=1 to keep the old behavior</p>
<p>• Changed PostToolUse hooks to run, with up to 10 seconds to finish, on tool calls that finish after a new message interrupts the turn</p>
<p>• Changed what Claude is told after safeguards stop a subagent: retry with a narrower prompt or tell you, instead of doing the work itself</p>
<p>• Changed cloud sessions to drop session-scoped allow rules at a move to a new worker when their deny and ask rules can't all be kept, so you may be asked again</p>
<p>• Changed the automatic certificate repair behind a TLS-inspecting proxy: it no longer runs when ALL_PROXY is the only proxy variable set. Set HTTPS_PROXY to the proxy's http:// URL instead</p>
<p>• Changed artifact database saves of rows others may have written: each file gets a hidden marker file, and existing files without one, earlier versions' exports among them, are left alone and reported</p>
<p>• Updated /claude-api managed-agents-onboard templates to match the Claude Console: removed Performance tuner, renamed two, and turned off web search and fetch in five whose prompts don't use them</p>
<p>• Removed shortcuts_list and shortcuts_execute, which listed and started shortcuts saved in the extension, from Claude Code's built-in Claude in Chrome tools</p>
<p>• Gateway: Added startup warnings for upstreams that mix AWS GovCloud with other upstreams, and for base URL variables in the gateway's environment</p>
<p>• Gateway: Added a start-up log warning when managed settings name an Amazon Bedrock guardrail in a header, which the gateway doesn't forward, and no bedrock upstream sets a guardrail</p>
<p>• Gateway: Fixed Claude Desktop offering a web search tool that always failed when every upstream is Amazon Bedrock</p>
<p>• Self-hosted runner: Fixed a runner started with --use-anthropic-git-proxy or --configure-git registering before a failed startup check made it exit; it now exits first</p>
<p>• Self-hosted runner: Changed CLAUDE_RUNNER_CHECKOUT_PATH so that each repository in a session gets its own folder: a folder name already taken in the session gets -2, -3, … at the end</p>
<p>• Self-hosted runner: Removed the end-of-session upload of a session's debug log; a failed session's log stays on the runner host unless --remove-session-state is set</p>
<p>• [VSCode] Fixed prompts over 50,000 characters being cut off silently: the prompt now stays in the chat box with a notice, and a paste over the limit is refused with a notice</p>
<p>• [VSCode] Fixed a click on the survey or "Report a problem" buttons sending the unfinished prompt</p>
<p>• [VSCode] Fixed cloud sessions opened from the extension's Web tab bringing back turns that /clear, or Retry or Edit of a typed prompt, had removed</p>
<p>• [VSCode] Fixed a deleted session's file coming back when that session was renamed in the extension</p>
<p>• [VSCode] Fixed Claude carrying out an unapproved plan after a window reload: a step interrupted in plan mode now stops with a notice when the session comes back in another permission mode</p>
<p>• [VSCode] Improved the "not signed in" message behind a Claude apps gateway: it now looks like an error and has a Sign in link</p>
<p>• [VSCode] Changed links in Claude's replies that point at Claude sign-in, connector or API addresses to show as text with the address, instead of opening in the browser</p>
<p>• [VSCode] Fixed a possible chat panel freeze when a dropped item's path contains a very long run of "/" characters</p>
<p>• [VSCode] Fixed the claude-vscode.toggleDictation command starting dictation in every open Claude view at once; it now acts only in the view you are using, and a second press stops it</p>
<p>• [VSCode] Fixed the chat panel slowing down while a reply with many unclosed $$ math fences, each shorter than the last, streams in</p>
<p>• [VSCode] Improved the chat panel's diagnostics tool for large workspaces: it leaves out files with no problems, returns compact JSON, and accepts an optional minimum severity</p>
<p>• [Cloud sessions] Fixed scheduled tasks silently dropping a connector named memory: runs now keep it, mounted under that name plus a short suffix</p>
<p>• [Cloud sessions] Fixed Send now on a waiting message in cloud sessions ending running background agents; they now keep running</p>
<p>• [Cloud sessions] Improved the stalled-setup warning on self-hosted environments: its link now prefers your organization's default or an environment with a live runner, and names it</p>
<p>• [Code Review] Changed unlinking a GitHub organization to also turn off its All repositories setting in Code Review; it stays off after you relink until you turn it back on</p>
<p>• [Claude Tag] Fixed Claude Tag setup blocking launch when the channel list couldn't fully load; admins can now launch without picking a channel</p>
<p>• [Claude Tag] Added a Claude Tag row to the Models admin page for Enterprise orgs with Claude Tag connected, linking to where its model defaults are managed</p>
<p>• [Claude Tag] Fixed saving auto mode allow rules in Claude Tag admin settings overwriting another admin's changes; the save is now refused with a message</p></content>
</entry>
<entry>
<id>https://github.com/anthropics/claude-code/releases/tag/v2.1.318</id>
<title>Claude Code v2.1.318</title>
<link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/releases/tag/v2.1.318"/>
<updated>2026-11-04T00:00:44Z</updated>
<content type="html"><p>• Added a record of your answer when Claude Code asks to turn on the mods it writes in a session</p>
<p>• Added assume_role on mantle upstreams of the Claude apps gateway, for a role in another AWS account and for per-developer AWS cost attribution</p>
<p>• Added an effort option to a mod's $.model.fork, so a quick side job can run at low whatever effort the session uses; the result reports the effort sent</p>
<p>• Added the date a stored claude.ai sign-in ends to claude auth status (loginExpiresAt) and to claude -p JSON results (credential_expires_at)</p>
<p>• Added a one-line stderr warning to claude -p text output, starting 10 days before a stored claude.ai sign-in ends</p>
<p>• Fixed --continue sometimes losing the earlier conversation after a malformed tool call's retries ran out (regression in 2.1.314)</p>
<p>• Fixed macOS sessions with many running Bash commands stalling while memory grew</p>
<p>• Fixed permission prompts being answered by keys typed just after sending a message, or before a slow prompt appeared</p>
<p>• Fixed /logout, claude auth logout and claude mcp remove reporting success, and changes to trust, consent or MCP settings being dropped with no word, when the config file could not be updated on a shared network home directory</p>
<p>• Fixed jobs exiting with Not logged in when another terminal or host signs in again to the same account and organization on the same home</p>
<p>• Fixed claude mcp add and remove writing the config without its lock: they now wait for it or exit 1, though another job's save can still replace a saved server</p>
<p>• Fixed claude plugin commands exiting before a slow token refresh was saved, which could sign you out on the next run</p>
<p>• Fixed claude plugin validate passing a custom-named marketplace file that claude plugin marketplace add rejects</p>
<p>• Fixed stdio MCP servers that exit on the version probe being re-probed on every start; a server that dies in under 3s for its own reason is also pinned to the legacy handshake for 7 days</p>
<p>• Fixed sessions being refused at startup by an allowedProviders list that another login on the same machine had stored</p>
<p>• Fixed idle compaction replacing a conversation with a reply that was not a summary</p>
<p>• Fixed the "Now using usage credits" notice reappearing about every 30 seconds while a background subagent is running</p>
<p>• Fixed custom slash commands that fail, or that only Claude can invoke, printing nothing in claude -p and SDK sessions</p>
<p>• Fixed claude -p and Agent SDK sessions reporting success when an API error cut off a reply while a mod hooked turn.step</p>
<p>• Fixed a message sent right after a model change still running after Stop in headless sessions: Stop now cancels or stops it as it would a queued message</p>
<p>• Fixed a deleted session transcript being re-created with its last prompt when an idle non-interactive session exited</p>
<p>• Fixed claude remote-control hosts, the background daemon and self-hosted runners failing to start new sessions (spawn ENOENT) after an update or version cleanup removed the binary of a still-running process</p>
<p>• Fixed a running Claude Code process owned by another user (for example one left by sudo claude) being treated as dead by version cleanup, which could delete its binary</p>
<p>• Fixed /remote-control showing a session as available after a failed connection</p>
<p>• Fixed /design revoke reporting success when the request failed with a 404</p>
<p>• Fixed a shell command approved after a self-hosted runner or cloud session restart running in the session's start folder, not the folder it was asked in; if that folder can't be entered, it is not run</p>
<p>• Fixed Claude not being told when an approved connector tool was unavailable after a cloud session restart</p>
<p>• Fixed cloud sessions being stopped in the middle of a turn when the service refuses uploads for several minutes</p>
<p>• Fixed variables a Setup hook writes to CLAUDE_ENV_FILE not reaching the Bash tool in some cloud sessions</p>
<p>• Fixed the iPhone app showing a cloud session's turn as finished while it kept running, after a response was cut off at a tool call or a refused image or document was removed</p>
<p>• Fixed a restarted session re-sending a message that failed with an API error, ahead of the newer message waiting behind it</p>
<p>• Fixed a restarted session dropping its interrupted turn when the restart came right after Claude read a large image or retried a tool call</p>
<p>• Fixed every connection failing when the NODE_EXTRA_CA_CERTS file is empty, not PEM, or starts with a damaged certificate: readable certificates are now used, with a warning on stderr</p>
<p>• Fixed workflows re-running finished agents when resumed after a usage limit</p>
<p>• Fixed /mcp in cloud sessions counting tools the model can't use; a server's row now shows how many of its tools are available</p>
<p>• Fixed a duplicate notification when Claude left the status field out of a PushNotification call</p>
<p>• Fixed the error for a too-large image in a request with more than 20 images always saying the limit was 2000px; it now shows the API's limit</p>
<p>• Fixed the runtime in background shell details not updating while the dialog is open</p>
<p>• Fixed a mod's turn.step hook making a stopped reply finish as a success in headless runs</p>
<p>• Fixed retention cleanup leaving a home that only runs claude -p with no ~/.claude.json backup: it now takes a fresh backup before deleting the last good one</p>
<p>• Fixed the stored login being replaced by an empty file when a network home directory has no room left for data but still takes new files</p>
<p>• Fixed tokens from setup-token being refused at start on machines with forceLoginOrgUUID, when the token belongs to a permitted organization</p>
<p>• Fixed non-interactive launches replacing a ~/.claude.json that isn't valid JSON with defaults; the start now fails, says how to restore the file, and leaves it as is (anthropics/claude-code#87551)</p>
<p>• Fixed an empty ~/.claude.json with no backup being reported as corrupted; Claude Code now starts as it does when the file is missing</p>
<p>• Fixed the restore command printed for a damaged or missing ~/.claude.json naming an empty or cut-off backup, or failing on a read-only file</p>
<p>• Fixed the sign-in failure when a stored claude.ai login reaches its time limit: it now says so, and in claude -p names claude auth login and claude setup-token</p>
<p>• Improved how ~/.claude.json, settings files and the stored login survive saves on shared network home directories: they are less often deleted, briefly emptied or replaced by a near-empty or older copy</p>
<p>• Improved sessions on network file systems to look again when the configuration file is wrongly reported as missing, so fewer start without your MCP servers and trusted folders</p>
<p>• Improved MCP tool errors: a call made before the tool is loaded now returns its input schema</p>
<p>• Improved the reliability of git commits and pull request creation when the Bash tool runs macOS's built-in /bin/bash</p>
<p>• Improved "Ask your admin for more usage" in the usage limit menu to send the request in one step</p>
<p>• Improved how fast remote sessions reconnect after a pause or sleep</p>
<p>• Improved You should know toasts to say "try again" instead of "press 2", which only works in the terminal</p>
<p>• Improved auto-update reliability: a brief network failure while verifying a release is now retried right away instead of waiting for the next check</p>
<p>• Improved unattended runs (claude -p, SDK apps) to stop rewriting ~/.claude.json on every run when nothing in it changed</p>
<p>• Changed Claude Code to no longer install or update the IDE extension when started in an IDE terminal; use /ide from an outside terminal or your editor's extensions view</p>
<p>• Changed subagents to stop instead of switching models when "Switch models when a message is flagged" is set to "Ask each time"</p>
<p>• Changed background subagents to move a shell command to the background after 3 minutes on all providers, so the prompt cache doesn't expire while it runs</p>
<p>• Changed subagent progress summaries on Bedrock, Vertex, Foundry, or with telemetry off: on a cold prompt cache, one can now wait up to 5 minutes for the subagent's pending response</p>
<p>• Changed what a mod attaches at prompt.submit to stay in the user's turn rather than go out as a system message</p>
<p>• Changed deniedMcpServers URL entries to also block Anthropic-provided servers whose upstream URL matches, and connectors in cloud sessions and on self-hosted runners, where the session is given the connector's own URL; otherwise deny a connector by name</p>
<p>• Changed the /permissions rule details, built-in rules and delete confirmation views to use the standard dialog; pressing Ctrl+C twice there now goes back or cancels instead of quitting</p>
<p>• Changed /claude-api managed-agents-onboard to give a new agent's built-in tools, and a quickstart template's MCP tools, the auto permission policy ("Judge risky actions") by default, matching the Claude Console; say "run without asking" to opt out</p>
<p>• Removed the 2.1.288 fix that kept the model's earlier thinking when resuming a conversation started on 2.1.286 or earlier; that thinking can now be dropped</p>
<p>• Gateway: Added a log warning when the Google access token from a federation (external_account) credentials file is about to expire</p>
<p>• Gateway: Improved the log hints about listen.trusted_proxies: they now say to list only a proxy that adds the connecting address to X-Forwarded-For itself</p>
<p>• Gateway: Improved the warning when AWS CountTokens fails on Amazon Bedrock: it says Claude Code, not the gateway, counts after the 501, and points at IAM only when AWS denies access</p>
<p>• Self-hosted runner: Added CLAUDE_RUNNER_SPAWN_REASON to the orchestrator's spawn-runner hook environment: why Anthropic sent the request (e.g. runner_lost, resumed); unset when none was sent</p>
<p>• Self-hosted runner: Added a startup warning when --release-idle-session-min is the last argument with no value (still ignored) or has a value of only spaces (still read as 0)</p>
<p>• Self-hosted runner: Changed the orchestrator's log lines: ok session=… now prints at every log level on stdout (was debug only, stderr) with reason=… after jti=…, and nack session=… ends its fields with reason=… after retryable=…; update scripts that match retryable=true: or retryable=false:</p>
<p>• Remote Control: Fixed a misleading "spawn error: ENOENT" when a session's working folder is missing; the error now names the folder</p>
<p>• Remote Control: Improved the title a fork of a terminal fork is created with when the app doesn't set one: "Name (fork 2)"</p>
<p>• [VSCode] Fixed a window whose sign-in the organization's settings refuse starting a new Claude Code process in the background every minute</p>
<p>• [VSCode] Fixed a long word in the chat panel's error banner pushing its close button out of view</p>
<p>• [VSCode] Improved the sign-in screen to show what Claude Code printed when its sign-in status check fails</p>
<p>• [Cloud sessions] Added a No repository option: a cloud session on an Anthropic-hosted environment can now start without picking a repository</p>
<p>• [Cloud sessions] Added the usual Chrome names to cloud sessions, so tools other than Playwright can find the built-in Chromium through google-chrome and CHROME_PATH</p>
<p>• [Cloud sessions] Added a New session button to the card shown when a cloud session's environment was deleted, where the message box is hidden</p>
<p>• [Cloud sessions] Fixed reading GitHub Actions logs in cloud sessions: gh run view --log and gh api log requests now get the log in most environments, not an unreachable redirect</p>
<p>• [Cloud sessions] Improved most Create PR failure messages in cloud and Remote Control sessions: they now give the reason or a link to GitHub instead of saying Try again</p>
<p>• [Cloud sessions] Changed connector search results to tell Claude that the search covers only part of the connector directory</p>
<p>• [Remote Control] Fixed side-by-side checkouts of one repository looking identical in the environment menu's Remote Control rows; each now shows its own folder name</p>
<p>• [Claude Tag] Fixed keyboard focus and screen reader announcements in Claude Tag admin setup; pressing Escape in the connect form no longer also closes the Add dialog</p>
<p>• [Code Review] Improved the Code Review analytics page to retry once after a server or network failure, then show a Try again banner instead of empty cards</p></content>
</entry>
<entry>
<id>https://github.com/anthropics/claude-code/releases/tag/v2.1.317</id>
<title>Claude Code v2.1.317</title>
<link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/releases/tag/v2.1.317"/>
<updated>2026-11-03T01:25:28Z</updated>
<content type="html"><p>• Added a warning to /schedule when a new cloud scheduled task gets connectors you did not ask for, with how to remove them</p>
<p>• Added a check that asks before a web or shell tool call sends your account email address to the network</p>
<p>• Added onFailure: "block" for Agent SDK hook callbacks, so a callback that fails blocks the action instead of letting it run</p>
<p>• Added a notice in Claude Desktop's Code tab when your organization's remote managed settings haven't loaded for the session, and another once they do</p>
<p>• Added a notice when auto mode's check has no answer for a subagent's tool call, which used to leave nothing in the main view</p>
<p>• Added anthropic.plan, anthropic.seat_type, anthropic.provider and anthropic.custom_base_url to OTel metrics, events and spans</p>
<p>• Added a cost report to the Claude apps gateway admin API, GET /v1/organizations/analytics/cost, for reading past spend over a date range in total, per developer, per day or per IdP group</p>
<p>• Added a daily record of each developer's IdP groups on Claude apps gateways with admin: set, kept for admin.identity_retention_days, which the cost report groups by</p>
<p>• Added CLAUDE_CODE_DISABLE_NESTED_SESSION_ID: set it to 1 on a self-hosted runner to have claude -p run inside a session use that session's ID and transcript, as in earlier versions</p>
<p>• Fixed project and local MCP servers disconnecting after the first turn in some Claude desktop sessions</p>
<p>• Fixed auto mode failing every turn when an LLM gateway set as the base URL answers 403 or 422 to its server-side safety check (a 403 with an apiKeyHelper is unchanged)</p>
<p>• Fixed claude auth status exiting before a slow token refresh was saved, which could sign you out on the next run</p>
<p>• Fixed a project's effortLevel setting being ignored by sessions that an app starts ahead of time and then opens in the project, such as new sessions in the desktop app's Code tab</p>
<p>• Fixed claude --from-pr reporting "No conversations found" in projects with many sessions when the linked session was older than the first page</p>
<p>• Fixed the second of two simultaneous permission prompts showing no file path or command on claude.ai and the mobile apps</p>
<p>• Fixed Remote Control and SDK hosts offering "don't ask again" on a mod's tool calls</p>
<p>• Fixed session titles being lost in cloud and SDK sessions when a new message or Stop arrived while the title was generating</p>
<p>• Fixed self-paced /loop wakeups sometimes not being scheduled when Claude left a field out of its request</p>
<p>• Fixed auto mode in cloud sessions stopping for approval when the Artifact tool uploaded, wrote to a database or saved a file through the outputs folder</p>
<p>• Fixed skills synced from claude.ai being lost or downloaded again every ten minutes when they can't be written to disk</p>
<p>• Fixed /schedule leaving a cloud scheduled task's next run time and link out of its results after creating or updating it</p>
<p>• Fixed screen readers speaking a running subagent's elapsed time and token count on every change in screen reader mode</p>
<p>• Fixed a region or network block (HTTP 403) being shown as a sign-in failure; the error now explains the block</p>
<p>• Fixed Claude saying a working claude.ai connector needed authorization or had failed in cloud sessions when a synced plugin included the same server</p>
<p>• Fixed claude -p exiting 0 when a full disk or quota lost its transcript or ~/.claude.json writes; it now prints an error and, in text and json output, exits 1. Full NFS exports may be missed</p>
<p>• Fixed edits to settings files made in the first second or so after launch not taking effect until a settings file changed again</p>
<p>• Fixed old transcripts not being cleaned up on machines where some runs skip cleanup, such as runs using --setting-sources</p>
<p>• Fixed deleted agent team inboxes being re-created by a teammate's late message</p>
<p>• Fixed a re-created agent teammate being removed from its team by an earlier shutdown approval</p>
<p>• Fixed stored scheduled tasks being impossible to list or delete after scheduled tasks were turned off</p>
<p>• Fixed Claude deleting your most recently updated /team-onboarding guide when asked to delete one without naming which</p>
<p>• Fixed Claude saying a /team-onboarding guide was deleted when the server refused the delete</p>
<p>• Fixed the Claude apps gateway hiding Amazon Bedrock's "Input is too long." error, which left sessions failing every turn with "upstream rejected the request" instead of compacting</p>
<p>• Fixed self-hosted runner sessions losing recent turns or the whole conversation when restarted while a plan waited for approval</p>
<p>• Fixed "Prompt is too long" after automatic compaction in sessions whose very large CLAUDE.md changed since it was last sent</p>
<p>• Fixed high memory use and slow startup in headless sessions with many plugins that register commands</p>
<p>• Fixed stdio MCP servers receiving an empty AWS_BEARER_TOKEN_BEDROCK when their env config sets it to empty; the variable is now unset, so the server can use the machine's own AWS credentials</p>
<p>• Fixed API requests failing with "unable to get local issuer certificate" behind some TLS-inspecting proxies after a root certificate renewal</p>
<p>• Fixed very long conversations losing their earlier summary when compaction had to shorten its own request</p>
<p>• Fixed a PDF's own metadata being able to make Read and @-mentions under-count its pages</p>
<p>• Fixed DISABLE_PROMPT_CACHING_OPUS and DISABLE_PROMPT_CACHING_SONNET having no effect on [1m], other-region and undated spellings of the default model</p>
<p>• Fixed /artifacts and the Artifact tool's shared list showing no shared artifacts when you have 200 or more of your own</p>
<p>• Fixed Claude treating partial Grep and Glob results as complete when a search hit its time limit</p>
<p>• Fixed OpenTelemetry exports to an https:// endpoint through a proxy never being sent when they started while another export was still in progress</p>
<p>• Fixed a flood of connection attempts to a proxy that blocks (HTTP 403) OpenTelemetry exports to an http:// endpoint</p>
<p>• Fixed OpenTelemetry exports hanging indefinitely behind a proxy that never answers; they now time out after 10 seconds, or OTEL_EXPORTER_OTLP_TIMEOUT up to 30 seconds</p>
<p>• Fixed resumed sessions telling Claude again about a file change it already knew about</p>
<p>• Fixed Claude sometimes not using a built-in tool in a resumed session after an earlier call failed because the tool was switched off</p>
<p>• Fixed /remote-control answering "Unknown command" instead of saying that Remote Control is turned off by the disableRemoteControl setting</p>
<p>• Fixed agent team teammates in tmux or iTerm2 panes starting in auto mode when the lead session was in manual mode</p>
<p>• Fixed a background session sometimes losing a just-made change of permission mode when it was upgraded or retired</p>
<p>• Fixed Ctrl+C stopping all running background agents when pressed to clear typed text at the prompt</p>
<p>• Fixed /feedback showing "Enter to confirm" while a report is being sent</p>
<p>• Fixed child processes of a stopped shell command sometimes being sent SIGTERM twice, which could make some programs skip their cleanup</p>
<p>• Fixed claude -p run inside a cloud or self-hosted runner session sharing that session's ID: it wrote into the session's transcript, and a restart could resume the wrong conversation</p>
<p>• Fixed claude -p run inside a cloud or self-hosted runner session generating a title of its own and sending it to that session</p>
<p>• Improved the error shown on Microsoft Foundry when Azure credentials can't be loaded: it now says to check or refresh them, and reports as cloud_credential_error</p>
<p>• Improved /design-sync to say up front when your design system has moved to Claude, and stop before building instead of failing at upload</p>
<p>• Improved the startup error when a required Claude apps gateway can't be reached: it points to the network instead of a sign-in, and says when the gateway's TLS certificate can't be verified</p>
<p>• Improved the "Resume this session with" hint shown at exit to repeat the flags you launched with (for example --chrome --debug) ahead of --resume</p>
<p>• Improved how self-hosted runners recover from server errors: after a 5xx other than 501 or 529, a runner's next poll now opens a new connection instead of reusing the one that failed</p>
<p>• Improved how self-hosted runner sessions recover from server errors: after a 5xx other than 501 or 529, a session now opens new connections instead of reusing the one that failed</p>
<p>• Improved how self-hosted runner sessions recover when connections stop answering: after a heartbeat gets no answer, a session now opens new connections instead of trying each idle one in turn</p>
<p>• Changed SendMessage so a message to a running background agent arrives earlier: its running command moves to the background, without being stopped</p>
<p>• Changed subagents and teammates on a different model from the main conversation to use that model's saved effort level or its default, instead of the session's effort level</p>
<p>• Changed exit to skip the "Background work is running" prompt for plugin monitors</p>
<p>• Changed the built-in plugin-authoring skill to offer once, after a mod you built works, to help share the mod</p>
<p>• Removed the Read tool's "file unchanged since your last Read" stub: reading an unchanged file again returns its content</p>
<p>• Windows: Fixed every tool call being refused on some volumes where the native path lookup fails; the working-directory check now compares the folder's identity instead</p>
<p>• Windows: Fixed the session scratchpad and other temporary paths growing with your project's path length in sessions not started by Claude Desktop, which made repositories cloned into them hit the 260-character path limit</p>
<p>• Gateway: Fixed the status line and /usage showing a developer's own spend limit as 100% used after their group's pooled budget ran out</p>
<p>• Self-hosted runner: Fixed Claude not seeing the interrupted tool call when a session moves to a new runner and the turn is older than CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS</p>
<p>• Self-hosted runner: Fixed an MCP server that was switched off coming back on after the session moved to a new machine, when the session service had refused to save the switch</p>
<p>• Remote Control: Improved fork names when the app doesn't set one: a long name keeps its "(fork)" ending, and in sessions started with claude remote-control a fork of "Name (fork)" is "Name (fork 2)"</p>
<p>• [VSCode] Fixed forked conversations dropping messages: only one of the tool calls Claude ran in parallel was kept, and the last messages a compaction kept were lost, which could leave Claude's answer without the question it answered</p>
<p>• [VSCode] Fixed a message being lost when Claude did not finish starting in time: the extension now starts Claude once more before showing the error</p>
<p>• [VSCode] Fixed the sign-in screen opening when a request is blocked for its region or network</p>
<p>• [VSCode] Fixed the Account panel showing the plan name with a lower-cased second word</p>
<p>• [VSCode] Fixed file links in a Claude tab opening on top of the chat instead of in another editor group</p>
<p>• [VSCode] Fixed attachment chips, menus, banners and dialogs in the Claude panel staying small when chat.fontSize is raised</p>
<p>• [VSCode] Fixed ultrathink not raising effort for its turn or showing its rainbow when telemetry is off</p>
<p>• [Cloud sessions] Added a link card to cloud sessions, so you can open or decline a link an MCP server asks you to visit instead of the request going unseen</p>
<p>• [Cloud sessions] Changed the organization environment dialog in admin settings to the personal dialogs' short layout: each section opens from a row, and unsaved input asks before closing</p>
<p>• [Cloud sessions] Fixed adding a network secret for a host that already has one silently replacing it; the Add secret form now refuses and points you to the existing secret</p>
<p>• [Cloud sessions] Fixed new scheduled tasks ignoring your organization's default environment: the form now starts on the one an admin chose instead of the Anthropic-hosted default</p>
<p>• [Remote Control] Fixed the next message to an idle session going unanswered after you restart claude remote-control, when you sent it within a minute of your previous message</p>
<p>• [Claude Tag] Changed newly pasted artifact links in Slack to show a simpler card with an Open button that opens the artifact in Claude, instead of Slack's side panel</p></content>
</entry>
<entry>
<id>https://github.com/anthropics/claude-code/releases/tag/v2.1.316</id>
<title>Claude Code v2.1.316</title>
<link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/releases/tag/v2.1.316"/>
<updated>2026-10-31T01:01:10Z</updated>
<content type="html"><p>• Added CLAUDE_CODE_DISABLE_ULTRATHINK, which turns the ultrathink keyword off</p>
<p>• Added pooled group budgets to the Claude apps gateway: one monthly budget that a group's members share, on top of each member's own limit, set with pooled_budget on the spend limits admin API</p>
<p>• Added CLAUDE_CODE_DISABLE_LOOPED_CROSS_CERT_DROP to keep system cross-certificates that certify each other in a loop, for servers whose private CA needs one</p>
<p>• Added CLAUDE_CODE_SUBAGENT_EFFORT to set the effort level subagents run at when nothing else names one, instead of inheriting the session's</p>
<p>• Added managed.policy_mode: layered to the Claude apps gateway: every policy that matches a developer applies, each merged over the ones listed below it, not only the first</p>
<p>• Added guardrail.input_tagging on Claude apps gateway Bedrock upstreams, which wraps prompts in the input tags that an Amazon Bedrock guardrail's prompt attacks filter needs; all_messages_and_system also tags the system prompt</p>
<p>• Deprecated fast mode for Opus 4.8 as of October 30, 2026; it will be removed on November 30, 2026. After removal, fast mode requests on Opus 4.8 return an error and do not fall back to standard Opus 4.8. Migrate to Opus 5.5 to keep the speedup</p>
<p>• Fixed shell commands being left running on macOS and Linux when Claude Code exits by itself, for example when credentials are refused or a cloud session is archived</p>
<p>• Fixed bash aliases with line breaks in their value (except in Git Bash), and functions whose names start with a dash, being garbled or lost in the Bash tool's shell</p>
<p>• Fixed bash scripts started from the Bash tool stopping after their first command when SHELLOPTS is exported</p>
<p>• Fixed PowerShell hooks not blocking on exit code 2 when the command begins with a type cast, param, using or an attribute</p>
<p>• Fixed some network requests hanging when a compressed response was cut off or corrupted</p>
<p>• Fixed sonnet, opus and haiku on Vertex AI and Amazon Bedrock showing an error mid-session instead of switching to an older model when the newest is not yet available to the account or region</p>
<p>• Fixed the Claude apps gateway not checking every model a request names against availableModels, deniedModels and models; a request that names a blocked model now gets a 400 naming the field</p>
<p>• Fixed claude auth login refusing to run where managed settings require a Claude apps gateway; in a terminal it now shows the gateway sign-in</p>
<p>• Fixed --restricted sessions uploading files from outside the working directories when a Read allow rule covered them</p>
<p>• Fixed prompts containing invisible characters needing a second Enter to send; plain prompts now send cleaned on the first Enter, and commands still wait for review</p>
<p>• Fixed sub-agents that inherited a parent sub-agent's model moving to the main model when a background job or message woke them</p>
<p>• Fixed a managed autoMode.allow list without "$defaults" getting the built-in exceptions back from a host app's --settings, a first rule added in /permissions, or /auto-mode-setup</p>
<p>• Fixed cloud sessions and cloud scheduled tasks not being marked as failed when auto mode stopped a turn because the server returned no safety verdict</p>
<p>• Fixed claude -p text output sometimes not saying why auto mode stopped a turn when a background agent was still running</p>
<p>• Fixed CLAUDE_CODE_AUTO_MODE_SERVER=1 being ignored in sessions started by a host application (such as Claude Desktop) behind a proxy or LLM gateway with experimental betas turned off</p>
<p>• Fixed plugin MCP headersHelper scripts receiving a corrupted CLAUDE_PLUGIN_ROOT and server URL when a credential-named environment variable was set to a switch value such as 1</p>
<p>• Fixed the SDK register_repo_root control request not loading the CLAUDE.md of a directory outside the working directory (with CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1)</p>
<p>• Fixed the Artifact tool showing ? for artifact database access rules at the self level, and not quoting those rules back when it refuses a republish that would drop them</p>
<p>• Fixed /model &lt;id&gt; not warning when the model isn't recognized by this version and auto-compact will assume a 200K context window</p>
<p>• Fixed the "hold space to speak" hint using up its three showings in one session, and showing an empty key when push-to-talk is unbound</p>
<p>• Fixed Grep and Glob never returning when the search process is killed at the timeout but does not exit, seen on Windows</p>
<p>• Fixed a rare case where resuming a conversation did not restore its plan, when /clear or /resume had been run while part of that conversation was still being saved</p>
<p>• Fixed first-run setup dropping words from the security notes and the terminal-setup explanation in narrow terminals</p>
<p>• Fixed the Enterprise survey card taking a typed 1 or 0 after a short pause; a typed answer now needs Enter</p>
<p>• Self-hosted runner: Fixed a message sent while Claude was working being answered after a Stop, once the session's process had been replaced</p>
<p>• Self-hosted runner: Fixed an MCP server's on/off switch sometimes being lost when a session moved to a new machine</p>
<p>• Windows: Fixed the Bash tool losing your aliases and functions in Git Bash when the rc file sets errexit and pipefail and only winpty aliases, or none, are defined</p>
<p>• Improved /code-review started from the Code tab in Claude Desktop or on the web: cloud and claude remote-control sessions now show the findings card, not a plain-text list</p>
<p>• Improved /diff on large repositories: each refresh usually runs one fewer full-repository git command, and refreshes are spaced out when git is slow</p>
<p>• Improved the messages shown when /ultrareview, a cloud session or a cloud agent finds no GitHub remote: they now say to create a repository at https://github.com/new, and /ultrareview no longer suggests a gh command that gh rejects</p>
<p>• Improved SSL certificate errors to name the likely causes, among them a server that leaves out an intermediate certificate, and the fix for each</p>
<p>• Changed auto mode so that an autoMode.allow list without "$defaults" no longer removes the built-in rule on scheduled-task prompts</p>
<p>• Changed server-managed settings for Team and Enterprise logins: settings fetched from Anthropic's API now apply without an approval prompt, and a stored copy that doesn't verify is refused</p>
<p>• [VSCode] Added sign-in to a Claude apps gateway from the chat panel, with no terminal needed</p>
<p>• [VSCode] Changed ultrathink to run its turn at xhigh effort and show in a rainbow in the chat box, as in the terminal</p>
<p>• [VSCode] Fixed the missing Effort slider, Ultracode switch and model name when the model setting has the [1m] tag, such as opus[1m]</p>
<p>• [VSCode] Fixed saved /btw side-question history being deleted too early while a settings file has errors</p>
<p>• [VSCode] Fixed a conversation coming back in Auto mode after a reload or restart when its plan was approved with "Yes, and manually approve edits"</p>
<p>• [Cloud sessions] Added a form card to cloud sessions, so you can fill in or decline a form an MCP server asks for instead of the request being canceled without you seeing it</p>
<p>• [Cloud sessions] Added a "Catching up…" line that shows while a cloud or Remote Control session you switch back to is still bringing its messages up to date</p>
<p>• [Cloud sessions] Changed network secrets so Enterprise members can add and delete them on their own cloud environments, instead of only viewing them</p>
<p>• [Cloud sessions] Improved the Changes pane for cloud sessions: the note about what the list leaves out is now a badge beside the branch name, not a row above the diff</p>
<p>• [Cloud sessions] Fixed file search in a cloud session's Files pane showing folders as ../.. paths after Claude changed directory; results now show their path from the project's root</p>
<p>• [Claude Tag] Fixed Claude refusing to edit or append to a canvas it made in a Slack channel, from that channel, once the canvas was also shared to another channel or a DM</p>
<p>• [Claude Tag] Fixed untagged replies going unanswered in a Slack Connect thread when both organizations have installed Claude and Slack delivered the reply to the other organization's app</p>
<p>• [Claude Tag] Fixed a cloud scheduled task's live status checklist in Slack staying half-done; a run can now edit the top-level messages it posted during that run</p>
<p>• [Claude Tag] Changed a Slack channel's Respond automatically switch to a "How Claude participates" choice on the channel's Configure page and in Claude Tag admin settings</p>
<p>• [Code Review] Added a findings-by-severity card to the Code Review analytics page, showing the period's total findings, a daily chart stacked by severity, and each severity's count</p></content>
</entry>
<entry>
<id>https://github.com/anthropics/claude-code/releases/tag/v2.1.314</id>
<title>Claude Code v2.1.314</title>
<link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/releases/tag/v2.1.314"/>
<updated>2026-10-30T01:06:00Z</updated>
<content type="html"><p>• Added permissions.blockWritesOutsideWorkingDirectories: Write, Edit and NotebookEdit refuse paths outside the working directories in every permission mode</p>
<p>• Added an optional groups list to Claude apps gateway upstreams: only developers in the listed IdP groups are sent to that upstream, on failover too</p>
<p>• Added guardrail_trace to Claude apps gateway Bedrock upstreams, to log which Amazon Bedrock guardrail filter fired on a request, without the matched text</p>
<p>• Added idle compaction to VS Code and Claude Desktop's Code tab: a 200K+ token conversation left idle is summarized, and the summary is used on your next message if the prompt cache has expired</p>
<p>• Fixed sessions failing turn after turn with "Invalid effort level" when an organization's admin caps a model's effort: Claude Code now lowers the effort, retries, and says which level it uses</p>
<p>• Fixed claude -p exiting with code 0 and no output when startup failed; it now prints the error and exits 1</p>
<p>• Fixed Bedrock sessions with many images failing every turn and /compact with "400 Input is too long." instead of removing older images and compacting</p>
<p>• Fixed Microsoft Foundry sessions failing when the resource has no deployment for the default Sonnet, Opus or Haiku model: Claude Code now falls back to an older model of that family</p>
<p>• Fixed repeated refused requests behind a gateway that doesn't accept tool search's tool_reference blocks: the request is sent again once without tool search, and the session remembers</p>
<p>• Fixed TLS connections failing with UNABLE_TO_GET_ISSUER_CERT when the system certificate store holds a renewed root certificate that is cross-signed with its predecessor</p>
<p>• Fixed MCP servers that also work without sign-in showing "needs authentication" after their stored sign-in stopped working; they are now used signed out</p>
<p>• Fixed claude mcp logout reporting success when the MCP sign-in was not removed, for example while the macOS keychain is locked over SSH</p>
<p>• Fixed extra sign-in renewals when several sessions share an Anthropic profile login and the credentials lock is busy</p>
<p>• Fixed claude ultrareview and claude remote-control asking the workspace trust question in a CI job that has a terminal; with CI set they now refuse an untrusted folder at once</p>
<p>• Fixed an administrator's TLS trust settings in managed settings not being applied in Claude Desktop sessions</p>
<p>• Fixed model switching being refused on machines with managed plugin settings when one of your own --plugin-dir or --plugin-url plugins had a broken manifest or failed to download</p>
<p>• Fixed the Bedrock and Vertex model upgrade offer coming back at every start when managed settings pin the model</p>
<p>• Fixed forceRemoteSettingsRefresh set only in remote managed settings no longer applying once the stored copy had expired, which let sessions start without policy when the server could not be reached</p>
<p>• Fixed "Continue automatically at usage limit" continuing more than three times without a prompt from you when a task restarted itself between waits (a /goal check-in, a background or scheduled task)</p>
<p>• Fixed background and cloud sessions started with Ultracode turning it back on at their next start after it had been switched off</p>
<p>• Fixed the last broken reply and its retry prompts staying in the conversation after Claude gave up on a tool call that could not be parsed</p>
<p>• Fixed a PreCompact hook with very large output making compaction fail or repeat; each hook's output is now cut at 10,000 characters</p>
<p>• Fixed background diff refreshes briefly taking the repository's index lock, which could make a git command run at the same moment fail with "Unable to create '.git/index.lock': File exists"</p>
<p>• Fixed markdown tables jumping between grid and stacked layouts on half-typed rows while streaming, and long tables falling back to raw pipes</p>
<p>• Fixed the /resume picker showing the text of CLAUDE.md or CLAUDE.local.md as a session's title when the session only ran slash commands</p>
<p>• Fixed /btw answering from the main conversation when asked from a subagent's open transcript</p>
<p>• Fixed pasting an image over SSH to a Linux machine doing nothing silently; the prompt now says to copy the file over and paste its path</p>
<p>• Fixed claude remote-control sessions that failed to start when the session service was slow for a moment: the worker's registration is now retried with growing waits</p>
<p>• Fixed model switches over Remote Control that take over 8 seconds getting a "still pending" error instead of the final result</p>
<p>• Fixed the sandbox.excludedCommands setting description saying listed commands always run outside the sandbox; it now says every command in a call must match an entry</p>
<p>• Fixed shell and MCP calls that auto mode, a deny rule or a PreToolUse hook blocked, or that otherwise did not run, reading as if they ran in a collapsed tool group</p>
<p>• Fixed sandbox protections not applying to a worktree entered by claude -p --resume or --continue</p>
<p>• Fixed hooks matching Bash not running on shell commands started by the Monitor tool; such hooks can block or ask, but not approve or rewrite those commands</p>
<p>• Fixed a settings file excluded with --setting-sources still supplying some settings, such as auto mode rules and saved permission consents</p>
<p>• Fixed auto mode reporting a call as blocked, and listing it in /permissions, when its safety check gave no verdict</p>
<p>• Fixed a Claude apps gateway Vertex upstream hanging for minutes when a Google token endpoint accepts the connection and never answers</p>
<p>• Fixed the Claude apps gateway's start-up warning for a deprecated Claude Desktop key that it still serves as written saying "stops being accepted" after the key's end date</p>
<p>• Fixed /upgrade opening the browser and starting a new login for plans billed through the App Store or Google Play; it now says where to change the plan</p>
<p>• Fixed --resume, and rewinding past a switch to another model after a refusal, moving a session on a model name Claude Code doesn't recognize to a different model</p>
<p>• Fixed requests failing when a gateway or cloud provider refuses one of Claude Code's beta headers by name: the request is sent again without it</p>
<p>• Fixed model IDs spelled with a dot behind an LLM gateway, such as claude-opus-4.8, being treated as an older model with the wrong context window, output limit, effort, thinking mode and cost</p>
<p>• Fixed Remote Control clients showing a stray "Compacted (ctrl+o to see full summary)" row after /compact</p>
<p>• Fixed the cloud sessions tip and the Remote Control idle notice showing when an organization's policy turns those features off</p>
<p>• Fixed a resumed claude.ai cloud session making a model call nobody asked for when the previous worker stopped just after receiving a new chat's files</p>
<p>• Fixed WebFetch in Cowork cloud sessions silently dropping a PDF's text past 100,000 characters; it now says how much was unread and where to read on</p>
<p>• Fixed Claude being told only that a command was declined after you stopped it with Esc or Stop in a cloud session or the IDE; it now also hears that the command may have run</p>
<p>• Fixed blank lines at the top of a code block disappearing when the code block opens a quote</p>
<p>• Fixed a blank line appearing above some ⎿ rows in the transcript view (Ctrl+O)</p>
<p>• Fixed vim mode dw, dW, yw and yW carrying on past the end of the line, and made w and W stop on empty lines</p>
<p>• Fixed x and Enter in the agent panel sometimes acting on the wrong agent when another agent started or finished</p>
<p>• Fixed pasted text and dragged-in files being lost in Claude's question dialog unless the "Other" row had focus</p>
<p>• Fixed pasted text being lost when a row in the prompt footer was selected</p>
<p>• Fixed vim mode p over a character selection ignoring whether the yanked text was whole lines</p>
<p>• Fixed vim mode aw and iw taking the line break at the end of a line</p>
<p>• Fixed ↓ selecting footer items hidden by the ? help menu, the command list or a paste hint</p>
<p>• Fixed Esc on a command's panel, such as /btw, also interrupting the subagent whose transcript is open</p>
<p>• Fixed the welcome header in fullscreen mode showing the session's model while viewing a subagent or teammate that runs on a different model</p>
<p>• Fixed the fullscreen transcript being left mid-conversation after "Restore conversation" in the rewind menu while scrolled up</p>
<p>• Fixed a rare case where a deleted session could reappear in the resume list as an almost empty entry</p>
<p>• Fixed prompts containing tags such as &lt;bash-stdout&gt; or &lt;local-command-stdout&gt; not being acknowledged to a local stream-json host</p>
<p>• Fixed sessions staying untitled when the first prompt failed (for example on a usage limit) and the conversation continued afterward</p>
<p>• Fixed the skill file watcher checking every removed skill kept in ~/.claude/skills/.trash, which added file system load that grew with each removal</p>
<p>• Fixed the session name from /rename disappearing while Claude asks for permission or a plan decision, so side-by-side sessions stay identifiable</p>
<p>• Fixed background sessions that fail to start being reported as a deleted daemon binary when the binary is still on disk</p>
<p>• Fixed the tip and idle reminder about push notifications appearing when the push settings in /config are hidden or your organization has turned off Remote Control</p>
<p>• Fixed ~/.claude/skills/.trash and ~/.claude/plugins/.trash growing without limit: each now holds about 1024 entries, whatever cleanupPeriodDays says</p>
<p>• Fixed the Bash edit diff listing a whole file as changed when a CRLF file under git's line-ending conversion was re-saved unchanged or had one line edited</p>
<p>• Self-hosted runner: Fixed an idle session moving to another runner instead of pausing when the runner's request to pause it lost its connection before Anthropic answered</p>
<p>• Improved memory use in long headless and SDK turns that run many subagents: the parent session no longer keeps each subagent's tool results until the turn ends</p>
<p>• Improved prompt history: Ctrl+R now matches text inside collapsed [Pasted text] pills</p>
<p>• Improved the /design-sync upload prompt to show the folder, the project and the files it will upload or delete</p>
<p>• Improved /permissions review tab, now called Recently blocked: the footer says what Esc will do with marked rows</p>
<p>• Improved auto mode's blocked calls: messages name the command, say Claude may retry and auto mode checks again, and point to /permissions to review</p>
<p>• Improved permission prompts: a long reason takes fewer rows, so it pushes the command being approved off the screen on fewer terminals</p>
<p>• Improved the cloud session error shown while a request refused for your claude.ai login is still being retried: it now also suggests claude auth login</p>
<p>• Improved the behavior of stored claude.ai, Team, and Enterprise logins when MDM and remote settings differ on base URL or apiKeyHelper</p>
<p>• Improved /config in agent view to say how to stop agent view opening by default</p>
<p>• Improved session auto-titles: a session that starts with a skill or a prompt-based command such as /security-review now gets a title from it instead of staying untitled</p>
<p>• Improved --resume speed and memory use on damaged transcripts</p>
<p>• Improved /context speed in sessions with ten thousand or more MCP tools</p>
<p>• Self-hosted runner: Improved the error shown when a session's branch isn't on the git remote: it now covers a never-pushed branch, says how to fix each case, and no longer suggests retrying</p>
<p>• Updated the /claude-api skill: its Datadog setup for API tracing now sends the dd-llmobs-enabled: true header, as the Console does, and its ant install instructions drop the outdated macOS xattr step</p>
<p>• Updated the bundled dataviz skill to advise printing y-axis tick labels in full under 10,000, and horizontal ones in full under a million where they fit</p>
<p>• Updated the bundled dataviz skill to answer donut and pie chart requests with ranked bars or a segmented bar that prints its values</p>
<p>• Changed Claude's file tools to ask before editing the local copy of your organization's server-managed settings, as they do for your settings files</p>
<p>• Changed /ultrareview to check workspace trust before it runs git, as claude ultrareview does</p>
<p>• Changed the Bash tool's shell to clear any inherited which alias or function and to stop passing exported which/unsetenv functions to commands, so which is the system command or zsh builtin</p>
<p>• Changed /permissions Recently blocked to refuse approving a call you can't read in full, including one the terminal is too short to show</p>
<p>• Changed auto mode in Cowork cloud sessions: a hook's allow of an MCP tool call now counts as no answer, so the classifier or a permission prompt decides</p>
<p>• Changed hook if conditions such as Monitor(tail *) to match the Monitor tool's shell commands as Bash(tail *) matches Bash's</p>
<p>• Changed the claude-api skill to ask to read a Managed Agents workflow run's workflow before changing the agent to improve that run</p>
<p>• Changed flagged requests to retry on another model, not end in a refusal, when ANTHROPIC_DEFAULT_OPUS_MODEL, availableModels or deniedModels leaves only an older Opus model, or none</p>
<p>• Changed idle compaction to also run for subscribers with telemetry turned off, and on Bedrock, Vertex, Foundry and LLM gateways once the one-hour prompt cache is on</p>
<p>• Changed FORCE_HYPERLINK=false (also no and off) to turn hyperlinks off instead of on</p>
<p>• macOS: Changed git grep in most commands that Claude runs to use the C locale, to avoid a reported memory leak in macOS's regex library on files that aren't valid UTF-8</p>
<p>• [VSCode] Fixed "Clear authentication" for MCP servers reporting success when the saved sign-in could not be removed</p>
<p>• [VSCode] Fixed missing spinner and Stop button while a queued message's hooks run</p>
<p>• [VSCode] Fixed session group changes that cannot be saved, such as a delete, failing silently; an error notification now appears</p>
<p>• [VSCode] Fixed Cmd+F / Ctrl+F not opening the find widget in the plan preview tab</p>
<p>• [VSCode] Fixed the voice dictation shortcut (Ctrl+D) doing nothing under non-Latin keyboard layouts such as Russian, Greek or Hebrew</p>
<p>• [VSCode] Fixed missed one-time saved scheduled tasks being deleted without asking when the extension opened without a chat</p>
<p>• [VSCode] Changed CLAUDE_CODE_DISABLE_CFC_PROMPT to also stop the extension adding the Claude in Chrome instructions to a session's messages; the browser tools stay available</p>
<p>• [Cloud sessions] Added an Include completed button to the Scheduled tasks page when finished one-off tasks are the only ones hidden, so you can show them without opening the Sort menu</p>
<p>• [Cloud sessions] Fixed recently used self-hosted environments never appearing among the recent environments on the new session card</p>
<p>• [Cloud sessions] Fixed cloud sessions reporting uncommitted changes every turn after Claude moved a branch to a commit it had pushed from another worktree</p>
<p>• [Cloud sessions] Fixed the self-hosted environment details dialog in admin settings squeezing its content out of view in very short windows or at high zoom; the dialog now scrolls</p>
<p>• [Cloud sessions] Fixed the permission mode picker staying on Auto after a running cloud or Remote Control session refused the switch; it now shows the mode in use and tells you</p>
<p>• [Cloud sessions] Improved scheduled tasks: runs in Anthropic's cloud now load the plugins enabled on your claude.ai account</p>
<p>• [Cloud sessions] Improved Test connection for GitHub Enterprise in admin settings to also connect the way cloud sessions do, and to warn you when that second test fails</p>
<p>• [Cloud sessions] Improved cloud session transcripts: a rename row now names the new title, and repository and environment lists show as a table instead of one line of JSON</p>
<p>• [Cloud sessions] Changed cloud sessions from the web, desktop and mobile apps to start even when a setup script exits with an error, instead of failing to start</p>
<p>• [Remote Control] Fixed the permission mode button in Remote Control sessions showing the wrong mode until you typed; while your computer is online it now shows the real mode on open</p>
<p>• [Claude Tag] Added a dismissible link to the Claude Tag API docs on the Bundles and Channels tabs in admin settings, for Enterprise organizations with Slack connected</p>
<p>• [Claude Tag] Fixed @Claude !restart giving up after one failed workspace check in channels shared across Enterprise Grid workspaces; it now retries, then asks you to run it again</p>
<p>• [Claude Tag] Fixed a second confirmation DM and channel note when you connect your Claude account from Slack twice from the same link within a few minutes</p>
<p>• [Claude Tag] Fixed follow-up messages in Slack showing no sign of progress while Claude's session waits for a self-hosted runner; Claude now posts a wait notice in the thread</p>
<p>• [Claude Tag] Fixed Claude sometimes not answering a tag in its own thread in Slack Connect channels where both organizations have installed Claude</p>
<p>• [Claude Tag] Fixed Retry on plugin and skill pages in Claude Tag admin settings discarding unsaved access changes after a failed load; your edits now stay in place</p>
<p>• [Claude Tag] Fixed the repositories control in Claude Tag admin settings showing the same action twice; its menu now lists only what the button doesn't already do</p></content>
</entry>
<entry>
<id>https://github.com/anthropics/claude-code/releases/tag/v2.1.312</id>
<title>Claude Code v2.1.312</title>
<link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/releases/tag/v2.1.312"/>
<updated>2026-10-27T20:23:56Z</updated>
<content type="html"><p>• Added oidc.user_id_claim to the Claude apps gateway, to identify people by an id_token claim other than sub, such as Microsoft Entra ID's oid</p>
<p>• Added click to send: in fullscreen, clicking the "to send now" hint under a queued message sends it right away, as its key does</p>
<p>• Fixed managed settings and organization policy not being fetched for the rest of the session after signing in from the VS Code extension</p>
<p>• Fixed Claude overwriting a very large CLAUDE.md, rules file or @-included file in a subdirectory after seeing only its start; Write now asks Claude to read it all or edit in place</p>
<p>• Fixed per-directory and paths: skills not being found after a Bash cd deeper into a git repository</p>
<p>• Fixed a rare case where the first reply after resuming a session in the terminal could be missing the next time the session was resumed</p>
<p>• Fixed a command with an invalid name stopping all commands from loading, which could leave claude -p with no output</p>
<p>• Fixed the Read tool sometimes failing on PDF pages with "pdftoppm failed: Could not write image" when the clean-up of old session files ran at the same time</p>
<p>• Fixed the spinner, OpenTelemetry effort values and transcripts naming a newly picked effort level during a task before the model applied it; they now show the level in force</p>
<p>• Fixed the /model and /effort cache warning saying the re-read waits for your next message; a change made while Claude is working can trigger it sooner</p>
<p>• Fixed some sessions showing as waiting on you when the last message only mentioned items waiting on you mid-sentence</p>
<p>• Fixed agent view restoring input text on the next launch after it was cleared with Ctrl+C just before exiting</p>
<p>• Fixed agent view reopening in shell mode after exiting with Ctrl+D from an empty ! input</p>
<p>• Fixed vim mode d, c and y with a gj or gk count larger than the lines left deleting or copying text; like Vim, they now only move the cursor</p>
<p>• Fixed /verify showing a long description meant for Claude in /help and the / command menu instead of a short one</p>
<p>• Improved the prompt's effort indicator: a change made mid-task now says it may wait for your next message, and the note clears when it no longer applies</p>
<p>• Improved WebFetch errors in cloud sessions: a host that does not resolve is now explained as possibly outside the allowed network domains, so Claude names the host to allow</p>
<p>• Changed Bedrock, Vertex, Foundry and Mantle to use the shorter system prompt for model names Claude Code doesn't recognize, such as custom deployment names and inference profile ARNs, even when they front Sonnet or Haiku; set CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT=0 to keep the full prompt</p>
<p>• Changed automatic model switches after a flagged message to also cover model names Claude Code doesn't recognize, such as custom deployment names; set CLAUDE_CODE_DISABLE_REFUSAL_FALLBACK=1 to turn them off</p>
<p>• Changed usage limit messages to call the 5-hour window the "5-hour limit" instead of the "session limit"</p>
<p>• Changed cloud sessions started from the CLI to get their names and branch names from the server</p>
<p>• Changed prompt and agent hooks to run at most 24 at a time per session, sub-agents included, plus at most 12 that have waited longer than their event's timeout; a timeout under 1 second now counts as 1 second</p>
<p>• Changed a subagent's autoCompactWindow to lower the window set by CLAUDE_CODE_AUTO_COMPACT_WINDOW, where it had no effect before; it still never raises that window</p>
<p>• Changed OpenTelemetry mcp_server.name to report the real name of fixed-URL remote MCP servers declared by plugins from the official Anthropic marketplace, instead of custom</p>
<p>• Changed Claude Code to stop sending the claude_code.safety_event OpenTelemetry event</p>
<p>• [VSCode] Fixed sessions ending on a bare exit code when your organization's settings couldn't be loaded or were refused at startup; the tab now says why and offers Retry or Sign in again</p>
<p>• [VSCode] Changed usage limit resets to show a clock time ("Resets at 3:10 PM") and to say "5-hour limit"</p>
<p>• [Cloud sessions] Added an effort level to the model picker when you create or edit a routine that runs in the cloud</p>
<p>• [Cloud sessions] Added a Bash editor with colors, line numbers and a Copy button to the setup script box in cloud environment settings</p>
<p>• [Cloud sessions] Improved the step shown when Claude adds a repository to a cloud session: opening it now shows a short table of what happened instead of raw JSON</p>
<p>• [Cloud sessions] Fixed resending an unchanged message after a failed send in a cloud session sometimes running it twice</p>
<p>• [Cloud sessions] Fixed a failed cloud environment creation showing its error only as a toast outside the open dialog; it now appears inside the dialog</p>
<p>• [Cloud sessions] Fixed Edit in a routine's menu on the Routines page going to the routine's page without opening its edit dialog</p>
<p>• [Remote Control] Fixed an unarchived Remote Control session showing as working until a computer reconnected; it now shows as idle</p>
<p>• [Claude Tag] Improved Claude Tag's retry notice in Slack to name the model in use, or say rate limits were hit, instead of a generic API error</p>
<p>• [Claude Tag] Fixed a Claude Tag channel's on/off switch and agent settings falling back to workspace defaults when an older private Slack channel goes public and gets a new ID</p>
<p>• [Claude Tag] Fixed Claude in Slack not replying in channels whose environment has network access set to None</p>
<p>• [Claude Tag] Fixed Claude in Slack sometimes posting a file in the wrong thread when it was answering in another thread of the same channel</p>
<p>• [Code Review] Fixed Code Review reviewing an outdated commit, or none at all, when GitHub delivered a push event late; it now reviews the pull request's current commit</p></content>
</entry>
<entry>
<id>https://github.com/anthropics/claude-code/releases/tag/v2.1.311</id>
<title>Claude Code v2.1.311</title>
<link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/releases/tag/v2.1.311"/>
<updated>2026-10-26T21:51:04Z</updated>
<content type="html"><p>• Added --hold-idle-file and --max-hold-min to self-hosted-runner, to keep an idle session while your host reports processes it left running</p>
<p>• Added a tip for the Explanatory output style, shown when you ask Claude for explanations</p>
<p>• Fixed long freezes at startup and after reading or editing files when a CLAUDE.md file holds a very long list item</p>
<p>• Fixed interrupting Claude not taking effect until a timeout while an MCP server had not answered a resource read or a skill was still downloading</p>
<p>• Fixed standard-context sessions stopping with "Usage credits required for 1M context" when a request ran over 200K tokens; Claude Code now compacts the conversation and continues</p>
<p>• Fixed Write and Edit stalling for up to 5 seconds after they ran, and reporting 0 lines changed, when changing thousands of lines in a file</p>
<p>• Fixed subagents being unable to use MCP tools from servers that finish connecting after the subagent starts</p>
<p>• Fixed Claude seeing stale MEMORY.md and CLAUDE.md content right after automatic compaction when those files were edited earlier in the session</p>
<p>• Fixed claude -p and SDK sessions saving transcript messages out of order or keeping messages that were taken back</p>
<p>• Fixed SubagentStop hooks running about twice a minute for each running subagent instead of once when it finishes</p>
<p>• Fixed the @ file picker ignoring .ignore/.rgignore negation rules that re-include git-ignored files</p>
<p>• Fixed a subagent's isolated worktree being removed while a background subagent it started was still working in it</p>
<p>• Fixed background agents in auto mode that wait on their own shells starting a new main conversation turn on every wake</p>
<p>• Fixed the Bash tool description claiming the working directory always persists between calls</p>
<p>• Fixed the environment block naming a shell commands don't run in, such as fish when the Bash tool uses zsh</p>
<p>• Fixed claude mcp add, claude mcp remove and /mcp naming the current folder instead of the project entry in ~/.claude.json that holds a local-scope server when run below a repository root</p>
<p>• Fixed claude mcp list and claude mcp get showing the error code twice on failed-connection lines (for example ENOENT: ENOENT: …)</p>
<p>• Fixed Remote Control sessions staying on "Connecting" for about two minutes when a network proxy blocks a startup request</p>
<p>• Fixed messages that Claude sends to a cloud or Remote Control session appearing as your own message in the Claude mobile apps</p>
<p>• Fixed Claude not being told the cause when a file attached to a message sent over Remote Control or to a cloud session could not be saved because the disk was full, or that a message's attachments past the first 20 were left out</p>
<p>• Fixed WebFetch and WebSearch hanging on a stalled response in Cowork cloud sessions; an unfinished request now fails after 300 seconds</p>
<p>• Fixed a background session that crashed between turns not being restarted while it was attached, pinned, or had a scheduled task or wake-up set</p>
<p>• Fixed the "background service did not respond" error suggesting the disabled claude daemon restart; it now suggests claude daemon stop --any and says it ends background sessions</p>
<p>• Fixed claude respawn &lt;id&gt; starting the background service before reporting that no background session matches the id</p>
<p>• Fixed /effort not warning about a prompt cache miss in plan mode when the plan model differs from the session model</p>
<p>• Fixed /ide saying the VS Code extension was installed before the install finished or when it failed</p>
<p>• Fixed the Write tool's file preview skipping rows and miscounting hidden lines when a line is wider than the terminal</p>
<p>• Fixed ↑ in an agent's chat tab recalling a message that was still waiting to be delivered, so resending it sent a second copy</p>
<p>• Fixed Cowork cloud sessions losing their connectors and most tools after a restart when a plugin or your settings named an agent; Cowork cloud sessions now ignore that setting</p>
<p>• Fixed agent teams sessions showing an empty task list when coming back with --resume, --continue, /resume or --session-id, including after /clear or a crash, and /branch writing to the original session's list</p>
<p>• Fixed pasting text that mentions an image file, such as ! open /tmp/shot.png or /review look at /tmp/shot.png, attaching the image and dropping its path from the prompt</p>
<p>• Fixed the feedback draft card showing its 1/2/0 and Esc shortcuts while the prompt has text, when those keys act on the prompt instead of the card</p>
<p>• Fixed a lone backslash in quotes or brackets, like "\" or (\), disappearing from Claude's responses</p>
<p>• Fixed agent teammates compacting their history when DISABLE_COMPACT is set</p>
<p>• Fixed the rewind menu offering "Summarize from here" and "Summarize up to here" when DISABLE_COMPACT is set</p>
<p>• Fixed a finished /code-review, or another skill that runs in a sub-agent, running a second time when a cloud or background session restarts</p>
<p>• Fixed long hidden thinking being cut off as idle on Google Vertex AI, Microsoft Foundry and Claude Platform on AWS, where the endpoint sends thinking progress updates</p>
<p>• Fixed /ide saying it had installed the JetBrains plugin when nothing was installed</p>
<p>• Fixed Claude Pro and Max subscribers being told to ask their admin when their subscription can't be used; the message now points to billing settings</p>
<p>• Fixed the diff pane opening by itself after an edit in wide fullscreen terminals when it had nothing to show</p>
<p>• Fixed /mcp showing a remote server as failed after "Clear authentication" when the server works without sign-in</p>
<p>• Fixed /mcp showing "authenticated" for a remote server that Claude Code sends no credentials to</p>
<p>• Fixed a --plugin-dir folder of plugins loading as one plugin when an empty .mcp.json was at its top</p>
<p>• Fixed /usage never showing large prompt-cache misses under "What's contributing to your limits usage?"</p>
<p>• Fixed status line links staying plain text in background sessions after you open them from a terminal that supports links</p>
<p>• Fixed the /rewind confirmation saying the conversation "will be forked" when the later messages are removed from the conversation</p>
<p>• Fixed the /rewind warning that wrongly said manual and Bash edits are never affected by a code restore</p>
<p>• Fixed plan approval in screen reader mode sending feedback you had dismissed with Escape</p>
<p>• Fixed Claude Code retrying requests the API marked not to retry, which could hold a turn for minutes or, in unattended retry mode (CLAUDE_CODE_RETRY_WATCHDOG), indefinitely</p>
<p>• Linux: Fixed sandboxed Bash commands failing with bwrap: Can't create file when a --plugin-dir folder was also an added directory and permissions.blockReadsOutsideWorkingDirectories was on</p>
<p>• Self-hosted runner: Fixed a session failing to start when a rate limit (HTTP 429, or a git wrapper that exits 75) blocks an added read-only repository; it now starts without that repository</p>
<p>• Improved startup time for Pro and Max accounts by skipping two network requests on launches within an hour of the last check</p>
<p>• Improved /teleport and claude --teleport to warn when a compacted cloud session loads from its last compaction, so the messages it summarized aren't in the local copy</p>
<p>• Improved the messages shown when a background session's process exits: they no longer promise a restart that isn't coming, and they say how to resume the session</p>
<p>• Improved artifacts with several views: Claude now routes each view on the link's #name and no longer says the address bar stays the same as you switch views</p>
<p>• Improved shell commands that reach their timeout: the result now shows the output so far and says the command is still running in the background</p>
<p>• Improved compaction: when the model's reply has no summary in it, Claude Code now usually asks for the summary once more before it replaces the conversation</p>
<p>• Improved the Artifact tool's choice between a page and a document: explainers and visual or interactive work become artifact pages; documents are for writing people keep editing or pass around</p>
<p>• Improved startup time for launches whose only arguments are options and their values, such as claude --model opus</p>
<p>• Improved the "Connection dropped" API error: it now says where to look first (the proxy or gateway in use, else VPN or firewall; Anthropic API only, Bedrock, Vertex and Foundry are unchanged)</p>
<p>• Improved screen reader mode: deleting a rule in /permissions says "Deleted allow rule …" right away</p>
<p>• Improved the message shown when a pasted sign-in code is refused: it now says the code may have expired or been used, and to sign in again</p>
<p>• Improved Slack connector sends: Claude now checks a channel's topic for posting rules before messaging a channel you didn't name</p>
<p>• Improved screen reader mode: Claude's questions are listed as "Questions: Color (answered), Pages", without arrows or symbols</p>
<p>• Changed ultrathink in the interactive terminal to run its turn at xhigh effort on Opus 5.5, Sonnet 5.5, Haiku 5.5 and Fable 5.1 through Anthropic's API; typed while Claude is working, it raises the rest of that turn</p>
<p>• Changed the ultrathink rainbow to appear only where the keyword can raise effort, and not when the word is quoted or part of a file path</p>
<p>• Changed Ctrl+D in agent view to match the prompt: on an empty input, pressing it twice exits</p>
<p>• Changed --output-format json and stream-json output to write DEL, C1 control and Unicode format characters inside strings as \uXXXX escapes; parsed values are unchanged</p>
<p>• Changed model names and IDs to drop the [1m] suffix and its label on models where the suffix has no effect; the suffix is still accepted</p>
<p>• Changed startup warnings about permission rules in settings files to show once per user until the rule changes</p>
<p>• Changed /code-review to tell Claude to put the effort level first and use max only when asked</p>
<p>• Changed DISABLE_COMPACT in settings files and in a mod's $.env.set so they can only turn compaction off, not back on</p>
<p>• Changed Claude Code on Bedrock, Mantle, Vertex, and Foundry to load model settings from a signed file on downloads.claude.ai; set CLAUDE_CODE_MODEL_CATALOG=off to turn this off</p>
<p>• Changed sessions that set CLAUDE_CODE_SYNC_SKILLS with feature-flag fetching off to reuse a claude.ai skills list up to 10 minutes old that another session on the machine fetched</p>
<p>• Changed clicks on scrollbar arrows and bars in fullscreen lists to act when the mouse button is released, so moving off the scrollbar before letting go cancels the click</p>
<p>• Changed claude purge to say it deletes data only on this computer, not anything stored by Anthropic</p>
<p>• [VSCode] Added syntax coloring to code blocks in Claude's replies, in light, dark and high contrast dark themes</p>
<p>• [VSCode] Added a "Running UserPromptSubmit hooks" spinner status and screen reader announcement for slow UserPromptSubmit hooks</p>
<p>• [VSCode] Fixed custom skills and custom slash commands sent from the VS Code or JetBrains panel leaving out the open file or selected lines that ordinary messages include (anthropics/claude-code#102799)</p>
<p>• [VSCode] Fixed the extension host freezing while the login shell ran its start-up files to read PATH on macOS and Linux</p>
<p>• [VSCode] Fixed clicking an image in a tool result, or closing its preview, also opening the result's text in an editor tab</p>
<p>• [VSCode] Fixed voice dictation continuing to record after a message was sent with the Send button; sending now stops dictation first, as pressing Enter already did</p>
<p>• [VSCode] Changed the extension to start Claude Code sessions with DISABLE_TELEMETRY set while VS Code's telemetry setting is off, so they send no usage metrics or error reports and fetch no feature flags</p>
<p>• [VSCode] Changed the session list side bar to load Web sessions when the Web tab is first opened, not at startup</p>
<p>• [Cloud sessions] Fixed routines in Anthropic-hosted environments staying locked after their owner left the organization and rejoined; the owner can now turn them back on</p>
<p>• [Cloud sessions] Fixed a failed routine API token delete or regenerate showing nothing if the edit dialog had already closed; it now shows an error toast</p>
<p>• [Cloud sessions] Fixed cloud environment dialogs, including the admin dialog, accepting duplicate names; they now refuse a name another listed environment already has</p>
<p>• [Claude Tag] Added a Skills view to Claude Tag analytics showing how often Claude runs each attached skill in Slack channels and which go unused, with Usage links in admin settings</p>
<p>• [Claude Tag] Improved Claude Tag routines that run in a new session: a run with nothing to report can now end without posting a throwaway message to the channel</p>
<p>• [Claude Tag] Changed Claude Tag admin settings to show a lock instead of # for private Slack channels that your own Slack account can see</p>
<p>• [Code Review] Improved Code Review's check run to say no further automatic review will start when the model still can't analyze a change on the automatic retry</p>
<p>• [Code Review] Improved Code Review reliability: a review whose session fails to start because of a transient server fault is now retried once automatically, and its check run says so</p></content>
</entry>
<entry>
<id>https://github.com/anthropics/claude-code/releases/tag/v2.1.310</id>
<title>Claude Code v2.1.310</title>
<link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/releases/tag/v2.1.310"/>
<updated>2026-10-23T23:38:43Z</updated>
<content type="html"><p>• Added the Monitor tool and plugin monitors on Bedrock, Vertex, and Foundry, and when telemetry or nonessential traffic is disabled; long foreground sleeps are now blocked there too</p>
<p>• Fixed requests failing behind some gateways and compatible servers that reject the effort-2025-11-24 beta value or mid-conversation system messages; Claude Code now retries without them</p>
<p>• Fixed background cleanup deleting some recent files, such as pasted images, when cleanupPeriodDays is set to a very large value</p>
<p>• Fixed compaction after a "Prompt is too long" error keeping too much of a conversation with dense text, such as base64 or SVG, so the next request could fail again</p>
<p>• Fixed file read permission prompts not showing where a symbolic link leads</p>
<p>• Fixed a question's auto-continue timeout firing the moment the external editor closed after a long edit</p>
<p>• Windows: Fixed PreToolUse and PermissionRequest hooks letting a tool call through when Git Bash is missing and the hook's command is only quoted strings, such as a quoted path</p>
<p>• Improved auto mode's prompt before the first read outside the working directories: it now says when blocking those reads makes shell commands ask for permission</p>
<p>• Improved memory use of non-interactive sessions (-p, Agent SDK) during compaction when the transcript file is very large</p>
<p>• Improved a mod's Image to draw inside tmux with allow-passthrough and focus-events on, in kitty, Ghostty, and iTerm2 3.5+ with fullscreen rendering, where it showed only its alt text</p>
<p>• Linux: Improved /sandbox and the sandbox startup warning to name Ubuntu's AppArmor restriction on user namespaces, and how to lift it, when it keeps bubblewrap from starting the sandbox</p>
<p>• Changed the error for an MCP tool call that times out in a non-interactive session while the server's elicitation is unanswered: it now tells Claude that no answer came and not to repeat the call</p>
<p>• [VSCode] Fixed pressing Enter on the plan review card's "Send feedback and keep planning" button approving the plan instead of sending your comments back</p>
<p>• [VSCode] Fixed the panel showing "Something went wrong" after "Switch branch &amp; continue" on a cloud session opened from Session history's Web tab</p>
<p>• [Cloud sessions] Added Claude Code cloud sessions and Remote Control permissions to Enterprise custom roles, so Owners can control access to each by role</p>
<p>• [Cloud sessions] Added a Choose file button to load a cloud environment's setup script from a file</p>
<p>• [Cloud sessions] Fixed failed saves and archives in the cloud environment edit dialog showing no error inside the dialog</p>
<p>• [Cloud sessions] Fixed failed routine API token actions showing only a toast; the error now appears in the routine edit dialog</p>
<p>• [Cloud sessions] Improved the session start checklist to show a cloud environment's setup script output in a scrolling box</p>
<p>• [Cloud sessions] Changed turning on Cloud sessions or Remote Control in admin settings to ask for confirmation and list the custom roles that have that permission</p>
<p>• [Cloud sessions] Changed the cloud environment dialog to open network access, setup script and environment variables from rows instead of listing every editor at once</p>
<p>• [Claude Tag] Fixed Claude Tag treating ! commands such as !restart and !help as ordinary messages when sent in bold, italic or strikethrough</p>
<p>• [Claude Tag] Fixed Claude Tag admin channel and workspace pages being replaced by a load error when a background refresh of the bundle list fails</p>
<p>• [Claude Tag] Fixed Claude Tag's spend limits page in admin settings reporting that no channels match a filter while channel names are still loading</p>
<p>• [Code Review] Fixed the Code Review admin section hiding its repositories and switches after a failed refresh of the repository list</p>
<p>• [Code Review] Improved the Code Review admin section to retry the first load and show one Try again banner when it still fails</p></content>
</entry>
<entry>
<id>https://github.com/anthropics/claude-code/releases/tag/v2.1.309</id>
<title>Claude Code v2.1.309</title>
<link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/releases/tag/v2.1.309"/>
<updated>2026-10-22T22:18:33Z</updated>
<content type="html"><p>• Fixed sandboxed Bash commands on macOS and Linux running the shell's startup files outside the sandbox before each command</p>
<p>• Fixed macOS sandbox denyWrite glob patterns not applying at a path's real location when the pattern's folder is reached through a symlink</p>
<p>• Fixed sandboxed commands and auto-accepted edits being able to modify the MCP config file passed with --mcp-config</p>
<p>• Fixed a disabled MCP server being reconnected by a later permission prompt in print and SDK sessions</p>
<p>• Fixed the Bash permission check trusting a variable set by a command whose redirect can fail to open</p>
<p>• Fixed Bash permission checks not prompting for some compound commands that change directory before running git when the cd is wrapped or prefixed, as they do for a plain cd</p>
<p>• Fixed an Edit(path) deny rule not blocking a Bash redirect to that path in some commands that also held a subshell</p>
<p>• Fixed worktree-isolated sessions accepting some locale-prefixed commands the isolation guard should refuse</p>
<p>• Fixed worktree-isolated sessions on zsh accepting some arithmetic commands that the isolation guard should refuse</p>
<p>• Fixed worktrees and branch checkouts that Claude Code creates so they ignore git replace refs, as its other git operations already do</p>
<p>• Fixed profile store write protection not applying when the config directory is reached through a symlink</p>
<p>• Fixed sessions compacting repeatedly after reading files under a very large nested CLAUDE.md; a nested CLAUDE.md over the size limit now loads only its start</p>
<p>• Fixed ctrl+enter (send now) only queuing a message when pressed before the response had started, and restarting a prompt's hooks while leaving the message queued when pressed while those hooks were running</p>
<p>• Fixed key-bound slash commands running in the shell from ! mode</p>
<p>• Fixed ctrl+o not showing messages from other agents and sessions that are still waiting to be delivered; they now appear in full under the transcript, marked as waiting</p>
<p>• Fixed long tool output previews being cut through an emoji, leaving session transcripts that jq could not parse</p>
<p>• Fixed Read reporting "File does not exist" for PDF page ranges in Linux sandboxes that share the parent's /proc</p>
<p>• Fixed messages from a Claude Desktop-hosted session sometimes being lost when its connection refreshed</p>
<p>• Fixed features missing from Claude Code sessions in the Claude desktop app when the terminal on the same computer was signed in to a different account or organization</p>
<p>• Fixed the claude remote-control status line showing HEAD as the branch for a folder that is not in a git repository</p>
<p>• Fixed split-pane agent teammates not inheriting the tool deny and --tools rules given on the leader's command line</p>
<p>• Fixed sessions renamed with /rename appearing to other sessions under a generated name after a VS Code window reload or a non-interactive --resume</p>
<p>• Fixed the /rewind list showing "No code changes" for a turn that changed checkpointed files through /code-review --fix, a subagent or a shell command</p>
<p>• Fixed /privacy-settings showing an out-of-date "Help improve our AI models" value; it now also says when the setting can't be fetched</p>
<p>• Fixed feedback saying "try again later" when your organization does not accept feedback; it now shows the server's reason and where to report a bug</p>
<p>• Fixed oversized /feedback reports failing instead of being resent without the transcript</p>
<p>• Fixed a skill in an --add-dir folder being unreachable when another skill already held its name; it is now offered as &lt;folder&gt;:&lt;name&gt;</p>
<p>• Fixed /verify and /code-review not finding a nested package's own skill when its files were changed from the shell</p>
<p>• Fixed the /claude-api skill saying that ant beta:worker poll --on-work passes trace context to the command</p>
<p>• Fixed the /claude-api skill's C# tracing setup missing spans from the cloud platform clients</p>
<p>• Fixed the /claude-api skill saying that API spans for requests to Claude Platform on AWS can't join the caller's trace</p>
<p>• Fixed hooks that run in PowerShell not blocking when the hook's program exits with code 2, and on Windows PreToolUse and PermissionRequest hooks with "shell": "powershell" failing open when Git for Windows isn't installed</p>
<p>• Fixed a mod's turn.step hook that names a model by alias, such as haiku, failing every request with a model error: the alias now resolves to its model</p>
<p>• Fixed plugins and skills synced from claude.ai being removed, sometimes mid-session, after a disk read error</p>
<p>• Fixed artifact publishes and updates being refused for some ordinary pages, such as pages with certain minified scripts or artifacts Claude could not read first</p>
<p>• Fixed Claude asking for permission on each artifact update for the rest of a turn after the conversation was compacted in that turn</p>
<p>• Fixed fine-grained tool streaming staying off on Amazon Bedrock when ANTHROPIC_BEDROCK_BASE_URL is set to the default bedrock-runtime.&lt;region&gt;.amazonaws.com endpoint</p>
<p>• Fixed the "Waiting for API response" hint flickering behind gateways that send only keepalive pings: routes off Anthropic's backend now wait 45 seconds</p>
<p>• Fixed Claude notifying unrelated GitHub users by writing role names and placeholders as mentions in PRs, issues and comments</p>
<p>• Linux: Fixed sandbox write denies lifting when a background command outlived the session</p>
<p>• Windows: Fixed PowerShell permission checks auto-approving some Set-Location or cd commands that target the current directory and carry extra arguments; these now prompt for approval</p>
<p>• macOS: Fixed the "Install Command Line Developer Tools" dialog opening each time Claude Code starts on a Mac without Xcode or the Command Line Tools</p>
<p>• Self-hosted runner: Fixed --startup-timeout-min stopping a session whose first prompt, such as /code-review, was still working in a subagent; a frozen process is still stopped</p>
<p>• Improved the speed of many git commands Claude Code runs for itself on Windows; on every platform, errors from those commands now show in English even when git is set to another language</p>
<p>• Improved the error when a hooks module is nested too deep to load: it now names the file instead of showing a bare stack-overflow message</p>
<p>• Improved disk-full handling: a Bash command cut off by a full disk now says so and names the folder to free up, and starting on a full temp volume prints a clear message, not a raw ENOSPC error</p>
<p>• Improved the /claude-api skill to offer API tracing alongside SDK tracing when asked to add OpenTelemetry</p>
<p>• Improved the /claude-api skill to check the live docs before saying a feature is unsupported</p>
<p>• Self-hosted runner: Improved sessions that move to a new runner: Claude now sees the tool call that was interrupted, marked as outcome unknown</p>
<p>• Updated the bundled dataviz skill to accept APCA as a text-contrast measure (keeping WCAG 2 ratios where AA conformance is required), add an apca(text, background) function to its palette validator scripts, and say whether a label inside a colored chart fill should be white or near-black</p>
<p>• Updated the /claude-api skill: service account keys and Workload Identity Federation tokens can now manage OpenTelemetry destinations</p>
<p>• Changed sed -i to get the standard Bash prompt and run as written, not a simulated file-edit preview; like other Bash edits, it is no longer restored by /rewind</p>
<p>• Changed claude ultrareview to require workspace trust: it asks on a terminal, else refuses; scripts pass --trust-workspace, which takes no value (put a PR number or base branch before it), or set CLAUDE_CODE_DISABLE_ULTRAREVIEW_TRUST_CHECK=1</p>
<p>• Changed the dangerous rm and rmdir prompt in bypass permissions mode in the Desktop app and VS Code to deny the command at once with a rewrite hint, so unattended sessions keep going</p>
<p>• Changed commands the settings exclude from the sandbox to ask before writing to its write-list paths while the sandbox is enabled but cannot run; the unsandboxed fallback is refused there</p>
<p>• Changed worktree creation and reuse so git no longer fetches objects on demand, in ordinary clones and in partial clones with a Bash sandbox configured; such a partial clone fetches them first</p>
<p>• Changed the /claude-api skill to build Managed Agents subagent teams on multiagent_20261001 with dynamic workflows on by default, instead of coordinator</p>
<p>• [VSCode] Added a log warning that says what to do when dictation or the extension's own requests fail certificate verification, such as behind a TLS-inspecting proxy</p>
<p>• [VSCode] Fixed the Claude panel staying blank after the editor cached an incomplete copy of its files; it now recovers by itself, or says what went wrong and how to fix it</p>
<p>• [VSCode] Fixed Session history filling up with empty "Untitled" sessions each time you start a new session without sending a message</p>
<p>• [VSCode] Fixed long slash-command messages such as /goal filling the chat panel; they now fold behind Show more like other prompts (anthropics/claude-code#97469)</p>
<p>• [VSCode] Fixed long messages not folding behind Show more after the chat panel is made narrower</p>
<p>• [VSCode] Fixed Ctrl+J in the chat input always inserting a newline: it is now left to VS Code and the OS when "ctrl+j" is set to null in the Chat context of ~/.claude/keybindings.json</p>
<p>• [VSCode] Fixed a mod's "From the … plugin" label above the prompt being drawn over the slash command and @-mention menus (anthropics/claude-code#102981)</p>
<p>• [VSCode] Fixed an empty list item, paragraph or code block, and list items renumbered from 1, when pasting copied LaTeX math</p>
<p>• [VSCode] Fixed the feedback error showing only an HTTP status when your organization does not accept feedback</p>
<p>• [VSCode] Improved Edit and Write speed in the chat panel: the wait for new problems after each edit is now 0.75 seconds in most cases, down from 1 to 1.5 seconds</p>
<p>• [Cloud sessions] Fixed the Add connector list in routine forms saying no connectors were available while they were still loading</p>
<p>• [Cloud sessions] Fixed the cloud environment editor shuffling environment variables and adding backslashes to values that contain both kinds of quote</p>
<p>• [Cloud sessions] Fixed the self-hosted environment details dialog in admin settings so its title, tabs and buttons stay in view while only the content scrolls</p>
<p>• [Cloud sessions] Fixed the "read documentation" tool row in cloud sessions, which showed escaped JSON instead of a readable page</p>
<p>• [Cloud sessions] Improved a cloud session's Changes pane, which now says when it lists only pushed commits or only Claude's edits</p>
<p>• [Claude Tag] Fixed Claude in Slack posting a draft you approved for a channel into your DM by mistake; a post with no channel is now refused so it can go to the approved channel</p>
<p>• [Claude Tag] Fixed Allow and Deny on Claude's approval cards in Slack doing nothing when the session had stopped; your answer now restarts the session</p>
<p>• [Claude Tag] Fixed Claude ignoring untagged messages in a Slack channel after its workspace moved to a different Claude organization, including unshared channels on Enterprise Grid</p>
<p>• [Claude Tag] Fixed Claude in a Slack channel posting a threaded reply before reading a newer message someone had just added to that thread</p>
<p>• [Claude Tag] Fixed the Slack page in Claude Tag admin settings saying no workspaces were connected when the list failed to load; it now shows an error with a Retry button</p>
<p>• [Code Review] Fixed a finished review showing no check on the pull request when earlier tries to create it failed; a final try now adds a completed check</p>
<p>• [Code Review] Fixed a push queued behind a running review still starting a review after @claude review stop; its check now closes and says why</p></content>
</entry>
<entry>
<id>https://github.com/anthropics/claude-code/releases/tag/v2.1.308</id>
<title>Claude Code v2.1.308</title>
<link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/releases/tag/v2.1.308"/>
<updated>2026-10-22T04:34:32Z</updated>
<content type="html"><p>• Bug fixes and reliability improvements</p></content>
</entry>
<entry>
<id>https://github.com/anthropics/claude-code/releases/tag/v2.1.307</id>
<title>Claude Code v2.1.307</title>
<link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/releases/tag/v2.1.307"/>
<updated>2026-10-21T22:16:38Z</updated>
<content type="html"><p>• Added /claude-api api-version to move Claude API code to API version 2026-10-21</p>
<p>• Added the claude_code.safety_event OpenTelemetry event for each tool call a permission rule, auto mode, a safety check, a hook or the sandbox stopped, prompted or sent back</p>
<p>• Fixed requests failing with a model-not-found error when CLAUDE_CODE_DISABLE_1M_CONTEXT is set and the model is an alias with the [1m] suffix, such as opus[1m]</p>
<p>• Fixed the prompt-caching-scope beta header being sent behind custom ANTHROPIC_BASE_URL gateways and on Foundry, where it has no effect</p>
<p>• Fixed MCP servers showing "needs authentication" in claude -p on macOS while the login keychain was locked; they now say why, and the next run after an unlock connects without a new sign-in</p>
<p>• Fixed MCP servers being reported as timed out, and staying failed in headless runs, when a macOS or Linux computer went to sleep while they were connecting</p>
<p>• Fixed HTTP MCP tool calls being sent twice when the connection closed mid-call; only read-only or idempotent tools are now retried</p>
<p>• Fixed a turn sometimes starting without an SDK MCP server's latest tools when a background task was running</p>
<p>• Fixed some "Autocompact is thrashing" errors in turns that read many PDF pages, images or other large tool results</p>
<p>• Fixed /autocompact in cloud sessions going back to the default window after the session restarted</p>
<p>• Fixed a conversation cleared with /clear sometimes coming back when a cloud or self-hosted runner session restarted</p>
<p>• Fixed CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS being ignored in Claude apps gateway sessions</p>
<p>• Fixed telemetry from Claude Desktop sessions behind a Claude apps gateway being rejected when OTEL_EXPORTER_OTLP_HEADERS is set</p>
<p>• Fixed /permissions &gt; Recently denied not showing the denied shell command, and auto mode's local classifier ignoring an approval from there when it checks a retried command; approving a row now names the command, not its description</p>
<p>• Fixed /help and the / command menu showing long model-facing descriptions for bundled skills such as /claude-api instead of their short descriptions</p>
<p>• Fixed subagent transcripts recording placeholder token usage and an empty stop reason for streamed responses</p>
<p>• Fixed model switches through the Agent SDK's setModel(), and apps built on it, being refused when the API took more than 5 seconds to confirm the model; Claude Code now waits up to 15 seconds</p>
<p>• Fixed a background command stopped through a connected app (such as the desktop app archiving an idle session) being reported to Claude as stopped by the user; the notice now names its output file</p>
<p>• Fixed WebFetch in Cowork cloud sessions reporting a tool error when a site answered with a 4xx status or a robots.txt refusal; it is now a normal result, as in local sessions</p>
<p>• Fixed write tools on a directly configured GitHub MCP server showing a form that closed without creating anything in the desktop app's Code tab</p>
<p>• Fixed Artifact tool reads failing with a connection reset when the server had closed a reused connection</p>
<p>• Self-hosted runner: Fixed sessions with --use-anthropic-git-proxy committing a .claude/settings.local.json left in the clone by an earlier session</p>
<p>• Self-hosted runner: Fixed archiving or requeueing a session, or stopping the runner, during its checkout hook leaving the hook's processes running and the runner's slot held</p>
<p>• Improved recovery from unparseable tool calls: Claude Code now retries the call up to twice before ending the turn with an error</p>
<p>• Improved fork subagents launched together: each is now told which launch is its own, so forks are much less likely to try to start each other's work</p>
<p>• Improved browser sign-in: the success page now appears as soon as sign-in completes, without waiting for your account profile to load</p>
<p>• Improved web search errors in cloud and self-hosted runner sessions: a search refused with a 403 that gives a reason now shows that reason instead of a generic "Authentication error"</p>
<p>• Improved the time to the first reply in cloud sessions when one of the desktop app's MCP servers can't connect</p>
<p>• Improved Remote Control connect time for sessions whose transcript contains large pasted images or PDF reads</p>
<p>• Changed the notice Claude gets when the WebSearch budget is used up to also tell it not to query search engines in a browser or through computer use</p>
<p>• Changed the axScreenReader setting and CLAUDE_AX_SCREEN_READER in a settings env block to apply only from user, managed or --settings settings (since 2.1.305)</p>
<p>• Self-hosted runner: Changed checkout hooks to be stopped after 30 minutes by default, failing the session's setup; if yours needs longer, raise --checkout-hook-timeout-min or set it to 0</p>
<p>• Self-hosted runner: Changed the certificate file built for Anthropic-managed git to filter its trusted certificates as the CLI does; a [runner:warn] line gives the number left out</p>
<p>• [VSCode] Added a notice on the microphone button when voice dictation stops by itself (15 seconds without recognized speech, or the 2-minute limit), saying why and that the text so far is kept</p>
<p>• [VSCode] Fixed a long prompt expanded with Show more covering the whole chat panel: a pinned prompt is now capped at 40% of the panel and scrolls</p>
<p>• [VSCode] Fixed part of a list item or table cell with LaTeX math pasting as a new list or table in rich text editors</p>
<p>• [VSCode] Fixed dictation failing behind a TLS-inspecting proxy when NODE_EXTRA_CA_CERTS is set only in ~/.claude/settings.json; it now also follows CLAUDE_CODE_CERT_STORE</p>
<p>• [VSCode] Changed the "still open somewhere else" notice to also cover a Claude process left over from an extension restart, which usually ends on its own within about 10 minutes</p>
<p>• [VSCode] Changed voice dictation to filter its trusted certificates as the CLI does</p>
<p>• [VSCode] Changed the extension's own requests to filter their trusted certificates as the CLI does, and to trust the NODE_EXTRA_CA_CERTS file named in the environment or in user settings</p>
<p>• [Cloud sessions] Fixed the repository picker saying "No repositories match" while a search was still running; it now shows "Searching…" until the results arrive</p>
<p>• [Cloud sessions] Fixed the "Waiting for a runner" status on self-hosted environments being cut off; with on-demand runners it now counts up from your last message and shows failed attempts</p>
<p>• [Code Review] Added @claude review stop (also off and pause) to Code Review, ending an @claude review always subscription on a pull request without starting a new review</p></content>
</entry>
<entry>
<id>https://github.com/anthropics/claude-code/releases/tag/v2.1.306</id>
<title>Claude Code v2.1.306</title>
<link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/releases/tag/v2.1.306"/>
<updated>2026-10-21T03:16:13Z</updated>
<content type="html"><p>• Fixed claude -p inside cloud sessions reporting "Not logged in" when started without the session's environment variables</p>
<p>• Fixed an API error being replaced by "prompt is too long", and an unneeded compaction, in sessions with many MCP tools</p></content>
</entry>
<entry>
<id>https://github.com/anthropics/claude-code/releases/tag/v2.1.305</id>
<title>Claude Code v2.1.305</title>
<link rel="alternate" type="text/html" href="https://github.com/anthropics/claude-code/releases/tag/v2.1.305"/>
<updated>2026-10-20T20:46:27Z</updated>
<content type="html"><p>• Added sandbox.allowNestedUserNamespaces so sandboxed commands on Linux can create user namespaces (Chromium, rootless podman); this lets them get around the sandbox's file protections</p>
<p>• Added CLAUDE_CODE_RETRY_WATCHDOG_USAGE_LIMIT_RECHECK_MS so unattended retry mode (CLAUDE_CODE_RETRY_WATCHDOG) notices a usage limit that was lifted before its reset</p>
<p>• Fixed every request failing on Vertex, Bedrock and other providers when the endpoint or a gateway rejects tool search, and behind gateways with ToolSearch disallowed or left out of --tools (a 2.1.304 regression): Claude Code now retries without it</p>
<p>• Fixed /effort and /autocompact settings not applying when the model name differed from a modelOverrides value by letter case or a [1m] tag</p>
<p>• Fixed new worktrees in a bare repository sometimes starting from local HEAD instead of the default branch, and unchanged subagent worktrees sometimes not being cleaned up</p>
<p>• Fixed Bash commands on a full disk failing with a raw ENOSPC file path: the error now says the disk is full and that nothing ran</p>
<p>• Fixed an MCP server passed by a cloud session or by the SDK's setMcpServers being replaced later in the session by a same-named server from your own settings</p>
<p>• Fixed Claude naming the wrong model for a subagent's work after the subagent switched to a fallback model</p>
<p>• Fixed cloud sessions and teammates not telling Claude when a compaction had to leave the oldest messages out of its summary to fit</p>
<p>• Fixed more cases of scheduled Cowork cloud sessions waiting five minutes for each subagent whose WebFetch needed a URL approval that nobody was there to give</p>