Claude Code download: what to actually download, per platform

Searching for a Claude Code download usually ends in confusion, because the terminal version has no installer file at all. It is one command per platform, and the thing that does have a downloadable installer is the desktop app.

By the Continuum team. We build a workbench that runs Claude Code, Codex, and their peers, so the model rates quoted here are the ones our own cost analytics ship with.

The short version

The Claude Code CLI is installed with one command per platform rather than a downloaded installer: curl on macOS, Linux and WSL, an irm one-liner in Windows PowerShell. The desktop app does have a downloadable installer for macOS, Windows, and Debian-based Linux. Signed platform binaries and a GPG-signed checksum manifest are published separately for offline and audited installs.

What you need to know
  • The CLI has no .dmg, .exe, or .pkg. One command installs it and it self-updates.
  • The desktop app is the download most people searching this actually want.
  • Homebrew, WinGet, apt, dnf, and apk all publish Claude Code packages.
  • Every release publishes a GPG-signed manifest.json with SHA256 checksums per platform.
  • A paid Claude plan or Console credit is required. The free tier does not include Claude Code.

Which download do you mean?

Four different things get called "Claude Code", and only two of them are files you download. Pick your row and skip to it.

Checked August 2026.

What you wantIs there a file?How you get it
The terminal CLINoOne install command, below
The desktop appYesInstaller for macOS, Windows, Linux
Claude Code in the browserNoSign in at claude.ai/code
Claude on your phoneYesThe Claude app on the App Store or Google Play
The VS Code or JetBrains versionNoInstall it from the editor marketplace

The CLI: one command per platform

macOS, Linux, and WSL.
curl -fsSL https://claude.ai/install.sh | bash
Windows PowerShell.
irm https://claude.ai/install.ps1 | iex
Windows CMD. Different shell, different command.
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

All three install the same self-contained binary. There is no Node.js requirement on this path and no Administrator or sudo requirement. On macOS and Linux the binary lands under ~/.local/share/claude/versions/ with a launcher symlink at ~/.local/bin/claude; on Windows it lands under %USERPROFILE%\.local\bin\claude.exe.

Then open a NEW terminal and check. A healthy install prints something like 2.1.224 (Claude Code).
claude --version
claude doctor

The desktop app: a real installer

This is the download most people searching for "Claude Code download" are actually after: a graphical app with a session sidebar, visual diff review, an integrated terminal and editor, and app preview, running the same Claude Code engine as the CLI. No terminal required.

PlatformArtefactNote
macOS.dmgUniversal build, Intel and Apple Silicon
Windows x64Setup executableThe default download
Windows ARM64Separate ARM64 installerNot the same file as x64
Linux.deb via aptBeta, Ubuntu 22.04+ or Debian 12+

The desktop app bundles Claude Code, so you do not need Node.js or a separate CLI install to use it. If you want claude in your terminal as well, install the CLI separately; the two run side by side on the same project and share configuration.

Package managers

If you would rather your normal update workflow owned this, every major package manager has an official Claude Code package. The tradeoff is uniform: package-manager installs do not auto-update by default.

Official packages, August 2026.

ManagerInstallUpgrade
Homebrewbrew install --cask claude-codebrew upgrade claude-code
WinGetwinget install Anthropic.ClaudeCodewinget upgrade Anthropic.ClaudeCode
aptsudo apt install claude-codesudo apt upgrade claude-code
dnfsudo dnf install claude-codesudo dnf upgrade claude-code
apkapk add claude-codeapk upgrade claude-code
npmnpm install -g @anthropic-ai/claude-codenpm install -g @anthropic-ai/claude-code@latest

Homebrew has two casks, and it matters

claude-code tracks the stable channel; claude-code@latest tracks the latest channel and gets new versions as soon as they ship. Whichever you install is the one you upgrade and uninstall by name, so note which you chose. At the time of writing the stable cask was on 2.1.220 and the latest cask on 2.1.224.

npm still works, with a caveat

The npm package installs the same native binary as the standalone installer, pulled in through a per-platform optional dependency such as @anthropic-ai/claude-code-darwin-arm64. The installed claude does not invoke Node at runtime. As of v2.1.198 the package declares Node.js 22 or later; on an older Node you get an EBADENGINE warning rather than a failure.

Never sudo this. A root-owned npm prefix breaks every later install for your user.
npm install -g @anthropic-ai/claude-code

# if you hit EACCES, fix the prefix instead of escalating
npm config set prefix "$HOME/.npm-global"
export PATH="$HOME/.npm-global/bin:$PATH"

