概要
セッション開始時に選ぶ環境が、Claude がどこで実行され、どう接続するかを決める。
| 環境 | 内容 |
|---|---|
| Local | 自分のマシンで動き、ファイルへ直接アクセスする |
| Cloud | 既定では Anthropic 管理のインフラで動く。アプリを閉じても継続する |
| SSH | 自分で管理するリモートマシン(自社サーバー、クラウド VM、dev container)で動く |
| WSL(Windows) | 自分のマシンの WSL 2 ディストリビューション内で、Linux のツールチェーンとネイティブパスを使って動く |
仕様
ローカルセッションの環境変数
- デスクトップアプリは自分のシェル環境をそのまま引き継ぐとは限らない
- macOS: Dock や Finder から起動したとき、
~/.zshrcや~/.bashrcを読んでPATHと決まった一群の Claude Code 変数だけを取り出す。そこで export した他の変数は拾わない - Windows: ユーザーおよびシステムの環境変数は引き継ぐが、PowerShell のプロファイルは読まない
- macOS: Dock や Finder から起動したとき、
- 設定方法: プロンプトボックスの環境ドロップダウンで 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 Host | user@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が入っていること - 手順
- 新規セッションで環境ピッカーを開き、WSL セクションからディストリビューションを選ぶ
- セッションはディストリビューションのホームディレクトリで始まる。フォルダピッカーでプロジェクトを選ぶ(
/home/you/projectのような Linux パスで、ディストリビューション内を辿る) - フォルダごとに 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.mdfacts/claude-code/desktop-sessions.mdfacts/claude-code/desktop-enterprise.mdfacts/claude-code/env-vars.mdfacts/claude-code/model-config.mdfacts/claude-code/settings.md