6 6
7> Claude Code on Windows runs without Git Bash, claude auth login accepts a pasted OAuth code when the browser callback can't reach localhost, claude project purge cleans up local state per project, and pasting a PR URL into /resume finds the session that created it.7> Claude Code on Windows runs without Git Bash, claude auth login accepts a pasted OAuth code when the browser callback can't reach localhost, claude project purge cleans up local state per project, and pasting a PR URL into /resume finds the session that created it.
8 8
9<div className="digest-meta">9Releases [v2.1.120 → v2.1.126](/docs/en/changelog#2-1-120)
10 <span>Releases <a href="/docs/en/changelog#2-1-120">v2.1.120 → v2.1.126</a></span>104 features · April 27 – May 1
11 <span>4 features · April 27 – May 1</span>
12</div>
13 11
14<div className="digest-feature">12Sign in without a browser callback
15 <div className="digest-feature-header">13v2.1.126
16 <span className="digest-feature-title">Sign in without a browser callback</span>
17 <span className="digest-feature-pill">v2.1.126</span>
18 </div>
19 14
20 <p className="digest-feature-lede"><code>claude auth login</code> now accepts the OAuth code pasted directly into the terminal when the browser callback can't reach localhost. That covers WSL2, SSH sessions, and containers, where the redirect to a local port doesn't work. The same release also fixes login timeouts on slow or proxied connections and in IPv6-only devcontainers.</p>15`claude auth login` now accepts the OAuth code pasted directly into the terminal when the browser callback can't reach localhost. That covers WSL2, SSH sessions, and containers, where the redirect to a local port doesn't work. The same release also fixes login timeouts on slow or proxied connections and in IPv6-only devcontainers.
21 16
22 <p className="digest-feature-try">Sign in, then paste the code from the browser:</p>17Sign in, then paste the code from the browser:
23 18
24 ```bash theme={null}19```bash theme={null}
25 claude auth login20claude auth login
26 ```21```
27 22
28 <a className="digest-feature-link" href="/docs/en/cli-reference#cli-commands">CLI reference</a>23[CLI reference](/docs/en/cli-reference#cli-commands)
29</div>
30 24
31<div className="digest-feature">25claude project purge
32 <div className="digest-feature-header">26v2.1.124
33 <span className="digest-feature-title">claude project purge</span>
34 <span className="digest-feature-pill">v2.1.124</span>
35 </div>
36 27
37 <p className="digest-feature-lede">Delete all Claude Code state for a project: transcripts, tasks, file history, and the project's config entry. Supports `--dry-run` to preview, `-y`/`--yes` to skip confirmation, `-i`/`--interactive` to choose, and `--all` to clear every project.</p>28Delete all Claude Code state for a project: transcripts, tasks, file history, and the project's config entry. Supports `--dry-run` to preview, `-y`/`--yes` to skip confirmation, `-i`/`--interactive` to choose, and `--all` to clear every project.
38 29
39 <p className="digest-feature-try">Preview what would be removed:</p>30Preview what would be removed:
40 31
41 ```bash theme={null}32```bash theme={null}
42 claude project purge --dry-run33claude project purge --dry-run
43 ```34```
44 35
45 <p className="digest-feature-try">Then run it for real:</p>36Then run it for real:
46 37
47 ```bash theme={null}38```bash theme={null}
48 claude project purge39claude project purge
49 ```40```
50 41
51 <a className="digest-feature-link" href="/docs/en/cli-reference">CLI reference</a>42[CLI reference](/docs/en/cli-reference)
52</div>
53 43
54<div className="digest-feature">44Resume by PR URL
55 <div className="digest-feature-header">45v2.1.122
56 <span className="digest-feature-title">Resume by PR URL</span>
57 <span className="digest-feature-pill">v2.1.122</span>
58 </div>
59 46
60 <p className="digest-feature-lede">When you create a pull request with <code>gh pr create</code>, Claude Code links it to the session that produced it. Now you can get back to that session from the PR URL alone, without remembering its name.</p>47When you create a pull request with `gh pr create`, Claude Code links it to the session that produced it. Now you can get back to that session from the PR URL alone, without remembering its name.
61 48
62 <p className="digest-feature-try">Open the session picker:</p>49Open the session picker:
63 50
64 ```text Claude Code theme={null}51```text Claude Code theme={null}
65 > /resume52> /resume
66 ```53```
67 54
68 <p className="digest-feature-try">Paste the PR URL into the picker. The first character of the paste drops you into search mode, and the list filters to the session that created that PR. Press Enter to resume it. GitHub, GitHub Enterprise, GitLab, and Bitbucket pull and merge request URLs all work.</p>55Paste the PR URL into the picker. The first character of the paste drops you into search mode, and the list filters to the session that created that PR. Press Enter to resume it. GitHub, GitHub Enterprise, GitLab, and Bitbucket pull and merge request URLs all work.
69 56
70 ```text Claude Code theme={null}57```text Claude Code theme={null}
71 https://github.com/your-org/your-repo/pull/123458https://github.com/your-org/your-repo/pull/1234
72 ```59```
73 60
74 <p className="digest-feature-try">To open the picker already filtered to the PR, pass the PR number on the command line:</p>61To open the picker already filtered to the PR, pass the PR number on the command line:
75 62
76 ```bash theme={null}63```bash theme={null}
77 claude --from-pr 123464claude --from-pr 1234
78 ```65```
79 66
80 <a className="digest-feature-link" href="/docs/en/sessions#use-the-session-picker">Sessions: use the session picker</a>67[Sessions: use the session picker](/docs/en/sessions#use-the-session-picker)
81</div>
82 68
83<div className="digest-feature">69Windows without Git Bash
84 <div className="digest-feature-header">70Windows
85 <span className="digest-feature-title">Windows without Git Bash</span>
86 <span className="digest-feature-pill">Windows</span>
87 </div>
88 71
89 <p className="digest-feature-lede">Git for Windows is no longer required. When Bash is absent, Claude Code uses PowerShell as the shell tool, and when the PowerShell tool is enabled it is treated as the primary shell. PowerShell 7 installed via the Microsoft Store, MSI without PATH, or a <code>.NET</code> global tool is now detected automatically.</p>72Git for Windows is no longer required. When Bash is absent, Claude Code uses PowerShell as the shell tool, and when the PowerShell tool is enabled it is treated as the primary shell. PowerShell 7 installed via the Microsoft Store, MSI without PATH, or a `.NET` global tool is now detected automatically.
90 73
91 <a className="digest-feature-link" href="/docs/en/setup">Setup guide</a>74[Setup guide](/docs/en/setup)
92</div>
93 75
94<div className="digest-wins">76Other wins
95 <p className="digest-wins-title">Other wins</p>
96 77
97 <div className="digest-wins-grid">78MCP servers can opt out of tool-search deferral with `alwaysLoad: true` in their config so all of that server's tools are always availableNew `claude plugin prune` removes orphaned auto-installed plugin dependencies, and `plugin uninstall --prune` cascades`/skills` now has a type-to-filter search box so you can find a skill in a long list without scrolling`PostToolUse` hooks can replace tool output for any tool via `hookSpecificOutput.updatedToolOutput`, not only MCP toolsNew [`claude ultrareview`](/docs/en/ultrareview) subcommand runs `/ultrareview` non-interactively from CI or scripts: prints findings to stdout (`--json` for raw output) and exits 0 on completion or 1 on failure`--dangerously-skip-permissions` now bypasses prompts for writes to `.claude/`, `.git/`, `.vscode/`, shell config files, and other previously protected paths, while catastrophic removal commands still prompt as a safety netThe `/model` picker can list models from your gateway's `/v1/models` endpoint when `ANTHROPIC_BASE_URL` points at an Anthropic-compatible gateway; opt in with `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1` since v2.1.129MCP servers that hit a transient error during startup now auto-retry up to 3 times instead of staying disconnected`ANTHROPIC_BEDROCK_SERVICE_TIER` selects an Amazon Bedrock service tier: `default`, `flex`, or `priority``/terminal-setup` enables iTerm2's clipboard access setting so `/copy` works, including from tmuxGoogle Cloud's Agent Platform now supports X.509 certificate-based Workload Identity Federation (mTLS ADC)Significant memory leak fixes: image-heavy sessions, `/usage` on large transcript histories, and long-running tools without progress events
98 <div>MCP servers can opt out of tool-search deferral with <code>alwaysLoad: true</code> in their config so all of that server's tools are always available</div>
99 <div>New <code>claude plugin prune</code> removes orphaned auto-installed plugin dependencies, and `plugin uninstall --prune` cascades</div>
100 <div><code>/skills</code> now has a type-to-filter search box so you can find a skill in a long list without scrolling</div>
101 <div><code>PostToolUse</code> hooks can replace tool output for any tool via <code>hookSpecificOutput.updatedToolOutput</code>, not only MCP tools</div>
102 <div>New <a href="/docs/en/ultrareview"><code>claude ultrareview</code></a> subcommand runs <code>/ultrareview</code> non-interactively from CI or scripts: prints findings to stdout (`--json` for raw output) and exits 0 on completion or 1 on failure</div>
103 <div>`--dangerously-skip-permissions` now bypasses prompts for writes to <code>.claude/</code>, <code>.git/</code>, <code>.vscode/</code>, shell config files, and other previously protected paths, while catastrophic removal commands still prompt as a safety net</div>
104 <div>The <code>/model</code> picker can list models from your gateway's <code>/v1/models</code> endpoint when <code>ANTHROPIC\_BASE\_URL</code> points at an Anthropic-compatible gateway; opt in with <code>CLAUDE\_CODE\_ENABLE\_GATEWAY\_MODEL\_DISCOVERY=1</code> since v2.1.129</div>
105 <div>MCP servers that hit a transient error during startup now auto-retry up to 3 times instead of staying disconnected</div>
106 <div><code>ANTHROPIC\_BEDROCK\_SERVICE\_TIER</code> selects an Amazon Bedrock service tier: <code>default</code>, <code>flex</code>, or <code>priority</code></div>
107 <div><code>/terminal-setup</code> enables iTerm2's clipboard access setting so <code>/copy</code> works, including from tmux</div>
108 <div>Google Cloud's Agent Platform now supports X.509 certificate-based Workload Identity Federation (mTLS ADC)</div>
109 <div>Significant memory leak fixes: image-heavy sessions, <code>/usage</code> on large transcript histories, and long-running tools without progress events</div>
110 </div>
111</div>
112 79
113[Full changelog for v2.1.120–v2.1.126 →](/docs/en/changelog#2-1-120)80[Full changelog for v2.1.120–v2.1.126 →](/docs/en/changelog#2-1-120)