Claude CodeをLinuxで使う方法|対応環境・入れ方・エラー対処
この記事でわかること
- 公式が案内しているLinuxの対応環境と、メモリなどの条件
- インストーラー・apt・dnf・apk・npmの違いと選び方
- ブラウザが開けないサーバーでのログイン方法
- メモリの少ないVPS・Docker・SSHで使うときの注意
- Linux向けサンドボックス(bubblewrap)の準備
- command not found・Illegal instructionなどのエラー対処と、更新・削除
目次
- 入れる前に確認すること
- 動作環境
- ディストリビューション別の扱い
- 自分の環境の確かめ方
- 必要なプラン
- 入れ方の選び方
- インストーラーでの手順
- 手順
- インストーラーが書き込む場所
- バージョンを指定して入れる
- Alpineで入れる場合の追加パッケージ
- apt・dnf・apkで入れる場合
- aptで入れる(UbuntuやDebian)
- dnfで入れる(FedoraやRHEL)
- apkで入れる(Alpine)
- デスクトップアプリで使う(ベータ版)
- ログインと動作確認
- ログインする
- ブラウザが開けない環境でのログイン
- ログイン情報の保存先とスクリプトでの使い方
- 動作確認の方法
- Linuxのターミナルで押さえておく設定
- サーバー・コンテナ・サンドボックス
- メモリの少ないサーバー
- Dockerのコンテナで入れる
- ネットワークとプロキシ
- 共有ストレージ(NFS)に入れる場合
- Linuxで使えるサンドボックス
- WSLで使う場合
- うまくいかないときの対処
- エラー別の早見表
- 「command not found: claude」が出るとき
- 「Illegal instruction」が出るとき
- ライブラリのエラーが出るとき
- 検索やファイル指定がうまく動かないとき
- 更新とアンインストール
- 更新のしくみ
- 更新の頻度を変える
- アンインストールする
- 設定や会話の履歴も消す
- よくある質問
- まとめ
「LinuxのパソコンやサーバーでClaude Codeを使いたいけれど、自分のディストリビューションで動くのか分からない」「入れ方がいくつかあって、どれを選べばよいのか」と迷っている方も多いのではないでしょうか。
結論から言うと、Linuxでは、ターミナルにコマンドを1行貼り付けるだけで入れられます。Node.jsを先に入れる必要はありません。UbuntuやDebianならapt、FedoraやRHELならdnf、Alpineならapkで入れる方法も、公式に用意されています。
この記事では、公式が案内している対応環境、入れ方ごとの違い、ブラウザが開けないサーバーでのログイン、メモリの少ないサーバーやDockerでの注意、Linux向けのサンドボックス、エラーの直し方、更新と削除までを順に解説します。内容は2026年10月時点の公式ドキュメントをもとにしています。コマンドは変わることがあるので、実行前に公式ドキュメントでも確かめてください。
入れる前に確認すること

Claude Codeは、Anthropic社のAI「Claude」に、パソコンの中のファイルを読ませたり、プログラムを書かせたりできる道具です。ターミナル(文字を入力して操作する画面)から使うのが基本です。入れる前に、環境が条件を満たしているかを確かめておきましょう。
動作環境
公式ドキュメントの「System requirements」に載っている、Linuxに関わる条件は次のとおりです。
| 項目 | 条件 |
|---|---|
| OS(Linux) | Ubuntu 20.04以降、Debian 10以降、Alpine Linux 3.19以降 |
| メモリ | 4GB以上 |
| プロセッサ | x64またはARM64 |
| 通信 | インターネット接続が必要 |
| シェル | Bash、Zsh、PowerShell、CMDのいずれか(Linuxでは通常BashかZsh) |
| 利用できる国・地域 | Anthropicが案内している対象国(公式の対象国一覧で確認) |
公式の動作環境に、Node.jsやGitは含まれていません。Node.jsが必要になるのは、npmで入れる場合だけです。検索に使うripgrepも、通常はClaude Code本体に同梱されています。
ディストリビューション別の扱い
公式のOS一覧に名前が載っているのは、Ubuntu・Debian・Alpineの3つです。それ以外のディストリビューションについては、公式の案内が次のように分かれています。
| ディストリビューション | 公式での扱い |
|---|---|
| Ubuntu 20.04以降 | OSの一覧に記載。インストーラー・apt・npmで入れられる |
| Debian 10以降 | OSの一覧に記載。インストーラー・apt・npmで入れられる |
| Alpine Linux 3.19以降 | OSの一覧に記載。apkでも入れられる。インストーラーを使うときは追加のパッケージが必要 |
| Fedora・RHEL | OSの一覧には載っていない。dnf用のリポジトリは公式に用意されている |
| Arch Linuxなど | OSの一覧に載っておらず、動作の保証についても公式の案内がない |
一覧に載っていないディストリビューションで使えるかどうかは、公式には案内がありません。npmのパッケージには、一般的なLinux(glibc)向けと、Alpineなどmusl系向けの2種類が用意されています。仕事で使う環境なら、一覧にあるバージョンを選ぶのが確実です。
自分の環境の確かめ方
使っているディストリビューションとCPUの種類、メモリの量は、ターミナルで次のコマンドを実行すると分かります。
cat /etc/os-release
uname -m
free -h
cat /etc/os-release はディストリビューション名とバージョン、uname -m はCPUの種類(x86_64 や aarch64 など)、free -h はメモリの量を表示します。メモリは「total」の欄を見て、4GB以上あるかを確かめてください。
必要なプラン
Claude Codeを使うには、Claudeの有料プラン(Pro・Max・Team・Enterprise)か、Claude Console(API)のアカウントが必要です。公式ドキュメントでは、無料のclaude.aiプランにはClaude Codeが含まれないと明記されています。Amazon Bedrock・Google Cloud・Microsoft Foundryといったクラウドサービス経由で使う方法もあります。
インストール自体はアカウントがなくても進められますが、入れたあとのログインで有料プランなどのアカウントが必要になります。
入れ方の選び方
Linuxで入れる方法は、大きく5つあります。迷ったら、一番上の「インストーラー」を選べば問題ありません。
| 方法 | 向いている人 | 自動更新 | おもな注意点 |
|---|---|---|---|
| インストーラー(curl) | ほとんどの人。公式のおすすめ | あり | ターミナルに1行貼り付ける |
| apt | UbuntuやDebianで、システムの更新と一緒に管理したい人 | なし(通常のシステム更新で更新) | リポジトリと署名鍵の登録が必要 |
| dnf | FedoraやRHELで、システムの更新と一緒に管理したい人 | なし(通常のシステム更新で更新) | リポジトリの登録が必要 |
| apk | Alpineで、パッケージとして管理したい人 | なし(通常のシステム更新で更新) | リポジトリと署名鍵の登録が必要 |
| npm | Node.js 22以降を使っていて、npmで管理したい人 | あり(npmのグローバルフォルダに書き込めない場合は更新できない) | sudo を付けて入れない |
インストーラーで入れたClaude Codeは、起動時や実行中に更新を確認し、バックグラウンドで新しい版を入れます。apt・dnf・apkで入れた場合は、Claude Code自身では更新されず、システムの更新作業の中で更新する形になります。サーバーの更新を管理者が一括で行っている環境では、パッケージマネージャーの方が運用に合うことがあります。
ターミナルを使うのが初めての方へ
Linuxのターミナルは、ほとんどのディストリビューションで Ctrl + Alt + T を押すか、アプリの一覧から「Terminal」を探すと開けます。この記事の手順は、コマンドをコピーして貼り付け、Enter を押す操作が中心です。貼り付けは、Linuxのターミナルでは Ctrl + Shift + V を使います(Ctrl + V では貼り付けられないことがあります)。
インストーラーでの手順

