コンテンツにスキップ

Desktop の実行環境(Local / Cloud / SSH / WSL)

facts /Claude Code /desktop-environments

概要

セッション開始時に選ぶ環境が、Claude がどこで実行され、どう接続するかを決める。

環境内容
Local自分のマシンで動き、ファイルへ直接アクセスする
Cloud既定では Anthropic 管理のインフラで動く。アプリを閉じても継続する
SSH自分で管理するリモートマシン(自社サーバー、クラウド VM、dev container)で動く
WSL(Windows)自分のマシンの WSL 2 ディストリビューション内で、Linux のツールチェーンとネイティブパスを使って動く

仕様

ローカルセッションの環境変数

  • デスクトップアプリは自分のシェル環境をそのまま引き継ぐとは限らない
    • macOS: Dock や Finder から起動したとき、~/.zshrc や ~/.bashrc を読んで PATH と決まった一群の Claude Code 変数だけを取り出す。そこで export した他の変数は拾わない
    • Windows: ユーザーおよびシステムの環境変数は引き継ぐが、PowerShell のプロファイルは読まない
  • 設定方法: プロンプトボックスの環境ドロップダウンで Local にホバーし、歯車アイコンから local environment editor を開く。保存した変数は暗号化されてマシン上に保存され、すべてのローカルセッションとプレビューサーバーに適用される
  • ~/.claude/settings.json の env キーでも設定できるが、こちらは Claude のセッションにしか届かず、dev サーバーには届かない

extended thinking の扱い

  • 既定で有効。複雑な推論では性能が上がるが、追加のトークンを使う
  • Anthropic API では local environment editor で MAX_THINKING_TOKENS を 0 にすると thinking を切れる。Fable 5 には効かない(常に extended thinking を使う)
  • adaptive reasoning を持つモデルでは、0 以外の MAX_THINKING_TOKENS は無視される(thinking の深さは adaptive reasoning が決める)
  • Opus 4.6 と Sonnet 4.6 では CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING を 1 にすると固定の thinking 予算になる。Fable 5・Sonnet 5・Opus 4.7 以降は常に adaptive reasoning で、固定予算のモードを持たない

cloud セッション

  • アプリを閉じてもバックグラウンドで継続する
  • 使用量はサブスクリプションのプラン上限に計上され、別途の計算資源の課金は無い
  • ネットワークアクセス水準や環境変数の異なるカスタムのクラウド環境を作れる。環境ドロップダウンの Add cloud environment

SSH セッション

  • 追加方法: セッション開始前に環境ドロップダウン → + Add SSH connection
項目内容
Nameこの接続のラベル
SSH Hostuser@hostname、または ~/.ssh/config に定義したホスト
SSH Port空なら 22、または SSH config のポート
Identity File秘密鍵のパス(~/.ssh/id_rsa など)。空なら既定の鍵か SSH config を使う
  • リモートは Linux または macOS である必要がある
  • 初回接続時に Desktop がリモートへ Claude Code を自動インストールする
  • 接続後は permission mode・connectors・plugins・MCP サーバーに対応する
  • 管理者は managed settings の sshConfigs で接続を配布できる(利用者は選べるが編集・削除はできない)。sshHostAllowlist で接続先を制限でき、空配列にすると SSH セッションを完全に無効化する

WSL セッション(Windows)

  • セッションの Claude Code プロセス、ツール、git のすべてがディストリビューション内で実行される。Linux のツールチェーンとネイティブの Linux パスを使う
  • リポジトリがディストリビューションのファイルシステムにある場合に使う。 Windows 側からそれらのファイルを扱うとネットワークファイルシステム経由になり、遅く、ファイル監視が壊れる
  • 要件: WSL 2(WSL 1 は非対応)、ディストリビューションが 1 つ以上導入済み、ディストリビューション内に git が入っていること
  • 手順
    1. 新規セッションで環境ピッカーを開き、WSL セクションからディストリビューションを選ぶ
    2. セッションはディストリビューションのホームディレクトリで始まる。フォルダピッカーでプロジェクトを選ぶ(/home/you/project のような Linux パスで、ディストリビューション内を辿る)
    3. フォルダごとに workspace trust のダイアログが出る。信頼はディストリビューションとフォルダの組ごと。 あるディストリビューションで信頼したフォルダは、別のディストリビューションでも、Windows 側の同じパスでも信頼済みにはならない
  • ディストリビューション内での最初のセッションは、Claude のセットアップのぶんだけ時間がかかる
  • 通常のフォルダピッカーから \wsl.localhost\... のフォルダを開くこともでき、そのディストリビューション内で開き直される
  • 最近使ったフォルダはディストリビューションごとにピッカーへ出る

WSL セッションで動くもの: 並行セッション、side chat、視覚的な差分レビュー、ブランチと PR の状態、worktree(いずれもディストリビューション内の git とツールチェーンで動く)。「Open in editor」は Remote - WSL 経由で接続した VS Code を開く。

WSL セッションでまだ使えないもの: 統合ターミナル、connectors と plugins、セッションの fork、ファイルブラウザのペイン、@ によるファイル候補。

  • 組織が管理するデバイスでは WSL セッションが利用できないことがある。 「デバイスが管理されている」というメッセージでセッション開始に失敗する場合は管理者の設定による

制約・注意点

  • local environment editor と settings.json の env は届く先が違う。 dev サーバーへ渡したい変数は前者に置く
  • .claude/launch.json の env に秘密情報を置かない(リポジトリにコミットされる)。秘密情報は local environment editor へ
  • WSL の信頼はディストリビューション・フォルダ単位。同じパスでも Windows 側とは別扱い

関連

  • facts/claude-code/desktop.md
  • facts/claude-code/desktop-sessions.md
  • facts/claude-code/desktop-enterprise.md
  • facts/claude-code/env-vars.md
  • facts/claude-code/model-config.md
  • facts/claude-code/settings.md