case_826 SaaS・IT

Claude Codeデスクトップアプリ移行7手順|CLI併用とチーム設定

Claude Codeデスクトップアプリ移行7手順|CLI併用とチーム設定

CLIでClaude Codeを運用しているチームが、デスクトップアプリへ移行・併用するときの手順です。環境の選び方、権限モードの対応、worktree並列、管理設定での配布までを公式ドキュメントで確認して整理しました。

この記事の要点

Claude のデスクトップアプリには Chat、Cowork、Code の3つのタブがあり、このうち Code タブが Claude Code です(Anthropic「Desktop application」)。

すでに CLI で運用しているチームにとって重要なのは、次の1点です。Desktop は CLI と同じエンジンを、グラフィカルな画面で動かしているだけで、同じマシン・同じプロジェクトで両方を同時に動かせます。セッション履歴はそれぞれ別に持ちますが、設定ファイルと CLAUDE.md は共有されます。

つまり「乗り換え」ではなく「どの作業をどちらの入口に置くか」の設計になります。この記事は次の7点を順番に決める手順としてまとめました。

  1. セッションを走らせる環境を4つから選ぶ(Local / Cloud / SSH / WSL)
  2. インストールし、最初のセッションで決める4項目を押さえる
  3. 権限モードを CLI 側の設定と突き合わせる
  4. worktree でセッションを隔離して並列に動かす
  5. CLI にしか無い仕事を切り分けて残す
  6. 管理設定で組織に配り、届く経路の違いを把握する
  7. 入れたあとの確認を一巡する

対象読者は、Claude Code を CLI で日常的に使っていて、チームにデスクトップアプリを入れるか判断したい開発者・テックリードです。設定キー・フラグ・バージョン条件はすべて公式ドキュメントで確認した値だけを書いています。業務への当てはめは「想定シナリオ」として明示します。

1. まず決めるのは「どこで走らせるか」。環境は4つある

Desktop でセッションを開始するとき、最初に選ぶのが実行環境です。ここを決めないまま触ると、「ターミナルペインが出ない」「@メンションが効かない」といった差分に後からぶつかります。

Local・Cloud・SSH・WSL の4環境について、実行場所、ターミナルペイン、@メンション、コネクターの可否を並べた表の図
4つの実行環境ごとに、実行場所とペイン・機能の可否がどう変わるか

4つの環境の違い

環境 実行場所 ターミナルペイン @メンション コネクター
Local 自分のマシン 使える 使える 使える
Cloud Anthropic 管理のインフラ 使えない 使えない 使えない
SSH 自分で管理するリモート機 使えない 使える 使える
WSL Windows 上の WSL 2 使えない 使えない 使えない

統合ターミナルはローカルセッションのみです。ファイルペインはローカルと SSH で使えますが、クラウドセッションでは使えないため、変更は Claude に依頼する形になります。コネクターの追加に使う + ボタンは、クラウドとWSLのセッションには出ません。

クラウドセッションは「閉じても止まらない」枠

大規模なリファクタ、テストスイート、マイグレーションのような長時間の作業は、Cloud を選ぶとアプリを閉じてもマシンを落としても走り続けます。進捗は claude.ai/code や Claude モバイルアプリからも確認できます。

クラウドセッションは Anthropic 管理の隔離された仮想マシンで動き、ネットワークアクセスは既定で制限されています。git の認証情報と署名鍵はサンドボックスの外に置かれ、プロキシがスコープを絞った認証情報でセッションの代わりに認証します(Anthropic「Use Claude Code on the web」)。

制約もはっきりしています。リポジトリのクローンとプルリクエスト作成には GitHub が必要で、クラウドセッションは自社ネットワークではなく Anthropic 管理のインフラから API を呼びます。組織で IP 許可リストを敷いている場合は、この経路の違いが効いてきます。

SSH セッションは「リモート機で走らせる」枠

SSH を選ぶと、デスクトップアプリを操作画面として使いながら、処理はリモート機で走ります。リモート機は Linux か macOS である必要があり、初回接続時に Desktop が自動で Claude Code をインストールします。接続後は権限モード、コネクター、プラグイン、MCP サーバーがそのまま使えます。