公式が最初に案内している方法です。macOS・Linux・WSLで同じコマンドを使います。インストーラーが書き込むのは、自分のユーザーフォルダの中(~/.local や ~/.claude など)で、公式の手順に sudo は出てきません。
手順
- ターミナルを開く
Ctrl + Alt + Tを押すか、アプリの一覧から「Terminal」を探して開きます。 - コマンドを貼り付けて実行する下のコマンドをコピーし、ターミナルに
Ctrl + Shift + Vで貼り付け、Enterを押します。 - 終わるまで待つインストール中は、進み具合が表示されません。画面が止まっているように見えても、閉じずに待ちます。終わると「Claude Code successfully installed!」と表示されます。
- 新しいウィンドウで確認するターミナルをいったん閉じて開き直し、
claude --versionと入力します。2.1.211 (Claude Code)のようにバージョンの番号が表示されれば成功です。 - 作業するフォルダで起動する
cdコマンドで作業したいフォルダに移動し、claudeと入力します。初回はログインに進みます。
curl -fsSL https://claude.ai/install.sh | bash
このコマンドの curl は、インストーラーのファイルを取ってくる命令です。それを bash に渡して実行します。インストールが終わると、Claude Code本体は ~/.local/share/claude/versions/ の下に置かれ、~/.local/bin/claude がそこへのショートカット(シンボリックリンク)になります。
手順5の「フォルダに移動する」は、たとえば次のように入力します。フォルダ名は自分のものに置き換えてください。
cd ~/projects/my-site
claude
インストーラーが書き込む場所
公式ドキュメントでは、LinuxとmacOSでインストーラーが使う場所が次のように示されています。会社のサーバーで、ホームフォルダの使い方に決まりがある場合は、先に確認しておきましょう。
| 場所 | 使われ方 |
|---|---|
~/.claude/downloads/ | ダウンロードしたファイルを一時的に置く |
~/.local/bin/ | claude コマンド(起動用のリンク) |
~/.local/share/claude/ | ダウンロードした各バージョン |
~/.local/state/claude/ | ロックファイルなどの状態 |
~/.cache/claude/ | ダウンロード途中のデータ |
~/.claude.json | 全体の設定ファイル(インストール方法の記録もここ) |
XDG_DATA_HOME・XDG_STATE_HOME・XDG_CACHE_HOME を設定している環境では、~/.local/share などの代わりにその場所が使われます。CLAUDE_CONFIG_DIR を設定している場合は、全体の設定ファイルがそのフォルダの下に置かれます。
「Setup notes」の表示を見落とさない
インストールの最後に Setup notes という表示が出て、~/.local/bin がPATH(コマンドを探す場所の一覧)に入っていないと知らされることがあります。インストーラーは、直し方を表示するだけで、PATHの設定は変えません。表示された内容は、必ず読んでから次に進んでください。直し方は、後の「うまくいかないときの対処」で説明します。
バージョンを指定して入れる
通常は最新版が入りますが、安定版や特定のバージョンを指定することもできます。会社で全員の環境をそろえたいときなどに使います。コマンド末尾の bash のあとに、-s と入れたいものを付けます。
| 入れたいもの | コマンド |
|---|---|
| 最新版(既定) | curl -fsSL https://claude.ai/install.sh | bash |
| 安定版(最新版より1週間ほど前のもの) | curl -fsSL https://claude.ai/install.sh | bash -s stable |
| バージョンを指定(例:2.1.89) | curl -fsSL https://claude.ai/install.sh | bash -s 2.1.89 |
入れたあとに claude --version を実行すると、指定したバージョンが表示されます。公式ドキュメントによると、入れるときに選んだ配信(stableまたはlatest)が、その後の自動更新の既定にもなります。
Alpineで入れる場合の追加パッケージ
Alpineなど、musl系のディストリビューションでインストーラーを使う場合は、事前の準備が必要です。Alpineは標準で bash と curl が入っていないため、そのまま実行すると「not found」のエラーになります。公式の手順は次のとおりです。
apk add bash curl libgcc libstdc++ ripgrep
そのあと、設定ファイル ~/.claude/settings.json に、同梱のripgrepではなくシステムのripgrepを使う設定を書きます。
{
"env": {
"USE_BUILTIN_RIPGREP": "0"
}
}
ripgrep が見つからないと言われた場合は、Alpineのcommunityリポジトリが有効になっているかを確認します。公式ドキュメントに、リポジトリを追加するコマンドが載っています。
apt・dnf・apkで入れる場合

