Follow Discord
Sweep 22 Oct 2026 · 04:32Z Build v2.1.308 527 read Stable v2.1.308 Latest v2.1.308 Next v2.1.308 Feeds RSS JSON llms.txt llms-full.txt Unofficial
One change · claude-code

Advanced setup changedsetup

Nearest release: v2.1.300, published 2 hours before upstream edited the page. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.

Upstream edited this page at 14 Oct 2026 17:25 UTC, give or take a minute or two: the time comes from Anthropic’s own sitemap rather than from a commit. This site recorded the change at 20 Oct 2026 18:37 UTC.

Upstream edited
Recorded here
Lines+340added
Lines−370removed
From line 25 where the diff opens
First seen 14 Aug 2026 this site's first read of the page
Recorded edits27to this page, all time

The whole hunk

from line 25, old and new numbered
/
lines

The two sides of this change are more than 400 edits apart, too far apart to line up, so this is the differ's own diff of it and the words inside a line are not marked.

from line 25
2525 
2626## Install Claude Code
2727 
28<Tip>
29 Prefer a graphical interface? The [Desktop app](/docs/en/desktop-quickstart) lets you use Claude Code without the terminal. Download it for [macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs), [Windows](https://claude.com/download?utm_source=claude_code\&utm_medium=docs), or [Linux](/docs/en/desktop-linux).
30</Tip>
28> [!TIP]
29>
30> Prefer a graphical interface? The [Desktop app](/docs/en/desktop-quickstart) lets you use Claude Code without the terminal. Download it for [macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs), [Windows](https://claude.com/download?utm_source=claude_code\&utm_medium=docs), or [Linux](/docs/en/desktop-linux).
3131 
3232To install Claude Code, open a terminal and run the command for your system. If you haven't used a terminal before, the [terminal guide](/docs/en/terminal-guide) shows how to open one and paste the command.
3333 
34<Tabs>
35 <Tab title="Native Install (Recommended)">
36 **macOS, Linux, WSL:**
37 
38 ```bash theme={null}
39 curl -fsSL https://claude.ai/install.sh | bash
40 ```
41 
42 On Windows, your prompt shows `PS C:\` when you're in PowerShell and `C:\` without the `PS` when you're in CMD.
43 
44 **Windows PowerShell:**
45 
46 ```powershell theme={null}
47 irm https://claude.ai/install.ps1 | iex
48 ```
49 
50 **Windows CMD:**
51 
52 ```batch theme={null}
53 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
54 ```
55 
56 The install command shows no progress while it downloads Claude Code. When the installer finishes, open a new terminal window and run `claude --version`. A working installation prints a version number. If your shell says `claude` isn't found or isn't recognized, the install directory isn't on your PATH yet: see [Fix your PATH](/docs/en/troubleshoot-install#command-not-found-claude-after-installation).
57 
58 If you see `The token '&&' is not a valid statement separator`, you're in PowerShell, not CMD. If you see `'irm' is not recognized as an internal or external command`, you're in CMD, not PowerShell.
59 
60 If the install command fails with `syntax error near unexpected token '<'`, a `403`, or any other error, see [Troubleshoot installation](/docs/en/troubleshoot-install#find-your-error) to match the error to a fix and for alternative install methods.
61 
62 [Git for Windows](https://git-scm.com/downloads/win) is recommended on native Windows so Claude Code can use the Bash tool. If Git for Windows is not installed, Claude Code uses PowerShell as the shell tool instead. WSL setups do not need Git for Windows.
63 
64 <Info>
65 Native installations automatically update in the background to keep you on the latest version.
66 </Info>
67 </Tab>
68 
69 <Tab title="Homebrew">
70 ```bash theme={null}
71 brew install --cask claude-code
72 ```
73 
74 Homebrew offers two casks. `claude-code` tracks the stable release channel, which is typically about a week behind and skips releases with major regressions. `claude-code@latest` tracks the latest channel and receives new versions as soon as they ship.
75 
76 <Info>
77 Homebrew installations do not auto-update. Run `brew upgrade claude-code` or `brew upgrade claude-code@latest`, depending on which cask you installed, to get the latest features and security fixes.
78 </Info>
79 </Tab>
80 
81 <Tab title="WinGet">
82 ```powershell theme={null}
83 winget install Anthropic.ClaudeCode
84 ```
85 
86 <Info>
87 WinGet installations do not auto-update. Run `winget upgrade Anthropic.ClaudeCode` periodically to get the latest features and security fixes.
88 </Info>
89 </Tab>
90</Tabs>
34**Native Install (Recommended)**
35 
36**macOS, Linux, WSL:**
37 
38```bash theme={null}
39curl -fsSL https://claude.ai/install.sh | bash
40```
41 
42On Windows, your prompt shows `PS C:\` when you're in PowerShell and `C:\` without the `PS` when you're in CMD.
43 
44**Windows PowerShell:**
45 
46```powershell theme={null}
47irm https://claude.ai/install.ps1 | iex
48```
49 
50**Windows CMD:**
51 
52```batch theme={null}
53curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
54```
55 
56The install command shows no progress while it downloads Claude Code. When the installer finishes, open a new terminal window and run `claude --version`. A working installation prints a version number. If your shell says `claude` isn't found or isn't recognized, the install directory isn't on your PATH yet: see [Fix your PATH](/docs/en/troubleshoot-install#command-not-found-claude-after-installation).
57 
58If you see `The token '&&' is not a valid statement separator`, you're in PowerShell, not CMD. If you see `'irm' is not recognized as an internal or external command`, you're in CMD, not PowerShell.
59 
60If the install command fails with `syntax error near unexpected token '<'`, a `403`, or any other error, see [Troubleshoot installation](/docs/en/troubleshoot-install#find-your-error) to match the error to a fix and for alternative install methods.
61 
62[Git for Windows](https://git-scm.com/downloads/win) is recommended on native Windows so Claude Code can use the Bash tool. If Git for Windows is not installed, Claude Code uses PowerShell as the shell tool instead. WSL setups do not need Git for Windows.
63 
64> [!NOTE]
65>
66> Native installations automatically update in the background to keep you on the latest version.
67 
68**Homebrew**
69 
70```bash theme={null}
71brew install --cask claude-code
72```
73 
74Homebrew offers two casks. `claude-code` tracks the stable release channel, which is typically about a week behind and skips releases with major regressions. `claude-code@latest` tracks the latest channel and receives new versions as soon as they ship.
75 
76> [!NOTE]
77>
78> Homebrew installations do not auto-update. Run `brew upgrade claude-code` or `brew upgrade claude-code@latest`, depending on which cask you installed, to get the latest features and security fixes.
79 
80**WinGet**
81 
82```powershell theme={null}
83winget install Anthropic.ClaudeCode
84```
85 
86> [!NOTE]
87>
88> WinGet installations do not auto-update. Run `winget upgrade Anthropic.ClaudeCode` periodically to get the latest features and security fixes.
9189 
9290You can also install with [apt, dnf, or apk](/docs/en/setup#install-with-linux-package-managers) on Debian, Fedora, RHEL, and Alpine.
9391 
from line 206
208206 
209207If an npm global install can't auto-update because the npm global directory isn't writable, Claude Code shows a one-time notice at startup, and `claude doctor` lists the available fixes. See [permission errors during installation](/docs/en/troubleshoot-install#permission-errors-during-installation) for details.
210208 
211<Note>
212 Homebrew, WinGet, apt, dnf, and apk installations do not auto-update by default; see below to opt in for Homebrew and WinGet. To upgrade Homebrew manually, run `brew upgrade claude-code` or `brew upgrade claude-code@latest`, depending on which cask you installed. For WinGet, run `winget upgrade Anthropic.ClaudeCode`. For Linux package managers, see the upgrade commands in [Install with Linux package managers](#install-with-linux-package-managers).
213 
214 To have Claude Code run the upgrade command for you on Homebrew or WinGet, set [`CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE`](/docs/en/env-vars) to `1`. Claude Code then runs the upgrade in the background when a new version is available and shows a restart prompt on success. The upgrade targets only the Claude Code package and does not affect other software you have installed.
215 
216 On WinGet the upgrade may fail while Claude Code is running because Windows locks the executable. In that case Claude Code shows the manual command instead. apt, dnf, and apk continue to require a manual upgrade because those commands need elevated privileges.
217 
218 **Known issue:** Claude Code may notify you of updates before the new version is available in these package managers. If an upgrade fails, wait and try again later.
219 
220 Homebrew keeps old versions on disk after upgrades. Run `brew cleanup` periodically to reclaim disk space.
221</Note>
209> [!NOTE]
210>
211> Homebrew, WinGet, apt, dnf, and apk installations do not auto-update by default; see below to opt in for Homebrew and WinGet. To upgrade Homebrew manually, run `brew upgrade claude-code` or `brew upgrade claude-code@latest`, depending on which cask you installed. For WinGet, run `winget upgrade Anthropic.ClaudeCode`. For Linux package managers, see the upgrade commands in [Install with Linux package managers](#install-with-linux-package-managers).
212>
213> To have Claude Code run the upgrade command for you on Homebrew or WinGet, set [`CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE`](/docs/en/env-vars) to `1`. Claude Code then runs the upgrade in the background when a new version is available and shows a restart prompt on success. The upgrade targets only the Claude Code package and does not affect other software you have installed.
214>
215> On WinGet the upgrade may fail while Claude Code is running because Windows locks the executable. In that case Claude Code shows the manual command instead. apt, dnf, and apk continue to require a manual upgrade because those commands need elevated privileges.
216>
217> **Known issue:** Claude Code may notify you of updates before the new version is available in these package managers. If an upgrade fails, wait and try again later.
218>
219> Homebrew keeps old versions on disk after upgrades. Run `brew cleanup` periodically to reclaim disk space.
222220 
223221### Configure release channel
224222 
from line 296
298296 
299297To install the latest version (default):
300298 
301<Tabs>
302 <Tab title="macOS, Linux, WSL">
303 ```bash theme={null}
304 curl -fsSL https://claude.ai/install.sh | bash
305 ```
306 </Tab>
307 
308 <Tab title="Windows PowerShell">
309 ```powershell theme={null}
310 irm https://claude.ai/install.ps1 | iex
311 ```
312 </Tab>
313 
314 <Tab title="Windows CMD">
315 ```batch theme={null}
316 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
317 ```
318 </Tab>
319</Tabs>
299**macOS, Linux, WSL**
300 
301```bash theme={null}
302curl -fsSL https://claude.ai/install.sh | bash
303```
304 
305**Windows PowerShell**
306 
307```powershell theme={null}
308irm https://claude.ai/install.ps1 | iex
309```
310 
311**Windows CMD**
312 
313```batch theme={null}
314curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
315```
320316 
321317To install the stable version:
322318 
323<Tabs>
324 <Tab title="macOS, Linux, WSL">
325 ```bash theme={null}
326 curl -fsSL https://claude.ai/install.sh | bash -s stable
327 ```
328 </Tab>
329 
330 <Tab title="Windows PowerShell">
331 ```powershell theme={null}
332 & ([scriptblock]::Create((irm https://claude.ai/install.ps1))) stable
333 ```
334 </Tab>
335 
336 <Tab title="Windows CMD">
337 ```batch theme={null}
338 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd stable && del install.cmd
339 ```
340 </Tab>
341</Tabs>
319**macOS, Linux, WSL**
320 
321```bash theme={null}
322curl -fsSL https://claude.ai/install.sh | bash -s stable
323```
324 
325**Windows PowerShell**
326 
327```powershell theme={null}
328& ([scriptblock]::Create((irm https://claude.ai/install.ps1))) stable
329```
330 
331**Windows CMD**
332 
333```batch theme={null}
334curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd stable && del install.cmd
335```
342336 
343337To install a specific version number:
344338 
345<Tabs>
346 <Tab title="macOS, Linux, WSL">
347 ```bash theme={null}
348 curl -fsSL https://claude.ai/install.sh | bash -s 2.1.89
349 ```
350 </Tab>
351 
352 <Tab title="Windows PowerShell">
353 ```powershell theme={null}
354 & ([scriptblock]::Create((irm https://claude.ai/install.ps1))) 2.1.89
355 ```
356 </Tab>
357 
358 <Tab title="Windows CMD">
359 ```batch theme={null}
360 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd 2.1.89 && del install.cmd
361 ```
362 </Tab>
363</Tabs>
339**macOS, Linux, WSL**
340 
341```bash theme={null}
342curl -fsSL https://claude.ai/install.sh | bash -s 2.1.89
343```
344 
345**Windows PowerShell**
346 
347```powershell theme={null}
348& ([scriptblock]::Create((irm https://claude.ai/install.ps1))) 2.1.89
349```
350 
351**Windows CMD**
352 
353```batch theme={null}
354curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd 2.1.89 && del install.cmd
355```
364356 
365357To confirm which version installed, run `claude --version`: the command prints the exact version you passed, such as `2.1.89 (Claude Code)`.
366358 
from line 362
370362 
371363All repositories are signed with the [Claude Code release signing key](#binary-integrity-and-code-signing). Before trusting the key, verify it as described in each tab.
372364 
373<Tabs>
374 <Tab title="apt">
375 For Debian and Ubuntu. The install commands below download the signing key with `curl` and verify it with `gpg`, which fresh Debian and Ubuntu installations may not include. If either command reports `command not found`, install both first:
376 
377 ```bash theme={null}
378 sudo apt install curl gnupg
379 ```
380 
381 Download the signing key:
382 
383 ```bash theme={null}
384 sudo install -d -m 0755 /etc/apt/keyrings
385 sudo curl -fsSL https://downloads.claude.ai/keys/claude-code.asc \
386 -o /etc/apt/keyrings/claude-code.asc
387 ```
388 
389 If this download fails, `apt update` later fails with `NO_PUBKEY BAA929FF1A7ECACE`. Confirm the key downloaded and belongs to Anthropic before continuing:
390 
391 ```bash theme={null}
392 gpg --show-keys /etc/apt/keyrings/claude-code.asc
393 ```
394 
395 The fingerprint gpg prints should be `31DDDE24DDFAB679F42D7BD2BAA929FF1A7ECACE`. If gpg reports that the file can't be opened or contains no valid OpenPGP data, the download failed or returned the wrong content: confirm your network can reach `downloads.claude.ai`, then rerun the download command.
396 
397 Register the repository on the `stable` channel and install:
398 
399 ```bash theme={null}
400 echo "deb [signed-by=/etc/apt/keyrings/claude-code.asc] https://downloads.claude.ai/claude-code/apt/stable stable main" \
401 | sudo tee /etc/apt/sources.list.d/claude-code.list
402 sudo apt update
403 sudo apt install claude-code
404 ```
405 
406 To use the `latest` channel instead, both the URL path and the suite name change. Use this `deb` line:
407 
408 ```bash theme={null}
409 echo "deb [signed-by=/etc/apt/keyrings/claude-code.asc] https://downloads.claude.ai/claude-code/apt/latest latest main" \
410 | sudo tee /etc/apt/sources.list.d/claude-code.list
411 ```
412 
413 To upgrade later, run `sudo apt update && sudo apt upgrade claude-code`.
414 </Tab>
415 
416 <Tab title="dnf">
417 For Fedora and RHEL. The following commands configure the `stable` channel:
418 
419 ```bash theme={null}
420 sudo tee /etc/yum.repos.d/claude-code.repo <<'EOF'
421 [claude-code]
422 name=Claude Code
423 baseurl=https://downloads.claude.ai/claude-code/rpm/stable
424 enabled=1
425 gpgcheck=1
426 gpgkey=https://downloads.claude.ai/keys/claude-code.asc
427 EOF
428 sudo dnf install claude-code
429 ```
430 
431 To use the `latest` channel instead, set `baseurl` to the `latest` repository:
432 
433 ```ini theme={null}
434 baseurl=https://downloads.claude.ai/claude-code/rpm/latest
435 ```
436 
437 dnf downloads the key on first install and prompts you to confirm the fingerprint. Verify it matches `31DD DE24 DDFA B679 F42D 7BD2 BAA9 29FF 1A7E CACE` before accepting.
438 
439 To upgrade later, run `sudo dnf upgrade claude-code`.
440 </Tab>
441 
442 <Tab title="apk">
443 For Alpine Linux. The following commands configure the `stable` channel:
444 
445 ```sh theme={null}
446 wget -O /etc/apk/keys/claude-code.rsa.pub \
447 https://downloads.claude.ai/keys/claude-code.rsa.pub
448 echo "https://downloads.claude.ai/claude-code/apk/stable" >> /etc/apk/repositories
449 apk add claude-code
450 ```
451 
452 To switch to the `latest` channel, remove the `stable` repository line and add the `latest` repository:
453 
454 ```sh theme={null}
455 sed -i '\|downloads.claude.ai/claude-code/apk/stable|d' /etc/apk/repositories
456 echo "https://downloads.claude.ai/claude-code/apk/latest" >> /etc/apk/repositories
457 ```
458 
459 Verify the downloaded key with `sha256sum /etc/apk/keys/claude-code.rsa.pub`, which should report `395759c1f7449ef4cdef305a42e820f3c766d6090d142634ebdb049f113168b6`.
460 
461 To upgrade later, run `apk update && apk upgrade claude-code`.
462 </Tab>
463</Tabs>
365**apt**
366 
367For Debian and Ubuntu. The install commands below download the signing key with `curl` and verify it with `gpg`, which fresh Debian and Ubuntu installations may not include. If either command reports `command not found`, install both first:
368 
369```bash theme={null}
370sudo apt install curl gnupg
371```
372 
373Download the signing key:
374 
375```bash theme={null}
376sudo install -d -m 0755 /etc/apt/keyrings
377sudo curl -fsSL https://downloads.claude.ai/keys/claude-code.asc \
378 -o /etc/apt/keyrings/claude-code.asc
379```
380 
381If this download fails, `apt update` later fails with `NO_PUBKEY BAA929FF1A7ECACE`. Confirm the key downloaded and belongs to Anthropic before continuing:
382 
383```bash theme={null}
384gpg --show-keys /etc/apt/keyrings/claude-code.asc
385```
386 
387The fingerprint gpg prints should be `31DDDE24DDFAB679F42D7BD2BAA929FF1A7ECACE`. If gpg reports that the file can't be opened or contains no valid OpenPGP data, the download failed or returned the wrong content: confirm your network can reach `downloads.claude.ai`, then rerun the download command.
388 
389Register the repository on the `stable` channel and install:
390 
391```bash theme={null}
392echo "deb [signed-by=/etc/apt/keyrings/claude-code.asc] https://downloads.claude.ai/claude-code/apt/stable stable main" \
393 | sudo tee /etc/apt/sources.list.d/claude-code.list
394sudo apt update
395sudo apt install claude-code
396```
397 
398To use the `latest` channel instead, both the URL path and the suite name change. Use this `deb` line:
399 
400```bash theme={null}
401echo "deb [signed-by=/etc/apt/keyrings/claude-code.asc] https://downloads.claude.ai/claude-code/apt/latest latest main" \
402 | sudo tee /etc/apt/sources.list.d/claude-code.list
403```
404 
405To upgrade later, run `sudo apt update && sudo apt upgrade claude-code`.
406 
407**dnf**
408 
409For Fedora and RHEL. The following commands configure the `stable` channel:
410 
411```bash theme={null}
412sudo tee /etc/yum.repos.d/claude-code.repo <<'EOF'
413[claude-code]
414name=Claude Code
415baseurl=https://downloads.claude.ai/claude-code/rpm/stable
416enabled=1
417gpgcheck=1
418gpgkey=https://downloads.claude.ai/keys/claude-code.asc
419EOF
420sudo dnf install claude-code
421```
422 
423To use the `latest` channel instead, set `baseurl` to the `latest` repository:
424 
425```ini theme={null}
426baseurl=https://downloads.claude.ai/claude-code/rpm/latest
427```
428 
429dnf downloads the key on first install and prompts you to confirm the fingerprint. Verify it matches `31DD DE24 DDFA B679 F42D 7BD2 BAA9 29FF 1A7E CACE` before accepting.
430 
431To upgrade later, run `sudo dnf upgrade claude-code`.
432 
433**apk**
434 
435For Alpine Linux. The following commands configure the `stable` channel:
436 
437```sh theme={null}
438wget -O /etc/apk/keys/claude-code.rsa.pub \
439 https://downloads.claude.ai/keys/claude-code.rsa.pub
440echo "https://downloads.claude.ai/claude-code/apk/stable" >> /etc/apk/repositories
441apk add claude-code
442```
443 
444To switch to the `latest` channel, remove the `stable` repository line and add the `latest` repository:
445 
446```sh theme={null}
447sed -i '\|downloads.claude.ai/claude-code/apk/stable|d' /etc/apk/repositories
448echo "https://downloads.claude.ai/claude-code/apk/latest" >> /etc/apk/repositories
449```
450 
451Verify the downloaded key with `sha256sum /etc/apk/keys/claude-code.rsa.pub`, which should report `395759c1f7449ef4cdef305a42e820f3c766d6090d142634ebdb049f113168b6`.
452 
453To upgrade later, run `apk update && apk upgrade claude-code`.
464454 
465455### Install with npm
466456 
from line 466
476466 
477467To upgrade an npm installation, run `npm install -g @anthropic-ai/claude-code@latest`. Avoid `npm update -g`, which respects the semver range from the original install and may not move you to the newest release.
478468 
479<Warning>
480 Do NOT use `sudo npm install -g` as this can lead to permission issues and security risks. If you encounter permission errors, see [troubleshooting permission errors](/docs/en/troubleshoot-install#permission-errors-during-installation).
481</Warning>
469> [!WARNING]
470>
471> Do NOT use `sudo npm install -g` as this can lead to permission issues and security risks. If you encounter permission errors, see [troubleshooting permission errors](/docs/en/troubleshoot-install#permission-errors-during-installation).
482472 
483473### Install on network storage
484474 
from line 491
501491 
502492Steps 1-3 require a POSIX shell with `gpg` and `curl`. On Windows, run them in Git Bash or WSL. Step 4 includes a PowerShell option.
503493 
504<Steps>
505 <Step title="Download and import the public key">
506 The release signing key is published at a fixed URL.
507 
508 ```bash theme={null}
509 curl -fsSL https://downloads.claude.ai/keys/claude-code.asc | gpg --import
510 ```
511 
512 Display the fingerprint of the imported key.
513 
514 ```bash theme={null}
515 gpg --fingerprint [email protected]
516 ```
517 
518 Confirm the output includes this fingerprint:
519 
520 ```text theme={null}
521 31DD DE24 DDFA B679 F42D 7BD2 BAA9 29FF 1A7E CACE
522 ```
523 </Step>
524 
525 <Step title="Download the manifest and signature">
526 Set `VERSION` to the release you want to verify.
527 
528 ```bash theme={null}
529 REPO=https://downloads.claude.ai/claude-code-releases
530 VERSION=2.1.89
531 curl -fsSLO "$REPO/$VERSION/manifest.json"
532 curl -fsSLO "$REPO/$VERSION/manifest.json.sig"
533 ```
534 </Step>
535 
536 <Step title="Verify the signature">
537 Verify the detached signature against the manifest.
538 
539 ```bash theme={null}
540 gpg --verify manifest.json.sig manifest.json
541 ```
542 
543 A valid result reports `Good signature from "Anthropic Claude Code Release Signing <[email protected]>"`.
544 
545 `gpg` also prints `WARNING: This key is not certified with a trusted signature!` for any freshly imported key. This is expected. The `Good signature` line confirms the cryptographic check passed. The fingerprint comparison in Step 1 confirms the key itself is authentic.
546 </Step>
547 
548 <Step title="Check the binary against the manifest">
549 Compare the SHA256 checksum of the binary with the value listed under `platforms.<platform>.checksum` in `manifest.json`. The commands below assume a `claude` binary in the current directory. To verify an installed native binary instead, run the command against `~/.local/share/claude/versions/VERSION`, replacing VERSION with the release you set in Step 2.
550 
551 <Tabs>
552 <Tab title="Linux">
553 ```bash theme={null}
554 sha256sum claude
555 ```
556 </Tab>
557 
558 <Tab title="macOS">
559 ```bash theme={null}
560 shasum -a 256 claude
561 ```
562 </Tab>
563 
564 <Tab title="Windows PowerShell">
565 ```powershell theme={null}
566 (Get-FileHash claude.exe -Algorithm SHA256).Hash.ToLower()
567 ```
568 </Tab>
569 </Tabs>
570 </Step>
571</Steps>
572 
573<Note>
574 Manifest signatures are available for releases from `2.1.89` onward. Earlier releases publish checksums in `manifest.json` without a detached signature.
575</Note>
494**1. Download and import the public key**
495 
496The release signing key is published at a fixed URL.
497 
498```bash theme={null}
499curl -fsSL https://downloads.claude.ai/keys/claude-code.asc | gpg --import
500```
501 
502Display the fingerprint of the imported key.
503 
504```bash theme={null}
505gpg --fingerprint [email protected]
506```
507 
508Confirm the output includes this fingerprint:
509 
510```text theme={null}
51131DD DE24 DDFA B679 F42D 7BD2 BAA9 29FF 1A7E CACE
512```
513 
514**2. Download the manifest and signature**
515 
516Set `VERSION` to the release you want to verify.
517 
518```bash theme={null}
519REPO=https://downloads.claude.ai/claude-code-releases
520VERSION=2.1.89
521curl -fsSLO "$REPO/$VERSION/manifest.json"
522curl -fsSLO "$REPO/$VERSION/manifest.json.sig"
523```
524 
525**3. Verify the signature**
526 
527Verify the detached signature against the manifest.
528 
529```bash theme={null}
530gpg --verify manifest.json.sig manifest.json
531```
532 
533A valid result reports `Good signature from "Anthropic Claude Code Release Signing <[email protected]>"`.
534 
535`gpg` also prints `WARNING: This key is not certified with a trusted signature!` for any freshly imported key. This is expected. The `Good signature` line confirms the cryptographic check passed. The fingerprint comparison in Step 1 confirms the key itself is authentic.
536 
537**4. Check the binary against the manifest**
538 
539Compare the SHA256 checksum of the binary with the value listed under `platforms.<platform>.checksum` in `manifest.json`. The commands below assume a `claude` binary in the current directory. To verify an installed native binary instead, run the command against `~/.local/share/claude/versions/VERSION`, replacing VERSION with the release you set in Step 2.
540 
541**Linux**
542 
543```bash theme={null}
544sha256sum claude
545```
546 
547**macOS**
548 
549```bash theme={null}
550shasum -a 256 claude
551```
552 
553**Windows PowerShell**
554 
555```powershell theme={null}
556(Get-FileHash claude.exe -Algorithm SHA256).Hash.ToLower()
557```
558 
559> [!NOTE]
560>
561> Manifest signatures are available for releases from `2.1.89` onward. Earlier releases publish checksums in `manifest.json` without a detached signature.
576562 
577563#### Platform code signatures
578564 
from line 572
586572 
587573To remove Claude Code, follow the instructions for your installation method. If `claude` still runs afterward, you likely have a second installation or a leftover shell alias from an older installer. See [Check for conflicting installations](/docs/en/troubleshoot-install#check-for-conflicting-installations) to find and remove it.
588574 
589<span id="native-installation" />
590 
591575### Uninstall a native installation
592576 
593577Remove the Claude Code binary and version files:
594578 
595<Tabs>
596 <Tab title="macOS, Linux, WSL">
597 ```bash theme={null}
598 rm -f ~/.local/bin/claude
599 rm -rf ~/.local/share/claude
600 ```
601 </Tab>
602 
603 <Tab title="Windows PowerShell">
604 ```powershell theme={null}
605 Remove-Item -Path "$env:USERPROFILE\.local\bin\claude.exe" -Force
606 Remove-Item -Path "$env:USERPROFILE\.local\share\claude" -Recurse -Force
607 ```
608 </Tab>
609</Tabs>
610 
611<span id="homebrew-installation" />
579**macOS, Linux, WSL**
580 
581```bash theme={null}
582rm -f ~/.local/bin/claude
583rm -rf ~/.local/share/claude
584```
585 
586**Windows PowerShell**
587 
588```powershell theme={null}
589Remove-Item -Path "$env:USERPROFILE\.local\bin\claude.exe" -Force
590Remove-Item -Path "$env:USERPROFILE\.local\share\claude" -Recurse -Force
591```
612592 
613593### Uninstall with Homebrew
614594 
from line 604
624604brew uninstall --cask claude-code@latest
625605```
626606 
627<span id="winget-installation" />
628 
629607### Uninstall with WinGet
630608 
631609Remove the WinGet package:
from line 612
634612winget uninstall Anthropic.ClaudeCode
635613```
636614 
637<span id="apt-/-dnf-/-apk" />
638 
639615### Uninstall with apt, dnf, or apk
640616 
641617Remove the package and the repository configuration:
642618 
643<Tabs>
644 <Tab title="apt">
645 ```bash theme={null}
646 sudo apt remove claude-code
647 sudo rm /etc/apt/sources.list.d/claude-code.list /etc/apt/keyrings/claude-code.asc
648 ```
649 </Tab>
650 
651 <Tab title="dnf">
652 ```bash theme={null}
653 sudo dnf remove claude-code
654 sudo rm /etc/yum.repos.d/claude-code.repo
655 ```
656 </Tab>
657 
658 <Tab title="apk">
659 ```sh theme={null}
660 apk del claude-code
661 sed -i '\|downloads.claude.ai/claude-code/apk|d' /etc/apk/repositories
662 rm /etc/apk/keys/claude-code.rsa.pub
663 ```
664 </Tab>
665</Tabs>
666 
667<span id="npm" />
619**apt**
620 
621```bash theme={null}
622sudo apt remove claude-code
623sudo rm /etc/apt/sources.list.d/claude-code.list /etc/apt/keyrings/claude-code.asc
624```
625 
626**dnf**
627 
628```bash theme={null}
629sudo dnf remove claude-code
630sudo rm /etc/yum.repos.d/claude-code.repo
631```
632 
633**apk**
634 
635```sh theme={null}
636apk del claude-code
637sed -i '\|downloads.claude.ai/claude-code/apk|d' /etc/apk/repositories
638rm /etc/apk/keys/claude-code.rsa.pub
639```
668640 
669641### Uninstall with npm
670642 
from line 648
676648 
677649### Remove configuration files
678650 
679<Warning>
680 Removing configuration files will delete all your settings, allowed tools, MCP server configurations, and session history.
681</Warning>
651> [!WARNING]
652>
653> Removing configuration files will delete all your settings, allowed tools, MCP server configurations, and session history.
682654 
683655The VS Code extension, the JetBrains plugin, and the Desktop app also write to `~/.claude/`. If any of them is still installed, the directory is recreated the next time it runs. To remove Claude Code completely, uninstall the [VS Code extension](/docs/en/vs-code#uninstall-the-extension), the JetBrains plugin, and the Desktop app before deleting these files.
684656 
685657To remove Claude Code settings and cached data:
686658 
687<Tabs>
688 <Tab title="macOS, Linux, WSL">
689 ```bash theme={null}
690 # Remove user settings and state
691 rm -rf ~/.claude
692 rm ~/.claude.json
693 
694 # Remove project-specific settings (run from your project directory)
695 rm -rf .claude
696 rm -f .mcp.json
697 ```
698 </Tab>
699 
700 <Tab title="Windows PowerShell">
701 ```powershell theme={null}
702 # Remove user settings and state
703 Remove-Item -Path "$env:USERPROFILE\.claude" -Recurse -Force
704 Remove-Item -Path "$env:USERPROFILE\.claude.json" -Force
705 
706 # Remove project-specific settings (run from your project directory)
707 Remove-Item -Path ".claude" -Recurse -Force
708 Remove-Item -Path ".mcp.json" -Force
709 ```
710 </Tab>
711</Tabs>
659**macOS, Linux, WSL**
660 
661```bash theme={null}
662# Remove user settings and state
663rm -rf ~/.claude
664rm ~/.claude.json
665 
666# Remove project-specific settings (run from your project directory)
667rm -rf .claude
668rm -f .mcp.json
669```
670 
671**Windows PowerShell**
672 
673```powershell theme={null}
674# Remove user settings and state
675Remove-Item -Path "$env:USERPROFILE\.claude" -Recurse -Force
676Remove-Item -Path "$env:USERPROFILE\.claude.json" -Force
677 
678# Remove project-specific settings (run from your project directory)
679Remove-Item -Path ".claude" -Recurse -Force
680Remove-Item -Path ".mcp.json" -Force
681```
712682 
Feedback