Windows で WSL 2 のディストリビューションを選ぶ形もあります。こちらは Linux 側のツールチェーンとネイティブのパスを使います(Anthropic「Claude Desktop on WSL」)。WSL 環境そのものの準備は、Claude Code Windows導入7手順 の側で扱っています。

2. インストールと、最初のセッションで決める4項目

配布物は3系統

macOS は Intel と Apple Silicon 共通の universal ビルド、Windows は x64 のインストーラーが用意されています。Windows ARM64 には ARM64 版のインストーラーがあります。Linux は beta で、apt または .deb で入れます。

環境・プロジェクトフォルダ・モデル・権限モードの4項目を左から順に決めて送信に至る流れと、CLI 側から合流する経路を示した図
最初のメッセージを送る前に決める4項目と、CLI のセッションを持ち込む経路

インストール後は Claude を起動してサインインし、Code タブを開きます。

セッション開始前に決める4項目

プロンプト欄で、最初のメッセージを送る前に4つを決めます。

  1. 環境: Local / Cloud / SSH 接続 / (Windows では)WSL ディストリビューション
  2. プロジェクトフォルダ: Claude が作業するフォルダまたはリポジトリ。クラウドセッションでは複数リポジトリを追加できる
  3. モデル: 送信ボタンの隣のドロップダウン。セッション中に変更できる
  4. 権限モード: モードセレクタ。こちらもセッション中に変更できる

各セッションは独立した会話で、コンテキストと変更をそれぞれ別に持ちます。

CLI のセッションをそのまま持ち込む

すでに走らせている CLI のセッションは、ターミナルで /desktop を実行すると Desktop 側へ移せます。Claude がセッションを保存してデスクトップアプリで開き、CLI は終了します。

このコマンドが使えるのは macOS と x64 Windows で、Claude のサブスクリプションでサインインしている場合です。API キー認証では使えません。

3. 権限モードをCLIの設定に合わせる

Desktop は CLI と同じ設定ファイルを読みます。ここを理解しないまま画面のセレクタだけで操作すると、チームで配った既定値が効いていないように見えます。

Manual から Bypass permissions までの5モードと対応する設定キーを並べた表と、クラウドセッションで選べる3モードを添えた図
権限モードと設定キーの対応、およびクラウドセッションで選べるモード

モードと設定キーの対応

モード 設定キー 挙動
Manual default ファイル編集・コマンド実行の前に確認する
Accept edits acceptEdits ファイル編集と mkdir などは自動承認、他のコマンドは確認する
Plan plan 調べて計画を出す。ソースは編集しない
Auto auto 背景の安全チェック付きで実行する
Bypass permissions bypassPermissions 確認を出さずに実行する。CLI の --dangerously-skip-permissions 相当

dontAsk モードは CLI のみで、Desktop のセレクタには出ません(Anthropic「Permission modes」)。

既定値とフォルダ記憶の優先順位

新しいローカルセッションの既定モードは、設定ファイルの permissions.defaultMode で決めます。ここが実務上の落とし穴で、セレクタで選んだモードはフォルダ単位で記憶され、そのフォルダについては defaultMode より優先されます。例外は Plan で、Plan は現在のセッションにだけ適用されます。

「配ったはずの既定が効かない」と見えたときは、まずそのフォルダで誰かが手で切り替えていないかを疑うのが早いです。設定ファイルの階層そのものは、Claude Code settings.json 設定ガイド の側で扱っています。

Bypass permissions の出し方はプランで違う

Pro と Max のプランでは、Settings → Claude Code の「Allow bypass permissions mode」で自分で有効化します。Team と Enterprise のプランには設定トグルが無く、組織のポリシーが制御します。サンドボックス化したコンテナや VM の中だけで使う、という線引きは CLI と同じです。

クラウドセッションのモードは別扱い

クラウドセッションが対応するのは Accept edits、Plan、Auto の3つです。クラウドセッションはファイル編集を事前承認するため、default に対応する表示が Manual ではなく Accept edits になります。Bypass permissions はクラウドセッションでは使えません。