Claude Codeは、署名つきのapt・dnf・apkのリポジトリを公式に公開しています。サーバーの管理者がシステムの更新をまとめて行っている環境では、この方法だと更新の流れを統一できます。どのリポジトリにも、配信の種類が2つあります。
| 配信 | 内容 |
|---|---|
| stable | 最新版より1週間ほど前の版。大きな不具合のあった版は飛ばされる。以下の手順で設定されるのはこちら |
| latest | リリースされた版をすぐに受け取る |
なお、公式ドキュメントには、新しく出たモデルが、stableで配信されている版より新しいClaude Codeを必要とすることがある、と書かれています。その場合は、latestに切り替える必要があります。
aptで入れる(UbuntuやDebian)
署名鍵のダウンロードと確認に curl と gpg を使います。入れたばかりのDebianやUbuntuには含まれていないことがあるので、「command not found」と出たら、先に次のコマンドで入れます。
sudo apt install curl gnupg
手順は次の3つです。
- 署名鍵をダウンロードする鍵を置くフォルダを作り、公式の鍵をダウンロードします。
- 鍵が公式のものか確かめる
gpg --show-keysで表示される指紋(フィンガープリント)が、公式の値と同じかを見比べます。 - リポジトリを登録して入れるリポジトリの設定を書き込み、
apt updateのあとに入れます。
sudo install -d -m 0755 /etc/apt/keyrings
sudo curl -fsSL https://downloads.claude.ai/keys/claude-code.asc \
-o /etc/apt/keyrings/claude-code.asc
gpg --show-keys /etc/apt/keyrings/claude-code.asc
指紋は 31DDDE24DDFAB679F42D7BD2BAA929FF1A7ECACE と表示されるのが正しい状態です。違う場合や、ファイルが開けない場合は、ダウンロードに失敗しています。ネットワークが downloads.claude.ai に届いているかを確認して、もう一度ダウンロードしてください。
echo "deb [signed-by=/etc/apt/keyrings/claude-code.asc] https://downloads.claude.ai/claude-code/apt/stable stable main" \
| sudo tee /etc/apt/sources.list.d/claude-code.list
sudo apt update
sudo apt install claude-code
latestを使いたい場合は、URLの stable を latest に、スイート名も latest に変えた行を登録します。公式ドキュメントに、その行が載っています。あとから更新するときは、次のコマンドを実行します。
sudo apt update && sudo apt upgrade claude-code
鍵のダウンロードに失敗すると、後で別のエラーになる
署名鍵が置かれていないと、あとの apt update が NO_PUBKEY BAA929FF1A7ECACE というエラーで止まります。この場合は、鍵のダウンロードからやり直してください。
dnfで入れる(FedoraやRHEL)
リポジトリの設定ファイルを作り、dnf install で入れます。stable配信の設定は次のとおりです。
sudo tee /etc/yum.repos.d/claude-code.repo <<'EOF'
[claude-code]
name=Claude Code
baseurl=https://downloads.claude.ai/claude-code/rpm/stable
enabled=1
gpgcheck=1
gpgkey=https://downloads.claude.ai/keys/claude-code.asc
EOF
sudo dnf install claude-code
初めて入れるとき、dnfが鍵のダウンロードと指紋の確認を求めます。表示される指紋が 31DD DE24 DDFA B679 F42D 7BD2 BAA9 29FF 1A7E CACE と同じであることを確かめてから承認します。更新は sudo dnf upgrade claude-code です。latestを使う場合は、baseurl の末尾を latest に変えます。
apkで入れる(Alpine)
署名鍵を取得し、リポジトリを登録して入れます。stable配信の手順は次のとおりです。
wget -O /etc/apk/keys/claude-code.rsa.pub \
https://downloads.claude.ai/keys/claude-code.rsa.pub
echo "https://downloads.claude.ai/claude-code/apk/stable" >> /etc/apk/repositories
apk add claude-code
ダウンロードした鍵は、sha256sum /etc/apk/keys/claude-code.rsa.pub の値が、公式ドキュメントに載っている値(395759c1… で始まる文字列)と同じかを確かめます。更新は apk update && apk upgrade claude-code です。
デスクトップアプリで使う(ベータ版)
ターミナルを使わずに、画面を見ながら操作したい場合は、Linux向けのClaudeデスクトップアプリがあります。公式ドキュメントでは、Linux版はベータ版と案内されています。
| 項目 | 内容 |
|---|---|
| 対応する環境 | Debian系のディストリビューション。Ubuntu 22.04以降、またはDebian 12以降 |
| プロセッサ | x86_64またはarm64 |
| 入れ方 | Anthropicのaptリポジトリを登録し、sudo apt update && sudo apt install claude-desktop |
| 更新 | アプリ自身は更新しない。sudo apt update && sudo apt upgrade で更新する |
| まだ使えない機能 | コンピューター操作、音声入力(ディクテーション) |
| FedoraやRHEL | 現時点では未対応。CLIを使うよう案内されている |
root(管理者)でアプリを起動するとエラーになるため、通常のユーザーで起動してください。ログイン情報はデスクトップ環境のキーリング(GNOME KeyringやKDE Walletなど)に保存されます。キーリングが使えない環境では、起動のたびにログインが求められます。
なお、デスクトップアプリで使えるCowork(長い作業を任せる機能)は、仮想マシンの機能(QEMUとKVM)を使います。ハードウェアの仮想化を有効にし、自分のユーザーを kvm グループに入れる必要があります。詳しい条件は公式のLinux版の案内で確認してください。
ログインと動作確認

