270 lines
7.1 KiB
Markdown
270 lines
7.1 KiB
Markdown
> ## Documentation Index
|
|
> Fetch the complete documentation index at: https://vineetagarwal-code-claude-code.mintlify.app/llms.txt
|
|
> Use this file to discover all available pages before exploring further.
|
|
|
|
# Installation
|
|
|
|
> Install Claude Code on macOS, Linux, or Windows (via WSL). Requires Node.js 18 or higher.
|
|
|
|
## Requirements
|
|
|
|
* **Node.js 18 or higher** — Claude Code checks the Node.js version at startup and exits with an error if it is below 18.
|
|
* **npm** — included with Node.js.
|
|
|
|
Check your current version:
|
|
|
|
```bash theme={null}
|
|
node --version
|
|
npm --version
|
|
```
|
|
|
|
***
|
|
|
|
## Install Claude Code
|
|
|
|
Install globally with npm:
|
|
|
|
```bash theme={null}
|
|
npm install -g @anthropic-ai/claude-code
|
|
```
|
|
|
|
After installation, verify it works:
|
|
|
|
```bash theme={null}
|
|
claude --version
|
|
```
|
|
|
|
***
|
|
|
|
## Platform-specific notes
|
|
|
|
<Tabs>
|
|
<Tab title="macOS">
|
|
npm global installs work out of the box on macOS. If you get a permissions error when running `npm install -g`, you have two options:
|
|
|
|
**Option A: Fix npm permissions (recommended)**
|
|
|
|
Configure npm to use a directory in your home folder:
|
|
|
|
```bash theme={null}
|
|
mkdir -p ~/.npm-global
|
|
npm config set prefix ~/.npm-global
|
|
```
|
|
|
|
Add the following to your shell profile (`~/.zshrc` or `~/.bash_profile`):
|
|
|
|
```bash theme={null}
|
|
export PATH=~/.npm-global/bin:$PATH
|
|
```
|
|
|
|
Then reload your profile and install:
|
|
|
|
```bash theme={null}
|
|
source ~/.zshrc
|
|
npm install -g @anthropic-ai/claude-code
|
|
```
|
|
|
|
**Option B: Use a Node version manager**
|
|
|
|
Tools like [nvm](https://github.com/nvm-sh/nvm) or [fnm](https://github.com/Schniz/fnm) install Node.js in your home directory, which avoids global permission issues entirely:
|
|
|
|
```bash theme={null}
|
|
# Using nvm
|
|
nvm install --lts
|
|
nvm use --lts
|
|
npm install -g @anthropic-ai/claude-code
|
|
```
|
|
</Tab>
|
|
|
|
<Tab title="Linux">
|
|
On most Linux distributions, `npm install -g` requires either `sudo` or a corrected npm prefix. Using `sudo` is not recommended because it can create permission problems later.
|
|
|
|
**Recommended: Use a Node version manager**
|
|
|
|
```bash theme={null}
|
|
# Install nvm
|
|
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash
|
|
|
|
# Reload your shell, then install Node.js
|
|
nvm install --lts
|
|
nvm use --lts
|
|
|
|
# Install Claude Code
|
|
npm install -g @anthropic-ai/claude-code
|
|
```
|
|
|
|
**Alternative: Fix npm global prefix**
|
|
|
|
```bash theme={null}
|
|
mkdir -p ~/.npm-global
|
|
npm config set prefix ~/.npm-global
|
|
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
|
|
source ~/.bashrc
|
|
npm install -g @anthropic-ai/claude-code
|
|
```
|
|
</Tab>
|
|
|
|
<Tab title="Windows (WSL)">
|
|
Claude Code runs on Windows through the Windows Subsystem for Linux (WSL). Running it directly in Command Prompt or PowerShell is not supported.
|
|
|
|
**Step 1: Install WSL**
|
|
|
|
Open PowerShell as Administrator and run:
|
|
|
|
```powershell theme={null}
|
|
wsl --install
|
|
```
|
|
|
|
Restart your machine when prompted. This installs WSL 2 with Ubuntu by default.
|
|
|
|
**Step 2: Open a WSL terminal**
|
|
|
|
Launch Ubuntu from the Start menu, or run `wsl` from PowerShell.
|
|
|
|
**Step 3: Install Node.js inside WSL**
|
|
|
|
```bash theme={null}
|
|
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash
|
|
source ~/.bashrc
|
|
nvm install --lts
|
|
nvm use --lts
|
|
```
|
|
|
|
**Step 4: Install Claude Code**
|
|
|
|
```bash theme={null}
|
|
npm install -g @anthropic-ai/claude-code
|
|
```
|
|
|
|
<Note>
|
|
Always run `claude` from within your WSL terminal, not from Windows CMD or PowerShell. Your project files should live inside the WSL filesystem (e.g., `~/projects/`) for best performance. Accessing Windows files via `/mnt/c/...` works but is slower.
|
|
</Note>
|
|
</Tab>
|
|
</Tabs>
|
|
|
|
***
|
|
|
|
## Updating
|
|
|
|
Update Claude Code to the latest version with:
|
|
|
|
```bash theme={null}
|
|
npm update -g @anthropic-ai/claude-code
|
|
```
|
|
|
|
Or use Claude Code's built-in update command:
|
|
|
|
```bash theme={null}
|
|
claude update
|
|
```
|
|
|
|
To check what version you're running:
|
|
|
|
```bash theme={null}
|
|
claude --version
|
|
```
|
|
|
|
***
|
|
|
|
## Uninstalling
|
|
|
|
Remove Claude Code with:
|
|
|
|
```bash theme={null}
|
|
npm uninstall -g @anthropic-ai/claude-code
|
|
```
|
|
|
|
This removes the `claude` binary. Your configuration files in `~/.claude/` are not removed automatically. To delete them:
|
|
|
|
```bash theme={null}
|
|
rm -rf ~/.claude
|
|
```
|
|
|
|
***
|
|
|
|
## Troubleshooting
|
|
|
|
<AccordionGroup>
|
|
<Accordion title="'claude' command not found after installation">
|
|
This usually means the npm global bin directory is not on your `PATH`.
|
|
|
|
Find where npm installs global binaries:
|
|
|
|
```bash theme={null}
|
|
npm config get prefix
|
|
```
|
|
|
|
The `bin` subdirectory of that path needs to be on your `PATH`. For example, if the output is `/home/you/.npm-global`, add this to your shell profile:
|
|
|
|
```bash theme={null}
|
|
export PATH=/home/you/.npm-global/bin:$PATH
|
|
```
|
|
|
|
Reload your shell (`source ~/.zshrc` or open a new terminal) and try again.
|
|
</Accordion>
|
|
|
|
<Accordion title="Node.js version is below 18">
|
|
Claude Code requires Node.js 18 or higher. If you see this error at startup:
|
|
|
|
```
|
|
Error: Claude Code requires Node.js version 18 or higher.
|
|
```
|
|
|
|
Upgrade Node.js using your version manager:
|
|
|
|
```bash theme={null}
|
|
# nvm
|
|
nvm install --lts
|
|
nvm use --lts
|
|
|
|
# fnm
|
|
fnm install --lts
|
|
fnm use --lts
|
|
```
|
|
|
|
Or download the latest LTS release from [nodejs.org](https://nodejs.org).
|
|
</Accordion>
|
|
|
|
<Accordion title="Permission denied when running npm install -g">
|
|
Do not use `sudo npm install -g` — it can leave files owned by root and cause further issues. Instead, fix your npm prefix to point to a user-writable directory:
|
|
|
|
```bash theme={null}
|
|
mkdir -p ~/.npm-global
|
|
npm config set prefix ~/.npm-global
|
|
export PATH=~/.npm-global/bin:$PATH
|
|
npm install -g @anthropic-ai/claude-code
|
|
```
|
|
|
|
Add the `export PATH` line to your shell profile so it persists across sessions.
|
|
</Accordion>
|
|
|
|
<Accordion title="Authentication fails on first run">
|
|
If the browser-based OAuth flow fails or you cannot use a browser, set your API key directly as an environment variable instead:
|
|
|
|
```bash theme={null}
|
|
export ANTHROPIC_API_KEY=sk-ant-...
|
|
claude
|
|
```
|
|
|
|
You can add this to your shell profile to make it permanent. API keys are available in the [Anthropic Console](https://console.anthropic.com).
|
|
</Accordion>
|
|
|
|
<Accordion title="Running inside Docker or a CI environment">
|
|
In non-interactive environments, authenticate with an API key via the environment variable:
|
|
|
|
```bash theme={null}
|
|
export ANTHROPIC_API_KEY=sk-ant-...
|
|
```
|
|
|
|
Use the `-p` flag to run non-interactively:
|
|
|
|
```bash theme={null}
|
|
claude -p "run the test suite and report any failures"
|
|
```
|
|
|
|
If you need Claude Code to operate without permission prompts in a sandboxed container, use the `--dangerously-skip-permissions` flag. This flag only works in environments that pass Claude Code's sandbox safety checks (no internet access and not running as root outside a container).
|
|
</Accordion>
|
|
</AccordionGroup>
|
|
|
|
|
|
Built with [Mintlify](https://mintlify.com). |