Auto モードは Anthropic API 上の全ユーザーが使え、Claude Opus 4.6 以降、Sonnet 4.6 以降、または Fable モデルが必要です。組織の管理者は managed settings の disableAutoMode で外せます。チーム単位の権限設計の考え方は、Claude Codeの権限設計チームガイド にまとめています。

4. worktree で並列セッションを動かす

セッションごとにプロジェクトを隔離する

サイドバーの + New session(macOS は Cmd+N、Windows は Ctrl+N)でセッションを増やせます。Git リポジトリでは、ブランチ名の隣にある worktree オプションを選ぶと、そのセッションにプロジェクトの隔離されたコピーが割り当てられます。コミットするまで、片方の変更が他方に影響しません(Anthropic「Git worktrees」)。

新規セッション作成を中心に、worktree を持つ3つの並列セッションが伸び、保存先ディレクトリと後片付けの設定につながる図
1つの操作から並列セッションを増やし、隔離コピーと保存先・後片付けにつながる構成

セッションの切り替えは Ctrl+Tab と Ctrl+Shift+Tab です。macOS で Cmd、Windows で Ctrl を押しながらサイドバーのセッションをクリックすると、2つ目のペインに並べて開けます。

保存先と後片付け

worktree は既定で <project-root>/.claude/worktrees/ に置かれます。Settings → Claude Code の「Worktree location」で別ディレクトリに変えられます。ブランチ名の接頭辞も設定でき、Claude が作ったブランチをまとめて識別したいときに使えます。

.env のような gitignore 済みファイルを新しい worktree にも入れたい場合は、プロジェクトルートに .worktreeinclude を置きます。

片付けは、サイドバーでセッションにホバーしてアーカイブアイコンを押します。プルリクエストがマージまたはクローズされた時点で自動的にアーカイブさせたい場合は、Settings → Claude Code の Auto-archive after PR merge or close を有効にします。これが効くのは実行が終わったローカルセッションだけです。

worktree の使い分けそのものは、Claude Code × git worktree 並行開発 の側で扱っています。セッション隔離には Git が必要で、git --version でバージョンが表示されれば入っています。

Claude から見えるセッションの範囲

Claude に「どのセッションが認証まわりを触った?」と聞くと、他のセッションを一覧して内容を読み、メッセージを送れます。ただし見える範囲が限定されています。

この画面から Claude が見るのは、デスクトップアプリ自身が動かしているセッション(ローカル、SSH、WSL)だけです。クラウドセッション、ターミナルの CLI から始めたセッション、VS Code 拡張のセッションは見えません。既定では直近で活動した20件を見て、アーカイブ済みは明示的に頼まない限り飛ばします。

安全側の挙動もはっきり決まっています。セッションをアーカイブする前には、どの権限モードでも Claude が必ず確認します。Auto でも Bypass permissions でも承認カードが出ます。セッション間のメッセージそのものの仕様は、Claude Code複数セッション連携 にまとめています。

5. CLI に残す仕事を決める

Desktop に寄せられない仕事があります。ここを先に切り出しておくと、「Desktop に移したらスクリプトが動かなくなった」を避けられます。

スクリプト実行・エージェントチーム・ターミナル用コマンドの3レーンが、それぞれ関門で止まり CLI と設定ファイルへ振り分けられる図
Desktop では通らず CLI 側や設定ファイル側に回る3つの経路

フラグの対応表

CLI Desktop での置き換え
--model sonnet 送信ボタン隣のモデルドロップダウン
--resume / --continue サイドバーのセッションをクリック
--permission-mode 送信ボタン隣のモードセレクタ
--verbose Transcript view の Verbose
--allowedTools / --disallowedTools セッション単位の同等物は無い(設定ファイルの権限ルールは効く)
--print / --output-format 無い。Desktop は対話専用

MAX_THINKING_TOKENS はローカル環境エディタで設定します。ANTHROPIC_MODEL はモデルドロップダウンに置き換わります。