入れ終わったら、作業するフォルダで claude を実行します。初回はログインの画面が表示されます。
ログインする
ログインの方法は、使うアカウントによって変わります。ブラウザが開いたら、案内に従ってログインを進めます。
| アカウント | ログインの流れ |
|---|---|
| Claude Pro・Max・Team・Enterprise | claude を起動し、ブラウザでclaude.aiのアカウントにログインする |
| Claude Console(API) | claude を起動し、ブラウザでConsoleのアカウントにログインする |
| Amazon Bedrockなどのクラウド | クラウド側の認証情報と環境変数を設定して使う |
環境変数 ANTHROPIC_API_KEY を設定し、起動時にそのキーを使うかと聞かれて承認した場合は、ログインの画面は省略されます。
ブラウザが開けない環境でのログイン
SSHでつないだサーバーやコンテナの中では、ブラウザが別のマシンで開いたり、そもそも開かなかったりします。この場合、ログインしたあとのブラウザに「ログインコード」が表示されます。そのコードを、ターミナルの「Paste code here if prompted」の欄に貼り付ければログインが完了します。
ブラウザが自動で開かないときは、ログインの画面で c を押すと、ログイン用のURLがクリップボードにコピーされます。そのURLを、手元のパソコンのブラウザに貼り付けて開いてください。URLが長くて途中で折り返されるSSHのターミナルでも、この方法ならクリックしないで済みます。
貼り付けても反応しない場合は、ターミナルの貼り付けのショートカットが入力欄に届いていない可能性があります。claude auth login を使うと、貼り付けたコードを標準入力から読み取るため、うまくいくことがあります。
claude auth login
古いAPIキーが残っていないか
以前の仕事や別のプロジェクトで設定した ANTHROPIC_API_KEY が、シェルの設定ファイル(~/.bashrc や ~/.profile など)に残っていると、契約中のプランではなく、そのキーが使われます。「This organization has been disabled」というエラーの原因になることがあります。/status でどの認証方法が使われているかを確認でき、unset ANTHROPIC_API_KEY で一時的に外せます。
ログイン情報の保存先とスクリプトでの使い方
Linuxでは、ログイン情報(認証情報)は ~/.claude/.credentials.json に、本人だけが読み書きできる権限(ファイルモード 0600)で保存されます。複数人で使う共有のサーバーでは、このファイルを他の人に見せない・コピーしないよう管理してください。
ブラウザでのログインができない環境(定期実行のスクリプトなど)で使いたい場合は、claude setup-token で1年間有効なトークンを発行できます。表示されたトークンを、環境変数 CLAUDE_CODE_OAUTH_TOKEN に設定して使います。このトークンは保存されないので、表示されたときに控えておく必要があります。
| 項目 | 内容 |
|---|---|
| 発行するコマンド | claude setup-token |
| 有効期間 | 1年 |
| 使う環境変数 | CLAUDE_CODE_OAUTH_TOKEN |
| 必要なプラン | Pro・Max・Team・Enterprise |
| できないこと | モデルへの問い合わせのみ。Remote Controlのセッションや、claude.aiのコネクタの取得はできない |
スクリプトから claude -p "質問" のように1回だけ実行する使い方(非対話モード)もあります。--bare を付けると起動が速くなりますが、この場合はログインの認証情報を読まないため、ANTHROPIC_API_KEY を設定しておく必要があります。
動作確認の方法
インストールとログインがうまくいっているかは、次の2つで確かめられます。
claude --version
claude doctor
claude --version は、バージョン番号を表示します。claude doctor は、起動せずに、インストールの状態・設定ファイルの誤り・警告と直し方をまとめて表示する診断コマンドです。自動更新が有効かどうかや、直近の更新の結果もここで確認できます。
Linuxのターミナルで押さえておく設定
ターミナルの種類によっては、Claude Codeの便利な操作が使えないことがあります。公式の案内では、次のような違いがあります。
| ターミナル | Shift+Enterでの改行 |
|---|---|
| Ghostty、Kitty、WezTerm | 設定なしで使える |
| foot、Alacritty 0.16以降 | 設定なしで使える(v2.1.269以降が必要) |
| VS Code・Cursorなどの内蔵ターミナル、Alacritty 0.16より前 | /terminal-setup を1回実行する |
| gnome-terminal | 使えない。Ctrl + J、または \ を入力してから Enter で改行する |
どのターミナルでも、Ctrl + J か、\ を入力してから Enter を押す方法なら、設定なしで改行できます。
通知も、標準ではGhostty・Kitty・iTerm2でだけデスクトップ通知が送られます。他のターミナルでは、設定の preferredNotifChannel を "terminal_bell" にすると、ベルの音で知らせてくれます。長い作業を任せて別の画面を見ているときに便利です。
サーバー・コンテナ・サンドボックス

