Skip to content

Linux Setup

Back to Day 0

Prerequisites

You need Node.js v18 or higher and npm.

Step 1: Install Node.js

fnm (Fast Node Manager) is officially recommended by Node.js. It is fast, lightweight, and lets you switch Node versions easily if needed later.

  1. Open your browser and go to nodejs.org/en/download.

  2. You will see a row of dropdowns that says: "Get Node.js vXX.XX.X (LTS) for __ using __ with __". Set the dropdowns as follows:

    DropdownSelect
    VersionvXX.XX.X (LTS) -- keep the default LTS version
    OSLinux
    Package Managerfnm (under "Recommended (Official)")
    Package Formatnpm -- keep the default
  3. The page will show you the exact commands to run. Open your terminal and copy-paste them. They will look something like this:

    bash
    # Step 1 -- Install fnm
    curl -fsSL https://fnm.vercel.app/install | bash
    
    # Step 2 -- Restart your terminal or reload your shell profile
    source ~/.bashrc   # or: source ~/.zshrc (if you use zsh)
    
    # Step 3 -- Install Node.js
    fnm install 24   # The page will show the exact version number

    INFO

    The version number may differ from above -- always use whatever the website shows.

  4. Close and reopen your terminal (or run the source command above) so that fnm, node, and npm are available.

Why fnm?

It is in the "Recommended (Official)" category on the Node.js download page. Like nvm, it installs Node into your home directory so you never need sudo for npm global installs -- but fnm is significantly faster (written in Rust) and works the same across Windows, macOS, and Linux.

Option B: Using your distro's package manager

This is quicker but may install an older version of Node.js. Check the version after installing -- if it is below v18, use Option A instead.

Ubuntu / Debian:

bash
sudo apt update
sudo apt install -y nodejs npm

# Check the version
node --version   # Must be v18 or higher

Fedora:

bash
sudo dnf install -y nodejs npm

Arch Linux:

bash
sudo pacman -S nodejs npm

Option C: NodeSource (Latest LTS via apt, no nvm)

For Ubuntu/Debian users who want the latest LTS without using nvm:

bash
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt install -y nodejs

Step 2: Verify Node.js

bash
node --version
npm --version

Both should print version numbers. node --version must show v18.x or higher.

Step 3: Install Claude Code

bash
npm install -g @anthropic-ai/claude-code

Permission Error?

  • If you used fnm or nvm: this should not happen. Check that it is active (which node should point to a path inside your home directory, not /usr/...).

  • If you used a system install: either use sudo npm install -g @anthropic-ai/claude-code or fix npm's global directory permissions:

    bash
    mkdir -p ~/.npm-global
    npm config set prefix '~/.npm-global'
    echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
    source ~/.bashrc

Step 4: Verify Claude Code

bash
claude --version

You should see the Claude Code version printed.

Next Step

Head back to Day 0 for authentication setup.


Notes

  • WSL (Windows Subsystem for Linux): This guide works inside WSL too. Just follow these steps from your WSL terminal.
  • PATH issues: If claude is not found after install, ensure npm's global bin is in your PATH. Run npm config get prefix -- the bin/ subdirectory of that path needs to be in your PATH.