Desktop に無いもの

  • サードパーティのプロバイダ: Desktop は既定で Anthropic の API につながります。Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry、自社ホストの LLM ゲートウェイ経由で動かすには、ゲートウェイ接続の設定が要ります
  • エージェントチーム: チームリードが共有タスクリストから仕事を割り振る形は CLI 側の機能です。1セッション内の多エージェント作業は動的ワークフローで、こちらは Desktop でも動きます
  • インラインのコード補完: Desktop は補完型の提案を出しません
  • スクリプティングと自動化: --print と Agent SDK は CLI 側です
  • ターミナルでパネルを開くコマンド: 引数の無い /permissions などは isn't available in this environment と返ります。/config は Settings → Claude Code を開き、/config theme=dark のように後ろに書いた文字は無視されます

CI やスケジュール実行の自動化は CLI 側に残す、というのがここからの素直な結論になります。Desktop 側には Scheduled tasks があるので、担当者が見ている前提の定期作業はそちらに寄せる選択もあります。

設定ファイルは共有される。MCP だけ読み取り順が違う

CLAUDE.md と CLAUDE.local.md、~/.claude.json や .mcp.json の MCP サーバー、フックとスキル、~/.claude/settings.json の設定は、Desktop と CLI の両方で使われます。

MCP だけは Desktop 固有の挙動があります。Desktop は claude_desktop_config.json の MCP サーバーも、ローカルの Code タブセッションに読み込みます。同じサーバー名が claude_desktop_config.json と ~/.claude.json/.mcp.json の両方にある場合、ローカルセッションの Code タブは claude_desktop_config.json の定義を使います。

逆方向の注意もあります。単体の CLI は claude_desktop_config.json を読みません。macOS と WSL では claude mcp add-from-claude-desktop でコピーします。MCP の設置そのものは、Claude Code MCP実践ガイド の側で扱っています。

ローカルの環境変数は「全部は引き継がれない」

デスクトップアプリは、シェル環境をそのまま引き継ぐわけではありません。macOS で Dock や Finder から起動した場合、~/.zshrc や ~/.bashrc を読むのは PATH と決まった一群の Claude Code 変数を取り出すためで、そこで export した他の変数は拾われません。Windows はユーザーとシステムの環境変数を引き継ぎますが、PowerShell のプロファイルは読みません。

ローカルセッションと開発サーバーの両方に効かせたい変数は、プロンプト欄の環境ドロップダウンで Local にホバーして歯車アイコンを開き、ローカル環境エディタに入れます。ここで保存した値はマシン上に暗号化して保存されます。~/.claude/settings.json の env キーは Claude のセッションにだけ届き、開発サーバーには届きません。

6. 組織で配る:管理設定と、その届き方

管理コンソールの4スイッチ

Team と Enterprise のプランでは、管理設定コンソールで次を制御します。

managed settings がローカル・クラウド・SSH の3環境へ、それぞれ別の供給元から届く3層の図
同じ管理設定が、環境ごとに別の経路で届くこと
  • Code in the desktop: 組織のユーザーがデスクトップアプリの Claude Code を使えるか
  • Code in the web: 組織の web セッションを有効にするか
  • Remote Control: 組織の Remote Control を有効にするか
  • Disable Bypass permissions mode: Bypass permissions モードの有効化を禁じるか

managed settings で押さえるキー

managed settings はプロジェクト設定とユーザー設定を上書きし、Desktop の Claude Code セッションに適用されます(Anthropic「Managed settings」)。

キー 効果
permissions.disableBypassPermissionsMode "disable" で Bypass permissions の有効化を止める
disableAutoMode "disable" で Auto をモードセレクタから外す
browserExternalPageTools "disabled" で Browser ペインの外部ページに対する Claude のツールを止める
disableBrowserExternalNavigation true で外部サイトへの移動そのものを止める
sshConfigs SSH 接続を配布する。ユーザーは編集も削除もできない
sshHostAllowlist 接続先ホストをパターンで限定する。空配列で SSH セッションを無効化
disableDesktopLocalSessions true で端末上のローカルセッションを止める