Linuxでは、手元のパソコンだけでなく、VPS(レンタルサーバー)や社内サーバー、Dockerのコンテナの中でClaude Codeを動かす場面も多くあります。この章では、そうした環境での注意点をまとめます。
メモリの少ないサーバー
動作環境でメモリは4GB以上とされています。インストール時には、空きメモリが約512MB必要です。メモリの小さなVPSでは、インストールの途中で Killed と表示されて止まることがあります。これは、メモリ不足でLinuxのOOMキラー(メモリ不足のときにプロセスを強制終了する仕組み)が動いたためです。
対処は、次の3つのどれかです。
- スワップ(ディスクを使った補助メモリ)を追加してから、もう一度入れる
- 他のプロセスを止めて、空きメモリを増やす
- メモリの大きいインスタンスに変える
公式ドキュメントのスワップ追加の手順は、次のとおりです。2GBのスワップファイルを作って有効にします。
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
これはOSの設定を変える操作です。共有のサーバーでは、管理者に確認してから行いましょう。
Dockerのコンテナで入れる
Dockerのビルドの中でインストーラーを動かすとき、rootで / の直下から実行すると、処理が止まることがあります。インストーラーがファイルシステム全体を調べにいき、メモリを大量に使うためです。公式ドキュメントでは、作業フォルダを指定してから実行するよう案内されています。
WORKDIR /tmp
RUN curl -fsSL https://claude.ai/install.sh | bash
Docker Desktopを使っている場合は、ビルドが使うメモリがDocker Desktopの仮想マシンの割り当てを共有します。それでも止まるときは、「Settings」の「Resources」でメモリの上限を上げてから、もう一度ビルドしてください。
チームで同じ環境をそろえたい場合は、開発コンテナ(dev container)にClaude Codeを入れる方法もあります。公式が用意している「Dev Container Feature」を、devcontainer.json の features の項目に加えるだけで入ります。Claude Codeが実行するコマンドは、ホストのパソコンではなく、コンテナの中で動きます。
コンテナの中の認証情報に注意
公式ドキュメントでは、確認なしで実行するモードを使うと、信頼できないプロジェクトがコンテナの中の情報(~/.claude にあるログイン情報を含む)を外に持ち出せる可能性があると警告されています。信頼できるリポジトリでだけ使い、~/.ssh のような秘密の情報をコンテナにマウントしないようにしてください。
ネットワークとプロキシ
社内のネットワークで止まる場合は、次のコマンドで、インストーラーの取得先に届くかを確認します。
curl -sI https://downloads.claude.ai/claude-code-releases/latest
先頭の行が HTTP/2 200 なら届いています。403 は、プロキシやフィルターが止めているか、利用できない地域であることが多いとされています。何も表示されない、または「Could not resolve host」と出る場合は、ネットワークが接続を止めています。社内のプロキシを使う環境では、環境変数でプロキシのアドレスを指定してから実行します。
export HTTPS_PROXY=http://proxy.example.com:8080
export HTTP_PROXY=http://proxy.example.com:8080
curl -fsSL https://claude.ai/install.sh | bash
社内でSSLの検査をしているプロキシがある場合は、その会社の証明書を NODE_EXTRA_CA_CERTS で指定します。OSの証明書ストアに入っていれば、追加の設定なしで動くことが公式に説明されています。ファイアウォールで通信を許可するときに必要な宛先は、公式の「Network access requirements」の表にまとまっています。代表的なものは次のとおりです。
| 宛先 | 用途 |
|---|---|
api.anthropic.com | Claude APIへのリクエスト |
claude.ai | claude.aiアカウントの認証 |
platform.claude.com | Consoleアカウントの認証。claude.aiアカウントのトークン更新にも使われる |
downloads.claude.ai | インストーラー、自動更新、更新の確認、プラグインのダウンロード |
共有ストレージ(NFS)に入れる場合
ホームフォルダをNFSなどのネットワークストレージに置いている会社では、注意が必要です。実行中のClaude Codeは、本体のファイルを、起動時だけでなく作業の途中でもディスクから読み込みます。ファイルが途中で削除されたり、切り詰められたりすると、セッションが落ちて、Linuxでは Bus error と表示されます。
公式ドキュメントは、次のような対策を示しています。
- 各マシンのローカルディスクに入れる(パッケージマネージャーでの導入を含む)
- 新しい版は、古い版とは別のフォルダに入れる
- 古い版は、どのマシンでも使われていないことが確かな場合だけ削除する
- Claude Code自身の更新を止め(
DISABLE_UPDATES)、自社の配布の仕組みで入れ直す
Linuxで使えるサンドボックス
サンドボックスは、Claudeが実行するシェルのコマンドを、OSの仕組みで決まった範囲に閉じ込める機能です。書き込める場所や通信できる宛先を限定でき、1つずつ許可を求められる回数を減らせます。公式ドキュメントでは、macOS・Linux・WSL2で使え、標準ではオフと説明されています。
Linuxでは、bubblewrap と socat が必要です。次のコマンドで入れます。
# Ubuntu・Debian
sudo apt-get install bubblewrap socat
# Fedora
sudo dnf install bubblewrap socat
入れたら、Claude Codeを再起動して、セッションの中で /sandbox を実行します。必要なパッケージが足りない場合は、画面に「Dependencies」というタブだけが表示されて、足りないものが分かります。
Ubuntu 24.04以降は、追加の設定が必要なことがある
Ubuntu 24.04以降の標準のAppArmorの設定では、bubblewrapが必要な仕組み(ユーザー名前空間)を作れないことがあります。sysctl kernel.apparmor_restrict_unprivileged_userns を実行して、1 と表示された場合は、公式ドキュメントにあるAppArmorのプロファイルを追加します。0 や「No such file or directory」なら、この手順は不要です。
サンドボックスの対象は、シェルのコマンドだけです。Claudeのファイル読み書きのツール、MCPサーバー、フックは、サンドボックスの外で動きます。Docker内など、権限の少ないコンテナでは、bubblewrapが起動できないことがあります。その場合の設定(enableWeakerNestedSandbox)は、安全性が大きく下がるため、外側のコンテナがすでに隔離の役割を果たしている場合にだけ使うよう、公式に注意が書かれています。
WSLで使う場合
Windowsのパソコンで、WSLの中のLinuxにClaude Codeを入れる場合も、この記事のインストーラーの手順と同じです。WSLのターミナルの中で入れて、起動します。WSLの選び方や、Windows側の設定は、別の記事で詳しく解説しています。WSL 2ならサンドボックスも使えます。
うまくいかないときの対処

