Skip to content
Houtini.
Contact
Beginner's Guides ·6 June 2026

Claude Code System Requirements: Mac, Windows, Linux (2026)

Discuss and expand Ask ChatGPT Email LinkedIn

What you need to install and run Claude Code on Mac, Windows and Linux in 2026. Anthropic's official spec, what real-world setups actually use, where the install falls over, and the practitioner gotchas the most popular tutorials don't cover.

A minimal architecture diagram showing the Claude Code CLI on a developer machine connecting over HTTPS to the Anthropic API in the cloud, with the local GPU clearly marked as idle

Heads up before you read on: this guide is about Claude Code, Anthropic's terminal-based CLI coding tool. It is not about the Claude Desktop Electron app (that is claude-desktop-system-requirements ), and it is not a Cursor plugin or a VS Code extension. Several of the top-ranked guides for this query get that wrong. If you arrived here expecting the chat app or an IDE integration, you want a different page.

Claude Code runs in your shell. It is a Node.js CLI that talks to Anthropic's API and orchestrates your local file system, terminal, and dev tools the way a senior pair-programmer would. The hardware bar is genuinely low because the model runs in Anthropic's cloud, not on your machine. The real cost lands somewhere else: install route choice, Node version, terminal compatibility, network policy, and the orchestration overhead when Claude Code is running half a dozen sub-agents in parallel against your codebase. This guide covers all of it.

What Claude Code is (and what it is not)

Claude Code is a command-line interface (CLI - a tool you run in a terminal, no graphical window of its own) that wraps the Anthropic API and adds an agentic loop on top. You run claude in a project directory. Claude reads your files, plans a change, executes it, runs tests, and iterates. The model itself - Sonnet 4 by default, Opus for heavy reasoning (Opus 4.8 at the time of writing, but Anthropic ships new versions every few weeks so check the banner that prints when you launch claude) - runs on Anthropic's servers. Your machine's job is to host the CLI process, run the dev tools Claude calls, and stream tokens back and forth.

Tech With Tim's beginner tutorial puts the disambiguation plainly: "Claude Code is not a desktop application. It actually runs directly inside of your shell or your terminal." The article hasn't aged because the confusion hasn't - beginners still arrive at Claude Code searches expecting the Electron chat client and bounce when they find a CLI.

Three things Claude Code is NOT, because the SERP is currently full of articles that get this wrong:

  1. Not the Claude Desktop app. Claude Desktop is the Electron chat client. It has a window, a side panel, and a Connectors UI for MCP servers. Claude Code has none of those. They are different products with different requirements.
  2. Not an IDE plugin. Claude Code does not install inside Cursor, Windsurf, or VS Code as an extension in the way those IDEs' own AI features do. It runs alongside your editor in a terminal pane. The Anthropic VS Code / Cursor extension you can install from the marketplace surfaces Claude Code's terminal UI inside the editor - the underlying CLI is the same.
  3. Not a local LLM. Claude Code does not run a model on your hardware. There is no GPU requirement. You do not need a 3090 or a 4090. If you have read otherwise, the article you read confused Claude Code with a local-LLM runner like Ollama or LM Studio.

The honest caveat: Anthropic does ship a VS Code extension that surfaces Claude Code inside the editor, and Cursor has built-in integration with Claude models for its own agent. Both exist. Neither is Claude Code itself - the CLI is the substrate; those are surfaces on top.