disableBrowserExternalNavigation と disableDesktopLocalSessions は、値が JSON のブール値 true である必要があります。文字列の "true" は無視されます。disableDesktopLocalSessions は Claude Desktop v1.37937.0 以降が必要で、managed settings からのみ読まれます。

sshHostAllowlist も managed settings からのみ読まれ、ユーザー設定やプロジェクト設定の値は無視されます。照合は ~/.ssh/config を解決した後のホスト名に対して ssh -G 経由で行われるため、Host の別名や ProxyCommand / ProxyJump があっても、解決後の HostName が一致すれば通ります。

ここには停止線としての限界もあります。このキーを honor するのは Claude Desktop だけで、Claude Code の CLI と IDE 拡張は読みません。Bash ツールから実行される ssh コマンドも制限しません。ネットワーク側の制御と組み合わせないと、硬い境界にはなりません。

届く経路が環境ごとに違う

同じ managed settings でも、セッションがどこで走るかで届き方が変わります。

  • ローカルセッション: 端末に配置した managed settings ファイルが効きます。管理コンソールからリモートで push した設定も、対象のログインまたはキーで認証していれば届きます
  • クラウドセッション: サーバー管理の設定を受け取ります。端末に置いたファイルは届きません。Anthropic 管理の仮想マシンで動くためです
  • SSH セッション: セッションはリモートホスト側の managed settings ファイルを読みます。Desktop 自身は、ローカルマシンの managed settings から sshConfigs、sshHostAllowlist、disableDesktopLocalSessions を読みます

disableDesktopLocalSessions を有効にした端末では、環境ドロップダウンに Local は残りますが選択できない灰色表示になり、組織が無効にした旨のツールチップが出ます。新規セッションは、SSH 接続が設定されていればその先頭を既定にします。組織単位の統制の全体像は、Claude Code全社ガバナンス にまとめています。

7. 入れたあとに確認する手順

導入直後に一巡しておくと、後から原因を探す時間が減ります。

バージョン確認から更新、使用量リング、ビューモード、ショートカット一覧を経てプルリクエスト監視の前提確認まで戻る一巡の図
導入直後に一巡する確認の順番

バージョンとサインイン

まずバージョンを確認します。macOS はメニューバーの Claude → About Claude、Windows は Help → About です。バージョン番号をクリックするとクリップボードにコピーされます。確認したバージョンにどの変更が入っているかは、GitHub 上の公式 CHANGELOGで版ごとに追えます。デスクトップアプリと CLI で版が離れている場合は、この一覧で差分の有無を見てから揃えると手戻りが減ります。

ペインのレイアウト、統合ターミナル、ファイルエディタ、ビューモードは Claude Desktop v1.2581.0 以降が必要です。古ければ Claude → Check for Updates(Windows は Help → Check for Updates)で更新します。

Code タブで Error 403: Forbidden などの認証エラーが出た場合は、アプリメニューからサインアウトして入り直すのが最も多い解決です。CLI は動くのに Desktop が動かないときは、ウィンドウを閉じるだけでなくアプリを完全に終了してから開き直します。

ツールとパスが見えているか

npm や node が見つからない場合は、通常のターミナルでそのツールが動くか、シェルのプロファイルが PATH を正しく組み立てているかを確認し、環境変数を読み直すためにデスクトップアプリを再起動します。前節の「シェル環境は全部は引き継がれない」がそのまま原因になります。

画面まわりの確認

  • 使用量: モデルピッカー隣の使用量リングをクリックすると、現在のコンテキストウィンドウ使用量とプラン使用量が見えます。コンテキスト使用量はセッション単位、プラン使用量は Claude Code の全サーフェス共通です
  • ビューモード: Ctrl+O で Normal / Verbose / Summary を切り替えます。挙動を追うときは Verbose、複数セッションを流し読むときは Summary です
  • ショートカット一覧: macOS は Cmd+/、Windows は Ctrl+/ で開きます。ターミナル版の Shift+Tab で権限モードを回す操作は、Code タブには効きません

プルリクエストまわり