Linuxで起きやすいエラーを、公式ドキュメントの内容をもとに早見表にまとめました。ターミナルに出た文字と見比べてみてください。
エラー別の早見表
| 表示されるエラー | 原因 | 対処 |
|---|---|---|
bash: claude: command not found | ~/.local/bin がPATHに入っていない | PATHに追加して、新しいターミナルを開く |
syntax error near unexpected token '<' | インストーラーではなく、Webページが返ってきた | 数分待って再実行。「App unavailable in region」なら対象外の地域 |
curl: (22) ... error: 403 | プロキシ・フィルターによる遮断、または対象外の地域 | ネットワークの確認(前の章を参照) |
Killed、または「Installation was killed」 | メモリ不足 | スワップを追加する、メモリを増やす |
Error loading shared library | OSに合わないバイナリが入った | 下の「ライブラリのエラー」を参照 |
Illegal instruction | アーキテクチャの不一致、またはCPUがAVX命令に未対応 | 下の「Illegal instruction」を参照 |
Bus error | 実行中に本体のファイルが読めなくなった | 新しいセッションで再開。共有ストレージの構成を見直す |
EACCES: permission denied | インストール先に書き込めない | 書き込み権限の確認 |
unable to get local issuer certificate | 社内のプロキシの証明書が信頼されていない | NODE_EXTRA_CA_CERTS で証明書を指定する |
「command not found: claude」が出るとき
インストールは終わったのに claude が見つからない場合、~/.local/bin がPATHに入っていません。まず、ファイルがあるかを確かめます。
ls -la ~/.local/bin/claude
「No such file or directory」と出たら、インストールが終わっていません。もう一度インストールします。ファイルが表示されたら、次のコマンドでPATHに追加します。Linuxの標準的なシェルがBashなら ~/.bashrc、Zshなら ~/.zshrc に書きます。
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
claude --version
どのシェルを使っているか分からないときは、echo $0 で確認します。fishやNushellなど、BashやZsh以外のシェルでは、そのシェルの書き方で ~/.local/bin をPATHに追加してください。それでも見つからない場合は、次のような原因が考えられます。
- 設定を変える前から開いているウィンドウは、古いPATHのままになっている。新しいウィンドウを開く
- エディタ(VS Codeなど)の中のターミナルは、エディタのPATHを引き継ぐ。エディタを開き直す
- 別のシェルの設定ファイルに書いてしまった。
echo $0でシェルを確かめて、書き直す
設定ファイルに書けない(Permission denied)場合は、ファイルの持ち主が別のユーザー(rootなど)になっていないかを ls -l ~/.bashrc で確認します。自分のものなら、chmod u+w ~/.bashrc で書き込めるようにします。
「Illegal instruction」が出るとき
Claude Codeのネイティブのバイナリが、CPUの対応していない命令を使っている場合に出るエラーです。原因は2つあります。1つは、ARMのサーバーにx86用のバイナリが入るなど、アーキテクチャが合っていない場合です。uname -m の結果が、入ったバイナリの種類と合っているかを確かめます。
もう1つは、CPUがAVXという命令に対応していない場合です。2013年より前のIntel・AMDのCPUや、仮想マシンのハイパーバイザーがAVXを渡していない環境が該当します。VPSやVMでは、次のコマンドで確認できます。
grep -m1 -ow avx /proc/cpuinfo
何も表示されなければ、AVXが使えません。公式ドキュメントには、ネイティブのバイナリでの回避策はないと書かれています。npmなどの別の方法でも、同じバイナリが入るため解決しません。別のサーバー(仮想マシンの設定変更を含む)を使う必要があります。
ライブラリのエラーが出るとき
libstdc++.so.6 や libgcc_s.so.1 が見つからないというエラーが出る場合は、システムに合わない種類のバイナリが入った可能性があります。次のコマンドで、使っているC言語ライブラリの種類を確かめます。
ldd --version 2>&1 | head -1
表示に「GNU libc」や「GLIBC」とあればglibc、「musl」とあればmuslです。
- glibcなのにmusl用が入った場合:glibcのシステムに、muslのクロスコンパイル用パッケージが入っていると、インストーラーが誤って判定することがあります。いったん削除して、入れ直します。直らない場合は、公式のGitHubのissueに、
ldd --versionなどの出力を添えて報告するよう案内されています。 - 実際にmuslの場合(Alpineなど):
apk add libgcc libstdc++ ripgrepで必要なパッケージを入れます。
インストール後に、ほかのライブラリが足りているかを確かめたいときは、次のコマンドを使います。何も表示されなければ、不足はありません。
ldd "$(command -v claude)" | grep "not found"
検索やファイル指定がうまく動かないとき
同梱のripgrepが、使っているシステムで動かない場合、検索や @ でのファイル指定が働かないことがあります。この場合は、システムのripgrepを入れて、Claude Codeにそれを使わせます。
sudo apt install ripgrep
そのあと、設定ファイル ~/.claude/settings.json の env に "USE_BUILTIN_RIPGREP": "0" を書きます(Alpineの章で示した形と同じです)。claude doctor を実行して、検索の行が同梱版ではなくシステムのripgrepのパスになっていれば成功です。
原因が分からないときは
公式ドキュメントでは、まず claude doctor と、which -a claude で複数のインストールが残っていないかを確認するよう案内されています。native版・npm版・古いローカル版(~/.claude/local/)が混在していると、意図しない版が動くことがあります。
更新とアンインストール