If you genuinely need a file: the release bucket

Air-gapped environments, golden images, and security reviews all need an artefact rather than a piped script. Every Claude Code release publishes its platform binaries alongside a manifest.json that lists a SHA256 checksum for each one, and that manifest carries a detached GPG signature. Verifying the manifest transitively verifies every binary it lists.

01

Import the release signing key and check its fingerprint

curl -fsSL https://downloads.claude.ai/keys/claude-code.asc | gpg --import
gpg --fingerprint security@anthropic.com

The output must include 31DD DE24 DDFA B679 F42D 7BD2 BAA9 29FF 1A7E CACE. If it does not, stop.

02

Fetch the manifest and its signature for the version you want

REPO=https://downloads.claude.ai/claude-code-releases
VERSION=2.1.89
curl -fsSLO "$REPO/$VERSION/manifest.json"
curl -fsSLO "$REPO/$VERSION/manifest.json.sig"
03

Verify the signature

gpg --verify manifest.json.sig manifest.json

A good result reports Good signature from "Anthropic Claude Code Release Signing". gpg also warns that a freshly imported key is not certified, which is expected: the fingerprint check in step one is what establishes the key, and the Good signature line is what establishes the file.

04

Check the binary against the manifest

# macOS
shasum -a 256 claude

# Linux
sha256sum claude

# Windows PowerShell
# (Get-FileHash claude.exe -Algorithm SHA256).Hash.ToLower()

Compare against platforms.<platform>.checksum in the manifest.

Before it will run

  • A paid Claude plan: Pro, Max, Team, or Enterprise, or a Claude Console account with API credit. The free Claude.ai plan does not include Claude Code.
  • macOS 13.0+, Windows 10 1809+ or Server 2019+, or Ubuntu 20.04+ / Debian 10+ / Alpine 3.19+.
  • 4 GB of RAM and an x64 or ARM64 processor.
  • A network connection. Claude Code is not a local model and does not run offline.

Download problems, and what they actually are.

SymptomCauseFix
syntax error near unexpected token '<'A proxy or captive portal returned HTMLFetch the URL and look at what came back
403 from the install scriptNetwork filteringAllow claude.ai and downloads.claude.ai
Installed, then command not foundShell predates the installOpen a new terminal
npm install has no binaryOptional dependencies disabledReinstall with optional deps allowed
EBADENGINE on npm installNode older than 22Harmless; the binary does not use Node
Homebrew upgrade does nothingYou installed the other caskUpgrade the cask you actually installed

Questions people ask

The CLI is not a download. Run curl -fsSL https://claude.ai/install.sh | bash on macOS, Linux, or WSL, or irm https://claude.ai/install.ps1 | iex in Windows PowerShell. The desktop app does have a downloadable installer for macOS, Windows, and Debian-based Linux.

Not for the terminal CLI. The installer script fetches a platform binary and puts it on your PATH. The desktop app is a normal installer: a .dmg on macOS, a setup executable on Windows with separate x64 and ARM64 builds, and a .deb on Linux.

In PowerShell run irm https://claude.ai/install.ps1 | iex. In CMD run curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd. WinGet also works: winget install Anthropic.ClaudeCode.

Yes, and it is the recommended path. The native installer bundles its own runtime and needs no Node.js at all. npm is one option among several, not the default.

Each release publishes a manifest.json of SHA256 checksums with a detached GPG signature at downloads.claude.ai/claude-code-releases. Import the signing key, confirm the fingerprint 31DDDE24DDFAB679F42D7BD2BAA929FF1A7ECACE, verify the manifest, then check your binary hash against it.

You can stage the signed binary from the release bucket and place it yourself, which covers air-gapped provisioning. Running Claude Code still requires network access, because the model runs on Anthropic infrastructure rather than locally.

The tool costs nothing to install, but using it requires a paid Claude plan (Pro, Max, Team, or Enterprise) or a Console account with API credit. The free Claude.ai tier does not include Claude Code.

The latest release by default. Append stable to the install command for the slower channel, or a version number such as 2.1.89 to pin an exact build at install time.

Sources

Every figure above was read from these pages on August 2026. Vendors reprice without notice; if you find a stale number, tell us.

  1. Claude Code advanced setup install routes, package managers, binary integrity
  2. Claude Code quickstart first-run and account requirements
  3. @anthropic-ai/claude-code on npm published versions and platform binaries
Try it

Installed.
Now run it properly.

Continuum drives Claude Code, Codex, Cursor, Gemini, and Grok from one free app, with live quota and spend by repo.

free app · your subscriptions · local-first