Claude Codeを Linux・ Ubuntuに 入れる 手順と SSHでの ログイン
- Ubuntu・Debian・WSLは公式のcurlコマンド1行で入り、Node.jsは要りません。
- apt・dnf・apkの公式リポジトリもあり、その場合は自分で更新します。
- SSH先のサーバーでは、手元のブラウザでログインしてコードを端末に貼ります。
Ubuntu・
curl -fsSL https://claude.ai/install.sh | bash入ったら新しいターミナルでclaude --versionを実行します。

Claude Code は Ubuntu や Debian なら、ターミナルにコマンドを 1 行貼れば入ります。Node.js を先に入れる必要はありません。
curl -fsSL https://claude.ai/install.sh | bash入ったら新しいターミナルを開き、claude --version でバージョン番号が出るか確かめます。作業するフォルダで claude と打てば始まり、最初の 1 回だけブラウザでログインします。
- apt・dnf・apk で管理したいなら Anthropic の署名付きリポジトリから入れられます(自動では更新されません)
- Alpine Linux は先に
bash、curl、libgcc、libstdc++、ripgrepを入れます - SSH 先のサーバーでは、手元のブラウザでログインし、表示されたコードを端末に貼ります
- sandbox を使うときは
bubblewrapとsocatを入れます - Windows の WSL2 でも同じコマンドで入ります
動作環境、コマンド、エラーの直し方は、2026年10月26日に公式のセットアップ手順、インストールとログインのトラブル対応、認証、sandbox、Linux版デスクトップアプリの頁と照らし合わせました。
Mac と Windows を含めたインストール全体の手順はClaude Codeのインストール方法の記事にあります。この記事は Linux に絞って、ディストリビューションごとの入れ方、サーバーでのログイン、Linux で起きやすいつまずきを扱います。
Linuxの 動作環境
公式のシステム要件のうち、Linux に関わるものは次のとおりです。
| 項目 | 要件 |
|---|---|
| 項目ディストリビューション | 要件Ubuntu 20.04以降、 |
| 項目メモリ | 要件4GB以上 |
| 項目CPU | 要件x64または |
| 項目シェル | 要件Bashまたは |
| 項目ネットワーク | 要件インターネット接続 |
検索に使う ripgrep は、ふつうは Claude Code に同梱されています。インストールの途中には、およそ 512MB の空きメモリが要ります。
Fedora と RHEL は要件の一覧に名前がありませんが、公式は dnf のリポジトリを Fedora・RHEL 向けとして公開しています。Arch Linux 向けの手順やパッケージは、公式の頁にはありません。公式のデスクトップアプリの頁は、Fedora や Arch のような Debian 系でないディストリビューションでは CLI を使うよう案内しています。
入れ方の 選び方
Linux で公式が案内している入れ方は次の 5 つです。迷ったらネイティブインストーラーを使います。
| 入れ方 | 向いている環境 | 更新 |
|---|---|---|
| 入れ方ネイティブイ | 向いている環境ほとんどの環境 | 更新自動 |
| 入れ方apt | 向いている環境Ubuntu・ | 更新手動 |
| 入れ方dnf | 向いている環境Fedora・ | 更新手動 |
| 入れ方apk | 向いている環境Alpine Linux | 更新手動 |
| 入れ方npm | 向いている環境Node.jsで | 更新手動 |
apt・dnf・apk のリポジトリは、パッケージをまとめて管理しているサーバーや、/home がネットワークの上にあって各マシンのローカルディスクへ入れたい環境に向いています。どの入れ方でも中身は同じ Claude Code です。2 つ以上の入れ方を混ぜると、どちらの claude が動いているか分からなくなるので、1 つに決めます。
ネイティブイ ンストーラーで 入れる
Ubuntu、Debian、WSL では、次の 1 行で入ります。
curl -fsSL https://claude.ai/install.sh | bashダウンロード中は進み具合が表示されません。終わるまで待ちます。入る場所は自分のホームフォルダの下で、起動用の ~/.local/bin/claude から、本体を置く ~/.local/share/claude/versions/ へリンクが張られます。
新しいバージョンが出るとすぐ届く latest が既定です。大きな不具合のある版を飛ばし、およそ 1 週間遅れで届く stable を選ぶなら、次のように入れます。
curl -fsSL https://claude.ai/install.sh | bash -s stable決まったバージョンを入れるときは、番号を渡します。
curl -fsSL https://claude.ai/install.sh | bash -s 2.1.89入ったか 確かめる
新しいターミナルを開いて、次の 2 つを実行します。
claude --version
claude doctor2.1.211 (Claude Code) のようにバージョン番号が出れば入っています。claude doctor はセッションを始めずに、インストールの状態、設定ファイルの誤り、更新の結果を読み取って表示します。bash: claude: command not found と出たら、PATHを通すの手順に進みます。
aptで 入れる (Ubuntu・ Debian)
apt では、Anthropic のリポジトリを登録してから入れます。下の手順は stable のリポジトリを使います。
署名鍵の取得に curl と gpg を使います。入っていない場合は先に入れます。
sudo apt install curl gnupg署名鍵をダウンロードします。
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鍵が Anthropic のものか確かめます。
gpg --show-keys /etc/apt/keyrings/claude-code.asc表示されるフィンガープリントが次と同じなら正しい鍵です。
31DDDE24DDFAB679F42D7BD2BAA929FF1A7ECACEリポジトリを登録して入れます。
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鍵の取得に失敗していると、apt update が NO_PUBKEY BAA929FF1A7ECACE で止まります。downloads.claude.ai に届くか確かめて、鍵のダウンロードからやり直します。
latest を使うときは、URL の stable と、その後ろの stable の 2 か所を latest に変えた行を登録します。
echo "deb [signed-by=/etc/apt/keyrings/claude-code.asc] https://downloads.claude.ai/claude-code/apt/latest latest main" \
| sudo tee /etc/apt/sources.list.d/claude-code.listdnfで 入れる (Fedora・ RHEL)
dnf では、リポジトリの設定ファイルを作ってから入れます。下の手順は 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 CACElatest を使うときは、baseurl を https://downloads.claude.ai/claude-code/rpm/latest に変えます。
Alpine Linuxで 入れる
Alpine など musl を使うディストリビューションでは、ネイティブインストーラーの前に必要なパッケージを入れます。Alpine には bash も curl も最初は入っていないので、そのままインストーラーを実行すると not found で止まります。
apk add bash curl libgcc libstdc++ ripgrepripgrep は community リポジトリにあります。見つからないと言われたら、自分の Alpine のバージョンに合わせて community リポジトリを足し、apk update してから apk add をやり直します。
echo "https://dl-cdn.alpinelinux.org/alpine/v3.22/community" >> /etc/apk/repositories入れたら、settings.json で同梱の ripgrep ではなく、いま入れた ripgrep を使うよう設定します。
{
"env": {
"USE_BUILTIN_RIPGREP": "0"
}
}apk のリポジトリから入れることもできます。下の手順は 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 で確かめます。公式の頁に載っている値と同じなら正しい鍵です。
npmで 入れる場合
npm でも入れられます。公式が求めるのは Node.js 22 以降です。
npm install -g @anthropic-ai/claude-codenpm 版も、中身はネイティブインストーラーと同じ実行ファイルです。Linux では linux-x64、linux-arm64、linux-x64-musl、linux-arm64-musl に対応しています。更新は npm update -g ではなく、次のコマンドで最新版を指定します。
npm install -g @anthropic-ai/claude-code@latest権限の問題やセキュリティのリスクにつながるため、公式は sudo npm install -g を使わないよう案内しています。
PATHを 通す (command not found のとき)
インストールは終わったのに bash: claude: command not found と出るときは、~/.local/bin が PATH に入っていません。インストーラーもこのとき Native installation exists but ~/.local/bin is not in your PATH. と表示します。
まず、本体があるか確かめます。
ls -la ~/.local/bin/claudeファイルがあれば、PATH に入っているか確かめます。
echo $PATH | tr ':' '\n' | grep -Fx "$HOME/.local/bin"何も出なければ、Bash なら ~/.bashrc に足して読み込み直します。
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrcZsh を使っているなら、~/.bashrc を ~/.zshrc に置き換えます。bash: /home/you/.bashrc: Permission denied と出たら、そのファイルに書き込む権限がありません。ls -l ~/.bashrc で持ち主を見て、別のユーザー(root など)なら sudo chown $(whoami) ~/.bashrc、自分なら chmod u+w ~/.bashrc で直してから、もう一度足します。
SSH先や ブラウザの ない サーバーで ログインする
Claude Code を使うには、Pro、Max、Team、Enterprise のいずれかのプランか、Console のアカウントが要ります。無料の Claude.ai のプランには Claude Code が含まれません。
claude を初めて起動すると、ログインのためにブラウザを開こうとします。SSH でつないだサーバーやコンテナでは、ブラウザが開かないか、別のマシンで開きます。その場合は次の順に進めます。
- ログインの画面で
cを押し、ログイン用の URL をコピーする - 手元のパソコンのブラウザでその URL を開き、ログインする
- ブラウザに表示されたコードを、端末の
Paste code here if promptedに貼る Login successfulと出たら Enter を押す
コードを貼っても反応しないときは、端末の貼り付けが入力欄に届いていません。次のコマンドなら、貼ったコードを標準入力から読みます。
claude auth loginログインの情報は、Linux では ~/.claude/.credentials.json に、持ち主だけが読める権限(0600)で保存されます。ログインし直すときは、Claude Code の中で /logout を実行してから claude を起動し直します。
CI やスクリプトのように、ブラウザでのログインができない場所では、claude setup-token で 1 年間有効なトークンを作れます。トークンは画面に出るだけで保存されないので、使う場所で環境変数に入れます。
claude setup-token
export CLAUDE_CODE_OAUTH_TOKEN=your-tokenこのトークンは Pro、Max、Team、Enterprise のプランで使え、できるのはモデルへのリクエストだけです。API の従量課金で使うなら、Console で作った API キーを環境変数 ANTHROPIC_API_KEY に入れる方法もあります。両方があるとき、どちらが使われているかは Claude Code の中の /status で確かめます。
ログインで困ったときの症状別の直し方は、次の記事にまとめています。
関連記事sandboxを 使う (bubblewrapと socat)
Claude Code の sandbox は、Claude が実行するコマンドから見えるファイルと通信先を絞る仕組みです。Linux と WSL2 では、次の 2 つのパッケージを使います。
bubblewrapはファイルの隔離に使うsocatは通信を sandbox のプロキシへ流すのに使う
Ubuntu・Debian では次のコマンドで入れます。
sudo apt-get install bubblewrap socatFedora では次のとおりです。
sudo dnf install bubblewrap socat入れたら Claude Code を起動し直し、/sandbox を実行します。足りないものがあれば、/sandbox の Dependencies タブに表示されます。全部のプロジェクトで使うなら、~/.claude/settings.json で sandbox.enabled を true にします。
Ubuntu 24.04 以降では、既定の AppArmor の設定が bubblewrap の動きを止めます。次のコマンドで確かめます。
sysctl kernel.apparmor_restrict_unprivileged_userns0 が出るか、No such file or directory と出るなら何もしなくて構いません。1 が出たら、bubblewrap 用のプロファイルを作って AppArmor を読み込み直します。
sudo tee /etc/apparmor.d/bwrap > /dev/null <<'EOF'
abi <abi/4.0>,
include <tunables/global>
profile bwrap /usr/bin/bwrap flags=(unconfined) {
userns,
include if exists <local/bwrap>
}
EOF
sudo systemctl reload apparmorこのプロファイルが効くのは bwrap そのものだけで、sandbox の中で動くコマンドには効きません。必要なパッケージが足りないとき、Claude Code は既定では sandbox なしでコマンドを実行します。sandbox を使えないなら起動を止めたい場合は、sandbox.failIfUnavailable を true にします。
更新する
ネイティブインストーラーで入れた Claude Code は、起動時と使っている間に新しい版を確かめ、裏で更新します。更新が効くのは次に起動したときです。すぐに更新したいときは次のコマンドを実行します。
claude updateapt・dnf・apk で入れた場合は、Claude Code が自分で更新しません。管理者の権限が要るので、次のコマンドを自分で実行します。
| 入れ方 | 更新の |
|---|---|
| 入れ方apt | 更新のコマンドsudo apt update && sudo apt upgrade claude-code |
| 入れ方dnf | 更新のコマンドsudo dnf upgrade claude-code |
| 入れ方apk | 更新のコマンドapk update && apk upgrade claude-code |
公式の頁には、パッケージマネージャーに新しい版が届く前に Claude Code が更新を知らせることがある、と書かれています。更新に失敗したら、しばらく待ってからやり直します。更新の止め方やバージョンの確かめ方は、次の記事で説明しています。
関連記事アンインストールする
入れ方ごとに消し方が違います。ネイティブインストーラーで入れた場合は、次の 2 行です。
rm -f ~/.local/bin/claude
rm -rf ~/.local/share/claudeapt の場合は、パッケージとリポジトリの設定を消します。
sudo apt remove claude-code
sudo rm /etc/apt/sources.list.d/claude-code.list /etc/apt/keyrings/claude-code.ascdnf の場合は次のとおりです。
sudo dnf remove claude-code
sudo rm /etc/yum.repos.d/claude-code.repoapk の場合は次のとおりです。
apk del claude-code
sed -i '\|downloads.claude.ai/claude-code/apk|d' /etc/apk/repositories
rm /etc/apk/keys/claude-code.rsa.pubnpm の場合は npm uninstall -g @anthropic-ai/claude-code です。設定や会話の履歴まで消すときは ~/.claude と ~/.claude.json も消します。消すと設定、許可したツール、MCP サーバーの設定、セッションの履歴がなくなります。手順の続きは次の記事にあります。
デスクトップアプリの Linux版 (ベータ)
ターミナルではなく画面で操作したい場合は、Claude のデスクトップアプリにも Linux 版があります。2026年10月26日の時点ではベータです。
| 項目 | 内容 |
|---|---|
| 項目対応 | 内容Ubuntu 22.04以降、 |
| 項目CPU | 内容x86_64または |
| 項目入れ方 | 内容Anthropicの |
| 項目更新 | 内容システムの |
Fedora や RHEL、Arch のような Debian 系でないディストリビューションには、まだ対応していません。Ubuntu 20.04 は、パッケージが求める libc6 より古いので入りません。こうした環境では、この記事の CLI を使います。Linux 版ではまだ使えない機能として、Computer Use と音声入力が挙がっています。入れ方の手順は公式のLinux版の頁にあり、デスクトップアプリでの使い方は次の記事で説明しています。
Windowsの WSL2で 使う場合
Windows の WSL2 では、WSL のターミナルを開いて、この記事と同じ curl -fsSL https://claude.ai/install.sh | bash で入れます。起動も WSL の中で行います。WSL1 では sandbox が使えず、cannot execute binary file: Exec format error で動かないことがあります。PowerShell で wsl --set-version <DistroName> 2 を実行して WSL2 に変えるのが、公式の案内するいちばん簡単な直し方です。
Windows のネイティブと WSL2 の選び方は、次の記事にまとめています。
関連記事Linuxで よく ある エラー
インストール中に Killedと出る
メモリの少ない VPS やクラウドのサーバーで多い症状です。メモリが足りなくなり、Linux がインストールの処理を止めています。インストーラーは Installation was killed before it could finish (exit code 137) と表示して終わります。
インストールには、およそ 512MB の空きメモリが要ります。ほかのプロセスを止めるか、次のように 2GB のスワップを作ってから入れ直します。
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
curl -fsSL https://claude.ai/install.sh | bash使うときにはもっとメモリが要ります。公式の要件は 4GB 以上なので、できるなら大きいサーバーに変えます。
Dockerの 中で インストールが 止まる
コンテナの中で root のまま / からインストーラーを実行すると、ファイル全体を調べてメモリを使いすぎ、止まることがあります。Dockerfile で作業フォルダを決めてから実行します。
WORKDIR /tmp
RUN curl -fsSL https://claude.ai/install.sh | bashDocker Desktop を使っているなら、Settings の Resources でメモリの上限を上げる方法もあります。
Error loading shared library と出る
libstdc++.so.6 や libgcc_s.so.1 が見つからないと出るときは、自分のシステムに合わない実行ファイルが入っています。glibc のシステムに musl のクロスコンパイル用のパッケージがあると、インストーラーが musl と取り違えることがあります。まず、どちらを使っているか確かめます。
ldd --version 2>&1 | head -1GNU libc か GLIBC と出れば glibc です。glibc なのに musl 版が入っていたら、消して入れ直します。musl と出たら、Alpine の手順と同じく apk add libgcc libstdc++ ripgrep で足りないパッケージを入れます。
Illegal instruction と出る
CPU が実行ファイルの命令に対応していません。まず uname -m で、ARM のサーバーに x86 版が入っているような取り違えがないか確かめます。取り違えがなければ、CPU が AVX に対応していない可能性があります。VPS や仮想マシンでは、次のコマンドで何も出なければ AVX が使えません。
grep -m1 -ow avx /proc/cpuinfoおおむね 2013 年より前の CPU や、AVX を仮想マシンに渡さない環境で起きます。npm など別の入れ方でも同じ実行ファイルが入るので、入れ方を変えても直りません。
syntax errorや 403が出る
syntax error near unexpected token '<' や curl: (22) The requested URL returned error: 403 は、インストール用の URL からスクリプトではなく Web 頁やエラーが返ってきています。社内のプロキシや通信の制限が多い原因です。まず、配布元に届くか確かめます。
curl -sI https://downloads.claude.ai/claude-code-releases/latest1 行目の状態の数字が 200 なら届いています。Linux では多くの場合 HTTP/2 200 と出ますが、HTTP/1.1 でつながると HTTP/1.1 200 のように出ます。プロキシを通す必要がある環境では、プロキシの住所を入れてからインストーラーを実行します。
export HTTP_PROXY=http://proxy.example.com:8080
export HTTPS_PROXY=http://proxy.example.com:8080
curl -fsSL https://claude.ai/install.sh | bash使っている 途中に Bus errorで 落ちる
/home が NFS のようなネットワークの上にあり、複数のマシンで同じフォルダを使っていると起きることがあります。使っている途中に、別のマシンの更新で実行ファイルが消されると、セッションが Bus error で落ちます。公式は、パッケージマネージャーなどで各マシンのローカルディスクに入れ、Claude Code 自身の更新は DISABLE_UPDATES で止める方法を案内しています。
ここに挙げていない症状は、原因の切り分け方をまとめた次の記事で探せます。
関連記事よく ある質問
Claude Codeは Ubuntu 20.04でも 使えますか?
CLI は使えます。公式の要件は Ubuntu 20.04 以降です。デスクトップアプリの Linux 版は Ubuntu 22.04 以降なので、20.04 では入りません。
Linuxで Claude Codeを 入れるのに Node.jsは 要りますか?
要りません。ネイティブインストーラーと apt・dnf・apk のリポジトリは、Node.js なしで入ります。Node.js が要るのは npm で入れる場合だけで、Node.js 22 以降を使います。
Arch Linuxでも Claude Codeを 使えますか?
公式の頁に Arch Linux 向けの手順やパッケージはありません。公式は Debian 系でないディストリビューションでは CLI を使うよう案内していて、CLI の要件は x64 か ARM64 の CPU と 4GB 以上のメモリです。
ブラウザの ない サーバーでも ログインできますか?
できます。ログインの画面で c を押して URL をコピーし、手元のブラウザで開いてログインします。ブラウザに出たコードを端末に貼れば終わります。CI のような場所では、claude setup-token で作ったトークンを CLAUDE_CODE_OAUTH_TOKEN に入れて使えます。
aptで 入れた 場合は 自動で 更新されますか?
自動では更新されません。sudo apt update && sudo apt upgrade claude-code を自分で実行します。dnf と apk も同じで、自動で更新されるのはネイティブインストーラーで入れた場合です。
まとめ
- Ubuntu・Debian・WSL は
curl -fsSL https://claude.ai/install.sh | bashの 1 行で入り、Node.js は要らない - apt・dnf・apk の公式リポジトリもあり、こちらは自分で更新する
- Alpine は先に
bash、curl、libgcc、libstdc++、ripgrepを入れる command not foundは~/.local/binを PATH に足せば直る- SSH 先では、手元のブラウザでログインしてコードを端末に貼る
- sandbox は
bubblewrapとsocatを入れて/sandboxで確かめる