入れたあとの更新と、不要になったときの削除の方法を説明します。
更新のしくみ
更新の方法は、入れ方によって異なります。
| 入れ方 | 更新のされ方 | 手動で更新するコマンド |
|---|---|---|
| インストーラー | 自動。起動時と実行中に確認し、次の起動から新しい版になる | claude update |
| apt | 自動ではない | sudo apt update && sudo apt upgrade claude-code |
| dnf | 自動ではない | sudo dnf upgrade claude-code |
| apk | 自動ではない | apk update && apk upgrade claude-code |
| npm | 書き込める場合は自動 | npm install -g @anthropic-ai/claude-code@latest |
更新後は、claude update が「Successfully updated from …」または「Claude Code is up to date」と表示します。npmでは npm update -g を使わないよう、公式に注意があります。インストール時の範囲で止まり、最新版に進まないことがあるためです。
なお、公式ドキュメントには、パッケージマネージャー側に新しい版が反映される前に、Claude Codeが更新を知らせることがある、という既知の事象も書かれています。更新に失敗したときは、しばらく待ってからやり直してください。
更新の頻度を変える
インストーラーで入れた場合は、設定で更新の配信を選べます。/config の「Auto-update channel」か、設定ファイルに次のように書きます。
{
"autoUpdatesChannel": "stable"
}
latest(既定)は、リリースされた版をすぐに受け取ります。stable は、1週間ほど前の版で、大きな不具合のあった版を飛ばします。自動更新そのものを止めたい場合は、設定ファイルの env に "DISABLE_AUTOUPDATER": "1" を書きます。このとき claude update は引き続き使えます。手動の更新も含めて止めたい場合は、DISABLE_UPDATES を使います。
アンインストールする
入れ方ごとに、削除のコマンドが異なります。
| 入れ方 | 削除のコマンド |
|---|---|
| インストーラー | rm -f ~/.local/bin/claude と rm -rf ~/.local/share/claude |
| apt | sudo apt remove claude-code、さらにリポジトリの設定(/etc/apt/sources.list.d/claude-code.list)と鍵(/etc/apt/keyrings/claude-code.asc)を削除 |
| dnf | sudo dnf remove claude-code、さらに /etc/yum.repos.d/claude-code.repo を削除 |
| apk | apk del claude-code、さらにリポジトリの行と鍵(/etc/apk/keys/claude-code.rsa.pub)を削除 |
| npm | npm uninstall -g @anthropic-ai/claude-code |
| デスクトップアプリ | sudo apt remove claude-desktop |
削除したあとも claude が動く場合は、別の方法でも入れていて、2つ目のインストールが残っています。which -a claude で見つかった場所を確認し、不要な方を削除してください。
設定や会話の履歴も消す
設定・許可したツール・会話の履歴が消える
設定ファイルを削除すると、設定、許可したツール、MCPサーバーの設定、会話の履歴がすべて消えます。あとで使う可能性がある場合は、この手順は行わないでください。
完全に削除する場合は、次のコマンドを使います。VS Codeの拡張機能・JetBrainsのプラグイン・デスクトップアプリも ~/.claude/ に書き込むため、先にそれらを削除しておかないと、フォルダが再び作られます。
# ユーザーの設定と状態
rm -rf ~/.claude
rm ~/.claude.json
# プロジェクトの設定(プロジェクトのフォルダで実行)
rm -rf .claude
rm -f .mcp.json
よくある質問
どのLinuxディストリビューションで使えますか?
公式のOS一覧に載っているのは、Ubuntu 20.04以降、Debian 10以降、Alpine Linux 3.19以降です。FedoraやRHEL向けのdnfのリポジトリも公式に用意されています。それ以外については、公式に動作の保証の案内はありません。
sudoは必要ですか?
インストーラーの手順では、sudoは使いません。書き込み先は自分のユーザーフォルダの中です。apt・dnf・apkでの導入や、サンドボックスのパッケージ(bubblewrapなど)の追加には、管理者権限が必要です。npmでは、sudo npm install -g を使わないよう、公式に警告されています。
Node.jsは必要ですか?
インストーラー・apt・dnf・apkで入れる場合は不要です。Node.jsが必要なのは、npmで入れる場合(22以降)だけです。npmのパッケージも、入るのはインストーラーと同じネイティブのバイナリで、実行時にNode.jsは使われません。
GUIのない(デスクトップ環境のない)サーバーでも使えますか?
使えます。CLIはターミナルだけで動きます。ログインは、別のパソコンのブラウザでURLを開き、表示されたコードを貼り付ける形になります。定期実行のスクリプトで使うなら、claude setup-token のトークンか、APIキーを使います。
Raspberry PiなどのARM機でも使えますか?
動作環境に、ARM64のプロセッサが含まれています。npmのパッケージにも、linux-arm64 と linux-arm64-musl が用意されています。ただし、個別の機種での動作確認は、公式には案内がありません。メモリは4GB以上が条件です。
LinuxでもデスクトップアプリのClaude Codeは使えますか?
UbuntuとDebianなどのDebian系向けに、ベータ版があります。Ubuntu 22.04以降、またはDebian 12以降が対象です。FedoraやRHELでは、現時点では未対応で、CLIを使うよう案内されています。
自動更新を止めたいときはどうすればよいですか?
設定ファイルの env に "DISABLE_AUTOUPDATER": "1" を書きます。会社で版をそろえたいときは、claude update も含めて止める DISABLE_UPDATES もあります。apt・dnf・apkで入れた場合は、もともと自動更新されません。
サーバーでログインのブラウザが開きません。どうすればよいですか?
ブラウザが開かない環境では、ログイン画面で c を押してURLをコピーし、別のパソコンのブラウザで開きます。ログイン後に表示されたコードを、ターミナルに貼り付けます。時刻がずれていると、トークンの検証で失敗することがあるため、システムの時計も確認してください。
社内のプロキシの中で使えますか?
使えます。HTTPS_PROXY と HTTP_PROXY にプロキシのアドレスを設定します。SSLを検査するプロキシの場合は、その証明書がOSの証明書ストアにあれば、追加の設定なしで動きます。ない場合は、NODE_EXTRA_CA_CERTS に証明書のファイルを指定します。
サンドボックスは必ず使うべきですか?
標準ではオフで、使うかどうかは自分で決められます。公式ドキュメントでは、サンドボックスを使うと、許可を1つずつ確認される回数を減らせると説明されています。業務のデータを扱うサーバーでは、使うことを検討する価値があります。
まとめ
この記事のまとめ
- 公式のOS一覧にあるLinuxは、Ubuntu 20.04以降、Debian 10以降、Alpine Linux 3.19以降。メモリは4GB以上、x64またはARM64が条件
- 入れ方は、
curl -fsSL https://claude.ai/install.sh | bashの1行が基本。Node.jsは不要で、sudoも使わない - apt・dnf・apkでも入れられるが、自動更新はされない。システムの更新の中で更新する
- ブラウザが開けないサーバーでは、ログイン後に表示されるコードをターミナルに貼り付ける。スクリプトでは
claude setup-tokenが使える - メモリの少ないVPSでは、インストールが
Killedで止まることがある。スワップを足すか、メモリを増やす - サンドボックスは標準ではオフ。Linuxでは
bubblewrapとsocatを入れて、/sandboxで有効にする
Linuxは、サーバーやコンテナ、社内のネットワークの制約など、パソコンごとに事情が異なります。まずは1台のサーバーか、手元のLinuxで試して、入れ方・更新の方法・サンドボックスの有無を決めてから、他のマシンへ広げると失敗が少なくなります。
社内のサーバーへの導入や、権限・ネットワークの設計、社員の方への使い方の説明など、決めることが増える段階では、INTERCREATE JAPANでもClaude Codeの導入支援を行っています。環境の確認から、社内で使い続けられる形づくりまでご相談ください。
参考・出典
- Advanced setup(Claude Code Docs)
- Troubleshoot installation and login(Claude Code Docs)
- Claude Desktop on Linux (beta)(Claude Code Docs)
- Sandboxing(Claude Code Docs)
- Authentication(Claude Code Docs)
- Enterprise network configuration(Claude Code Docs)
- Terminal guide for new users(Claude Code Docs)
- Configure your terminal for Claude Code(Claude Code Docs)
- Troubleshooting(Claude Code Docs)
- Development containers(Claude Code Docs)
INTERCREATE JAPAN