プルリクエストの CI 監視には、GitHub CLI(gh)がマシンにインストールされ、認証済みである必要があります。入っていない場合は、初回の PR 作成時に Desktop がインストールを促します。

Auto-merge を使う場合は、先に GitHub のリポジトリ設定側で auto-merge を有効にしておきます。有効でないと Claude は PR をマージできません。マージ方式は squash です。

クラウドセッションが作ったブランチはローカルに無いことがあります。Branch doesn't exist yet が出たら、セッションツールバーのブランチ名をクリックしてコピーし、ローカルで取得します。

git fetch origin <branch-name>
git checkout <branch-name>

想定シナリオ:CLI 運用中のチームがどう分けるか

ここからは公式ドキュメントの仕様ではなく、上の制約から素直に導ける想定シナリオです。実際の配分は各チームの運用で決めてください。

  • CI、スケジュール実行、--print を使う社内スクリプトは CLI に残す
  • レビューを挟みたい実装は Desktop のローカルセッションに置き、worktree で隔離する
  • 長時間のマイグレーションはクラウドセッションに出し、閉じても走り続ける形にする
  • 特定のハードウェアや依存が要るビルドは SSH セッションでリモート機に寄せる
  • 端末にコードを置きたくない部署では disableDesktopLocalSessions を立て、SSH とクラウドだけ残す

よくある質問

CLI とデスクトップアプリは同時に使えますか

使えます。同じマシンの同じプロジェクトで両方を同時に動かせます。セッション履歴はそれぞれ別に持ちますが、設定と CLAUDE.md は共有されます。

走っている CLI のセッションを Desktop に持っていけますか

ターミナルで /desktop を実行します。セッションが保存されてデスクトップアプリで開き、CLI は終了します。macOS と x64 Windows で、Claude のサブスクリプションでサインインしている場合に使えます。API キー認証では使えません。

/permissions が「使えない」と返ってきます

Desktop の Code タブでは、引数の無いターミナル用ダイアログのコマンドは isn't available in this environment と返ります。権限ルールは設定ファイルを直接編集するか、単体の CLI から実行してください。

クラウドセッションに追加の料金はかかりますか

クラウドセッションの使用量はサブスクリプションのプラン上限に計上され、コンピュートの別課金はありません。ただしレート制限はアカウント内の他の Claude / Claude Code 利用と共有で、並列に走らせるほど比例して消費します。

Bedrock 経由で Desktop を使えますか

Desktop は既定で Anthropic の API につながります。Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry、自社ホストのゲートウェイ経由で Code タブを動かすには、ゲートウェイ接続の設定が必要です。CLI 側は従来どおりこれらのプロバイダに対応しています。

コンピュータ操作(computer use)は法人プランで使えますか

computer use は macOS と Windows のリサーチプレビューで、Pro または Max のプランが必要です。Team と Enterprise のプランでは使えません。既定でオフで、macOS では Accessibility と Screen Recording の許可も必要です。

Desktop で Agent Teams は使えますか

チームリードが共有タスクリストから仕事を割り振るエージェントチームは CLI 側の機能で、Desktop にはありません。1つのセッション内で複数エージェントを動かす動的ワークフローは Desktop でも動きます。

スキルはどこから読まれますか

~/.claude/skills/ のパーソナルスキルはローカルセッションに適用されます。SSH セッションはリモートホスト側のホームディレクトリの ~/.claude/skills/ を読みます。クラウドセッションは claude.ai アカウントで有効にしたスキルを読み込みます。

運営元 Uravation よりこの事例を自社の業務で試す場合のテーマ選定・評価・本番移行の確認項目を、無料のチェックリストにまとめています。 Claude Code業務自動化PoCチェックリストを受け取る(無料)

参考・出典

Next Step

この事例を、自社の業務に置き換える。

対象業務、利用データ、評価基準、社内展開の順番まで整理すると、AI開発ツール導入の失敗を減らせます。

導入を相談する

チームで学ぶなら: Claude Code 法人研修(2日間ハンズオン) / 1人で習得するなら: 個別指導(週1マンツーマン)