WSL/LinuxでDeepSeekを使ったClaude Code:インストール、設定、テスト、よくあるエラーの修正
WSLまたはLinuxにClaude Codeをインストールし、DeepSeekのAnthropic互換エンドポイント経由で接続し、接続を確認して、よくある401、403、404エラーを修正する方法を学びます。この実践的なガイドでは、npmでのインストール、~/.claude/settings.json、環境変数、モデル選択、制限のある地域で作業する開発者向けのより安全なセットアップ手順を解説します。

DeepSeek を使った Claude Code のカバー
Anthropic の直接エンドポイントに依存せず、WSL または Linux 内で Claude Code を実行したいなら、現時点で最もすっきりした方法は、DeepSeek の Anthropic 互換 API に向けることです。
これが元のチュートリアルの中核となる手順であり、正直なところ、多くの開発者が直面し続けているまさにその問題を解決します。Claude Code のインストール自体は問題なく完了するのに、実際の最初のセッションがリージョンアクセス、エンドポイントルーティング、またはモデル設定のせいで失敗するという問題です。
そこで、これを曖昧な「AI コーディングツールの概要」にするのではなく、実践的に進めましょう。やることは4つです。
WSL または Linux に Claude Code をインストールする
DeepSeek 経由でルーティングする
CLI のデバッグに時間を無駄にする前にエンドポイントをテストする
最初に出やすい一般的なエラーを修正する
Claude Code と DeepSeek のセットアップフロー
このセットアップが重要な理由
表面的には、Claude Code は単なるターミナルベースのコーディングアシスタントの1つにすぎません。実際に便利なのは、コードを少し知っているだけのチャットボックスのように振る舞うのではなく、リポジトリを読み取り、コマンドを実行し、ファイルを検査し、実際の開発ワークフローの中にとどまれる点です。
摩擦が起きるのは、接続性に問題が出始めたときです。
制限のあるネットワーク環境で作業している開発者にとって、公式のデフォルト経路が本当の障害になることがあります。だからこそ DeepSeek を使う方法は魅力的です。Claude Code のワークフローはそのまま維持しつつ、バックエンドの経路を DeepSeek が提供する Anthropic 互換エンドポイントに差し替えられるからです。
この点で、このガイドは単なる「これらのコマンドをコピーしてください」という投稿よりも有用になります。正しく見えるセットアップと実際に動作するセットアップの違いは、たいてい次の点にあります。
どの環境変数を設定するか
それらをどこに永続化するか
どのモデル名を使うか
claude を起動する前にエンドポイントをテストするかどうか
ステップ1:WSL または Linux に Claude Code をインストールする
元の記事では npm ベースのインストール手順を使っており、WSL または Linux で Node がすでに準備できている場合、今でも問題なく機能します。
ネットワークが不安定な場合は、まず公式 npm レジストリに切り替えてから Claude Code をグローバルにインストールし、その後で普段使っているミラーに戻します。
# Switch to the official npm registry
npm config set registry https://registry.npmjs.org
# Install Claude Code globally
npm install -g @anthropic-ai/claude-code
# Switch back to your preferred mirror
npm config set registry https://registry.npmmirror.com
ネットワークに問題がなければ、短い手順で十分です。
npm install -g @anthropic-ai/claude-code
次に、インストールを確認します。
claude --version
バージョン番号が表示されれば、CLI 自体は正しくインストールされています。これはモデルエンドポイントの準備ができたことを意味するわけではありませんが、ローカルインストールの手順は完了したということです。
公式インストール手順についての簡単な補足
Anthropic の現在のドキュメントでは、macOS、Linux、WSL 向けのネイティブインストーラーも推奨されています。
curl -fsSL https://claude.ai/install.sh | bash
現在ではこちらのほうがより「公式」な方法ですが、WSL 内で Node ベースのツールをすでに使っている開発者にとっては、npm 経由の方法も依然としてまったく妥当であり、元の記事のワークフローにも自然に対応しています。
ステップ2:Claude の設定ディレクトリを準備する
元の投稿では、非常に現実的な厄介ごとが指摘されています。Claude Code のローカル設定を編集しようとしたとき、すぐに権限の壁にぶつかることがあるのです。
vim や他のエディタで ~/.claude に書き込めない場合は、まず所有者と権限を修正します。
mkdir -p ~/.claude
chown -R "$USER":"$USER" ~/.claude
chmod -R 755 ~/.claude
華やかな作業ではありませんが、時間の節約になります。「Claude Code のセットアップ問題」のかなり多くは、実はファイル権限の問題です。
ステップ3:Claude Code を DeepSeek に向ける
これを行う妥当な方法は2つあります。
一時的なシェル環境変数
永続的な ~/.claude/settings.json
元の記事では2つ目の方法を使っており、繰り返し使うなら、日常的なセットアップとしてはこちらのほうが良いと思います。
設定ファイルを開きます。
vim ~/.claude/settings.json
次に、以下のような最小限の動作する設定を貼り付けます。
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic",
"ANTHROPIC_AUTH_TOKEN": "your-deepseek-api-key",
"ANTHROPIC_MODEL": "deepseek-v4-flash",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek-v4-flash"
}
}
これは元のガイドの意図を反映しています。シンプルで、永続的で、すぐに作業を始めるのに十分です。
最新のDeepSeekドキュメントに基づく、より完全なバージョン
DeepSeekの公式Claude Code統合ドキュメントでは、Opus、Sonnet、Haiku、サブエージェント、エフォートレベルごとに個別のデフォルトを持つ、より充実した設定が示されています。より完全な設定にしたい場合は、こちらを使用してください。
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic",
"ANTHROPIC_AUTH_TOKEN": "your-deepseek-api-key",
"ANTHROPIC_MODEL": "deepseek-v4-pro[1m]",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek-v4-pro[1m]",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek-v4-pro[1m]",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-v4-flash",
"CLAUDE_CODE_SUBAGENT_MODEL": "deepseek-v4-flash",
"CLAUDE_CODE_EFFORT_LEVEL": "max"
}
}
実際にはどのモデルを使うべきか?
シンプルなルールは次のとおりです。
低コストで高速な日常的コーディングを求めるなら deepseek-v4-flash を使う
より強力な推論や重い長文コンテキスト作業が必要なら deepseek-v4-pro[1m] を使う
まず最初のセットアップを成功させたいだけなら、Flashから始めてください。パイプラインが安定したら、より難しいタスクのためにProへ移行できます。
ステップ4:Claude Codeを起動する前にエンドポイントをテストする
このステップは理論上は任意ですが、実際には推測で悩む時間を減らしてくれます。
CLIを起動する前に、DeepSeekのAnthropic互換エンドポイントを直接叩いてください。
curl -X POST https://api.deepseek.com/anthropic/v1/messages \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your-deepseek-api-key" \
-d '{
"model": "deepseek-v4-flash",
"max_tokens": 10,
"messages": [
{
"role": "user",
"content": "test"
}
]
}'
通常のJSONレスポンスが返ってくれば、エンドポイントとキーは有効です。
これが重要なのは、失敗の種類を次の2つに切り分けられるからです。
APIルーティングの問題
Claude Code CLIの問題
curlテストの時点ですでに失敗するなら、CLIのせいにして時間を無駄にしないでください。
ステップ5:Claude Codeを起動する
インストールとエンドポイントテストの両方が成功したら、通常どおりClaude Codeを起動します。
claude
この時点で、CLI側の体験はほぼ通常どおりに感じられるはずです。主な違いは単に、モデルのトラフィックがDeepSeekのAnthropic互換インターフェース経由でルーティングされるようになったことです。
遭遇する可能性が最も高いエラー
多くの「セットアップチュートリアル」はここで丁寧すぎて役に立たなくなるので、率直に言いましょう。
1. E212: Can't open file for writing
これは通常、Claudeの問題ではありません。ファイルシステムの権限の問題です。
修正方法:
mkdir -p ~/.claude
chown -R "$USER":"$USER" ~/.claude
chmod -R 755 ~/.claude
2. Anthropicサービスに接続できない、または403 Forbidden
これは通常、Claude Codeがまだデフォルトルートにアクセスしようとしているか、エンドポイント設定が間違っていることを意味します。
次を確認してください。
ANTHROPIC_BASE_URL は正確に `https://api.deepseek.com/anthropic`
設定ファイルが有効なJSONであること
誤って間違ったパスにファイルを保存していないこと
3. 401 Unauthorized
これはほぼ常に次のいずれかです。
APIキーが間違っている
キーをコピーした際に余分なスペースや引用符が含まれている
DeepSeekアカウントに請求または残高の問題がある
これについて考えすぎないでください。401は通常、モデルの問題ではなくキーの問題です。
4. 404 Not Found
これは一般的に、モデル名の間違いまたはパスの間違いです。
まず次を確認してください。
エンドポイントパス:https://api.deepseek.com/anthropic
テスト用リクエストパス:/v1/messages
モデル文字列:deepseek-v4-flash または deepseek-v4-pro[1m]
古いモデル名や不正な形式のモデル名を入力すると、他がすべて正しくてもリクエストが失敗することがあります。
このセットアップを理解するためのより良い考え方
これを考えるうえで最も役立つ見方は、「Claude Codeをハックしている」というものではありません。
むしろ次のように考えるのが近いです。
Claude Codeはフロントエンドのワークフローであり、DeepSeekはバックエンドのモデルルートです。
このように捉えると、セットアップのデバッグが簡単になります。
claude --version が失敗するなら、インストールの問題です
curlテストが失敗するなら、APIルートまたは認証の問題です
両方成功するのにセッションがまだ壊れるなら、Claude側の設定問題です
この切り分けだけでも、無意味な試行錯誤をかなり減らせます。
古いチュートリアルから何が変わったのか
エコシステムは動き続けているため、これは明確に触れておく価値があります。
元のチュートリアルは最小限の動作するセットアップに焦点を当て、settings.json と deepseek-v4-flash を使用しており、今でも有用です。しかし最新の公式ドキュメントでは、全体像をより明確にするいくつかの詳細が追加されています。
Claude Code には現在、Anthropic のドキュメントに公式のネイティブインストーラーがあります
DeepSeek には Claude Code との明示的な統合ガイドがあります
DeepSeek は Claude スタイルのモデルファミリー向けのモデルマッピングを文書化しています
推奨される完全な環境変数セットは、古いコミュニティのスニペットよりも広範です
そのため、自分のセットアップメモを書き直す場合は、一度たまたま動いた最初の設定でガイドを固定しないでください。構成は維持しつつ、具体的な内容を更新してください。
We0 AI が適している場面
Claude Code、DeepSeek、WSL、ターミナル中心のワークフローのようなツールで開発している場合、セットアップ直後にたいてい現れる別の問題があります。
作りたいものは作れるのに、ウェブサイトがそれを十分に明確に説明できず、適切なユーザーを引き付けられないという問題です。
まさにその領域のために We0 AI は作られています。
We0 AI は、創業者、クリエイター、コンサルタント、代理店、技術チームが、プロダクトの内容を説明し、検索で上位表示され、関心をリードへと変えるショーケースサイトを構築することを支援します。言い換えれば、単に「ページをオンラインに置く」のではなく、プロダクトを実際に理解しやすく、見つけやすくするということです。
つまり、スタックは洗練されてきているのに流通・集客がまだ混乱しているなら、次に解決すべきボトルネックはそこです。
結論
元の記事が正しく押さえている重要な点が1つあります。ブレークスルーは Claude Code そのものをインストールすることではなく、実際の WSL/Linux ワークフローで全体の手順を使えるようにすることです。
最短の手順を求めるなら、次のとおりです。
Claude Code をインストールする
DeepSeek の Anthropic 互換エンドポイントを設定する
キーを安全に保存する
まず API をテストする
それから claude を起動する
これが全体像です。
そして何かが壊れても、慌ててすべてを再インストールしないでください。ほとんどの場合、問題は次の4つのいずれかにすぎません。権限、エンドポイントパス、API キー、またはモデル名です。
参考資料
関連記事とツール