Official requirements (Anthropic's published spec)

From Anthropic's docs as of June 2026:

OSMinimumShell
macOS13.0 VenturaBash, Zsh, Fish
Windows10 1809, 64-bitPowerShell, CMD, WSL
LinuxUbuntu 20.04, Debian 11, RHEL 9, Fedora 38 or equivalentBash, Zsh
ResourceMinimumWhat real setups actually use
RAM4GB8GB+
Disk200MB for the CLI2GB if you go the npm fallback route with full Node tooling
NetworkOutbound HTTPS to `api.anthropic.com`Same, plus OAuth callback on `localhost` during `claude login`
Node.jsRequired only for the npm install pathNode 18 LTS or newer (Node 20 ideal)

After install, claude --version should return something like:

2.1.167 (Claude Code)

The native installers (the curl-piped install script on Mac and Linux, the PowerShell irm command on Windows) bundle the runtime. The npm fallback (npm install -g @anthropic-ai/claude-code) needs Node.js pre-installed and adds the most common install failures - more on that below.

Worth knowing up front: as of 2026, Anthropic has reclassified the homebrew and npm install paths as legacy routes and points new installs at the native installers. Leon van Zyl's 2026 setup walkthrough catches this directly: "these native installs are recommended." The articles still leading with npm install -g are mostly pre-2026 content that hasn't refreshed.

What you actually need

Anthropic's 4GB RAM minimum is technically true and operationally misleading. Claude Code's own footprint is small. The CLI process holds your conversation context in memory and streams tokens to and from the API. Memory pressure comes from what Claude Code does on your behalf.

Most teams I talk to underestimate this by about 4x. Claude Code orchestrates sub-agents that spawn parallel processes against your codebase. It runs your test suite. It boots a dev server. It launches a Docker container for an integration test. It opens a browser for end-to-end checks. By the time a five-step agentic plan is mid-execution you have the CLI plus several spawned processes plus your existing editor session plus the dev tools competing for RAM.

A realistic picture:

  • 8GB RAM runs Claude Code fine for small projects (a Next.js app, a CLI tool, a small Go service) when Claude is doing one thing at a time.
  • 16GB RAM is the floor for serious development. Claude Code plus VS Code plus a running dev server plus the test runner plus a Docker container sits around 10-12GB used.
  • 32GB RAM is what I'd recommend if you run Claude Code against a large monorepo or with multiple sub-agents working in parallel work-trees.

Worth knowing about a Reddit r/ClaudeCode thread that titles itself "Why does running Claude Code often use 20-40GB of RAM?" - the answer in the comments turned out to be a misbehaving custom audio hook the user had attached to the agent's completion cycle, not Claude Code itself. The CLI process at idle holds your conversation context in memory and otherwise stays modest. If you see 20GB+ in Task Manager, look at your hooks before you blame the CLI.

GPU: not needed. There is no local inference. Your dGPU sits at idle while Claude Code runs unless your dev tools (Docker GPU passthrough, ML training jobs, browser-based 3D testing) happen to use it. The "do I need a 3090" question that comes up on Reddit confuses Claude Code with local-LLM hosting; they are different problems.

Disk: 200MB for the CLI is accurate. The npm fallback pulls in Node and a small dependency graph, taking the install closer to 500MB-1GB. The real disk pressure comes from Claude Code creating work-tree branches when sub-agents run in parallel - each sub-agent gets a cloned working directory. A monorepo with five parallel sub-agents needs five copies of your repo on disk for the duration of the session.

CPU: Claude Code is CPU-light at idle and CPU-bursty when sub-agents spawn. Any 8th-gen Intel or M1 Apple Silicon or equivalent is enough.

To be fair to Anthropic's documentation: the "4GB RAM, 200MB disk" minimum is genuinely true for the CLI alone. It just stops being true the moment Claude Code does anything useful with it.

Install path on each OS

macOS

The native installer is now the canonical route:

curl -fsSL https://claude.ai/install.sh | bash
claude --version

Successful install output looks like:

Downloading Claude Code installer...
Detected: macOS 14.5 (Apple Silicon)
Installing to ~/.local/bin/claude...
Adding to PATH in ~/.zshrc...
Done. Restart your shell or run: source ~/.zshrc

The script installs a native binary, sets your PATH, and registers the auto-updater. No Node.js needed. The legacy Homebrew route (brew install anthropic/tap/claude-code) still works but Anthropic now flags it as a fallback rather than the lead recommendation.

After install, run claude from any project directory. The first run prompts for authentication. See the next section.

Windows

Two valid routes depending on your terminal:

Native Windows (PowerShell 7+):

irm https://claude.ai/install.ps1 | iex
claude --version

Successful install output:

Downloading Claude Code installer...
Detected: Windows 11 (x64)
Installing to %USERPROFILE%\.local\bin\claude.exe...
Adding to PATH...
Done. Open a new PowerShell window.

WSL2 / Ubuntu under Windows: use the Mac/Linux curl command above. Inside WSL Claude Code behaves the same as on native Linux.

Many Windows developers prefer the WSL route because the agentic file-system operations behave more predictably against a Linux filesystem than against Windows paths with spaces. Either route is viable; neither is faster. Pick the one matching your existing dev shell.

One real Windows gotcha worth flagging from Tech With Tim's walkthrough : when Claude Code itself tries to install a dependency (Git, in his case), PowerShell often refuses with a permissions error and you have to close, right-click the PowerShell icon, and "Run as administrator" before the next attempt works. The install docs gloss over this. The fix is unglamorous: if you see a permissions error 30 seconds in, relaunch the shell as admin and retry - your Claude Code session resumes fine.

If you are on corporate-managed Windows: the native installer sometimes fails silently because group policy blocks the publisher. Get IT to whitelist Anthropic's publisher certificate, or use the npm fallback inside WSL.

Linux

curl -fsSL https://claude.ai/install.sh | bash
claude --version

Successful install output:

Downloading Claude Code installer...
Detected: Ubuntu 22.04 LTS (x64)
Installing to ~/.local/bin/claude...
Adding to PATH in ~/.bashrc...
Done. Restart your shell or run: source ~/.bashrc

The script supports Ubuntu, Debian, RHEL, Fedora, and most derivatives. If you are on a long-term-support distro that ships an older Node (Ubuntu 20.04 ships Node 12), the native installer handles its own runtime - you do not need to install Node first for this route.

The npm fallback works on every distro that has Node 18+ installed. If you specifically need the npm route (e.g. you want pinned versions or you're inside a constrained container without curl), install Node from NodeSource first:

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install nodejs
npm install -g @anthropic-ai/claude-code

ripgrep is a runtime dependency Claude Code uses for fast codebase search. Most distros have it as ripgrep in the package manager.

Authentication: claude login

After install, the first claude invocation triggers OAuth. Claude Code opens a browser, logs you into your Anthropic Console account, and stores a token in ~/.claude/credentials.json.

claude login

The first launch opens your browser, walks you through the Anthropic sign-in, and stores the token. Once you've signed in successfully:

Authentication successful.
Logged in as: you@yourcompany.com (Pro plan)
Token stored at: ~/.claude/credentials.json

Anthropic's official setup docs carry the canonical step-by-step if anything has changed since this article.

Two 2026 walkthroughs I cross-checked frame the auth choice the same way: Claude Pro / Max / Teams / Enterprise subscriptions and pay-as-you-go API keys both work, and the trade-off is real. Subscriptions cap your spend (the rate limits reset every few hours; you can't blow through your monthly cap) - as Leon van Zyl puts it , "you will never exceed your monthly subscription fee." API keys are pay-as-you-go and uncapped - Leon's flat warning is that "these API costs can get really expensive very quickly."

If you're running Claude Code on a personal project budget, take the subscription. If you're running it inside an org with metered cost tracking, the API key gives you a cleaner per-token bill. The Anthropic Console requires a $5 minimum credit top-up if you take the API-key route.

Three common gotchas:

  1. Corporate proxies. If your network blocks outbound connections to console.anthropic.com, the OAuth flow stalls. Set HTTPS_PROXY and HTTP_PROXY environment variables before running claude login, or use an API key directly (export ANTHROPIC_API_KEY=sk-ant-...).
  2. Free-tier Claude.ai accounts. Free-tier accounts work for the chat app but not for the CLI's API path. Add a payment method to your Console workspace or pick a paid subscription before you wonder why claude keeps returning 401.
  3. Per-user OAuth state. Claude Code stores its token per user. If you sudo claude, you're a different user with no token. Run claude login as the user who'll run the CLI.

If you want to skip OAuth entirely and use an API key, export ANTHROPIC_API_KEY in your shell profile. The CLI checks the env var before triggering the browser flow.

claude doctor - the diagnostic tool

When Claude Code launches, it runs lightweight self-checks immediately and surfaces any unresolved problem in the welcome banner. The status line prompts you to run the full diagnostic. Here's an actual session - this guide was written from inside Claude Code itself - showing the pattern in action:

A live Claude Code session in Windows Terminal. Version banner shows Claude Code v2.1.167 with Opus 4.8 (1M context) Claude Max. The status line below reads '1 setup issue: MCP · /doctor' prompting the user to run the diagnostic. The welcome prompt 'Try write a test for filepath' appears below the banner ready for input.

The 1 setup issue: MCP · /doctor line is the surface; claude doctor is the depth.

claude doctor

Running /doctor (or claude doctor from the command line) prints the actual diagnostic inline in your session:

Live output of the /doctor diagnostic inside a running Claude Code session showing the auto-updater check, Node.js version, ripgrep presence, network reachability to api.anthropic.com, authentication state, config integrity, and MCP server health

claude doctor walks the install: Node version, ripgrep presence, network access to the API, authentication state, config file integrity. The output flags exactly what is broken. Most install issues I see on community forums - "claude command not found", "auth keeps failing", "agent never completes" - are diagnosed by claude doctor in one command.

Worth flagging honestly: the most popular 2026 Claude Code tutorials don't demonstrate this command at all. Three videos with a combined audience of well over a million viewers and not one of them runs claude doctor on screen. The diagnostic exists, Anthropic's docs cover it, and it's the single most useful first-line tool when something is wrong. The tutorials skipping it is itself a failure mode worth noting. Read the doctor output before you read the Reddit thread.

Where setup falls over

I have walked through enough Claude Code installs to have a strong opinion on what breaks. Four failure modes, in order of frequency.

1. PATH not set after install. The native installers register Claude Code on PATH for new shells, not the shell you ran the install in. Open a fresh terminal session or run source ~/.zshrc (or your equivalent) before trying claude --version. The "command not found" error 30 seconds after a successful install is almost always this.

2. Node version too old when using the npm fallback. The npm package requires Node 18 minimum. Long-term-support distros (Ubuntu 20.04, RHEL 8) ship Node 12 or 14. The install command appears to succeed but claude fails to start with a cryptic Node error. The fix is unglamorous: install a newer Node via NodeSource or nvm before the npm install, not after. The native installer route avoids this entirely.

3. PowerShell refuses to install dependencies. Tim's tutorial hit this live: when Claude Code asked PowerShell to install Git, the shell threw a permissions error. The fix is to relaunch PowerShell as administrator - right-click, "Run as administrator" - and retry. Your Claude Code conversation state survives the shell restart.

There is also a less obvious version of this: if your machine sleeps mid-session or if you've changed your network (e.g. switched VPNs), Claude Code can drop its keep-alive against the API. The recovery is normally just retyping your prompt; if the agent never responds, exit with /exit and relaunch claude. Your conversation history is gone but your project files are untouched.

4. Authentication state lost between sessions. Claude Code stores its OAuth token in ~/.claude/credentials.json. If you run Claude Code as a different user (sudo, a CI runner, a different shell profile) the token is not there. The agent silently fails to authenticate and behaves as if you never logged in. Run claude login as the user who will run the CLI. If you are running in CI, use an API key in an environment variable, not OAuth.

The fifth one worth mentioning: corporate firewalls that block outbound HTTPS to api.anthropic.com or that man-in-the-middle the TLS connection with a corporate certificate. Both produce confusing errors. If you are on a managed machine and nothing else is working, this is probably it. Check with your IT team.

A practical first-ten-minutes checklist after install

Once claude --version returns something sane, run through this. Each item is something the 2026 practitioner videos flag as a beginner stumble.

  1. Run claude doctor. Confirms Node version, ripgrep presence, network access to the API, auth state, config integrity. Catches almost every install issue before it costs you a Reddit thread.
  2. Run /terminal-setup inside claude. Out of the box, Enter submits the prompt and there's no way to add a newline mid-message. /terminal-setup configures shift+Enter as newline. Leon van Zyl's setup walkthrough flags this as the first ten-minute gotcha most people hit.
  3. Check /context. Shows your token usage out of the 200,000-token per-conversation budget. You'll be surprised how fast a long agentic session burns it. Use /clear between unrelated tasks rather than letting Claude Code auto-compact.
  4. Decide your model with /model. Whatever Anthropic's current Opus flagship is when you read this (Opus 4.8 at time of writing — visible in the launch banner of any running Claude Code session). Sonnet 4 for daily use, Haiku for short cheap tasks. Don't leave Opus on for everything; the cost adds up.
Interactive /model picker inside Claude Code showing the three model tiers - Opus for heavy reasoning, Sonnet for daily use, Haiku for short cheap tasks - with the current selection highlighted and arrow-key navigation
  1. Mind the .claude folder. Claude Code writes per-project state into .claude/ in your working directory the moment it starts editing files. Add .claude/credentials.json to your project gitignore if it appears there. The .claude/settings.json file (per-project permissions) is fine to commit.

Beyond the checklist, the full slash-command reference is one keystroke away — type /help from any Claude Code session and the full command list scrolls in:

Live output of /help inside a Claude Code session showing the full slash-command reference - /model, /context, /agents, /clear, /compact, /doctor, /insights, /terminal-setup, /skill, /effort and more - one keystroke away

What this article is not about

If you are setting up the Claude Desktop Electron app, see claude-desktop-system-requirements . If you want a guide to MCP servers that extend Claude Code, see the best MCPs for Claude Code . If you want the hooks and sub-agents walkthrough, see the Claude Code hooks guide .

If you searched for "Claude Code" expecting an IDE-native AI feature, you may actually want Cursor's built-in agent or the Anthropic Claude desktop app's coding mode - both are easier on-ramps for non-CLI users.

Where to go from here

Get the install clean, run claude doctor, pick your model, and you're done with the setup phase. The interesting parts of Claude Code - sub-agents, hooks, skills, the work-tree branching that makes parallel agentic workflows possible - all assume the CLI is installed cleanly and the auth is working. Tutorials covering those features assume this baseline.

Worth getting it right first.

By email

Get new posts by email.

Drop your email below and we will send you the next article when it lands. No spam, unsubscribe anytime.