コンテンツにスキップ

Desktop と CLI の対応

facts /Claude Code /desktop-vs-cli

stable1 か月前 · 2026-08-23

概要

デスクトップアプリは CLI と同じエンジンをグラフィカルなインターフェースで動かす。同じマシンで、同じプロジェクトに対して両方を同時に走らせられる。セッション履歴はそれぞれ別に保持され、設定とプロジェクトメモリ(CLAUDE.md)は共有される。

仕様

CLI セッションを Desktop へ移す

  • ターミナルで /desktop を実行する。セッションを保存してデスクトップアプリで開き、CLI は終了する
  • 利用条件: macOS または x64 Windows で、Claude サブスクリプションでサインインしていること
  • API キー認証、Amazon Bedrock、Google Cloud's Agent Platform、Microsoft Foundry では利用できない

使い分け(公式の指針)

  • Desktop: 並行セッションを 1 つのウィンドウで管理したいとき、ペインを並べたいとき、変更を視覚的にレビューしたいとき
  • CLI: スクリプティング、自動化、ターミナルのワークフローを好むとき

CLI フラグの対応表

ここに無いフラグはスクリプティング・自動化向けであり、Desktop に相当機能が無い。

CLIDesktop での相当
--model sonnet送信ボタン隣のモデルドロップダウン
--resume、--continueサイドバーのセッションをクリック
--permission-mode送信ボタン隣のモードセレクタ
--dangerously-skip-permissionsBypass permissions モード。Pro / Max は Settings → Claude Code → "Allow bypass permissions mode"、Team / Enterprise は組織のポリシーが制御する
--add-dircloud セッションで + ボタンから複数リポジトリを追加する
--allowedTools、--disallowedToolsセッション単位の相当は無い。 settings ファイルの permission ルールは有効
--verboseTranscript view ドロップダウンの Verbose view mode
--print、--output-format利用できない。Desktop は対話専用
ANTHROPIC_MODEL 環境変数送信ボタン隣のモデルドロップダウン
MAX_THINKING_TOKENS 環境変数local environment editor で設定する

共有される設定

Desktop と CLI は同じ設定ファイルを読む。

  • CLAUDE.md と CLAUDE.local.md(プロジェクト内)は両方で使われる
  • MCP サーバー: ~/.claude.json または .mcp.json に設定したものが両方で動く
  • hooks と skills: settings で定義したものが両方に適用される
  • settings: ~/.claude.json と ~/.claude/settings.json は共有される。permission ルール・allowed tools などの settings.json の設定は Desktop セッションにも適用される
  • モデル: 同じモデルが両方で利用できる。Desktop では送信ボタン隣のドロップダウンで選び、セッション途中でも変更できる

claude_desktop_config.json からの MCP 読み込み

CLI と優先順位が違う。

  • デスクトップアプリは claude_desktop_config.json の MCP サーバーを、~/.claude.json や .mcp.json のサーバーと並べてローカルの Code タブセッションへ読み込む。そこで定義したサーバーは Desktop の chat と Code タブのローカルセッションの両方で使える
  • claude_desktop_config.json と ~/.claude.json / .mcp.json に同名のサーバーを定義した場合、ローカルセッションの Code タブは 1 回だけ接続し、claude_desktop_config.json の定義を使う
  • アプリは ~/.claude.json の stdio サーバーを、ローカルセッションの組み込み CLI へ再配送する。~/.claude.json の最上位(user スコープ)と .mcp.json が同名の stdio サーバーを定義した場合、Code タブは ~/.claude.json の定義を使う。これは CLI のスコープ階層とは異なる
  • スタンドアロンの CLI は claude_desktop_config.json を読まない。 macOS と WSL では claude mcp add-from-claude-desktop でコピーする

機能比較

機能CLIDesktop
permission modedontAsk を含む全モードManual / Accept edits / Plan / Auto。Bypass permissions は有効化後にセレクタへ現れる(Pro・Max は Settings トグル、Team・Enterprise は組織ポリシー)
サードパーティプロバイダAmazon Bedrock / Google Cloud's Agent Platform / Microsoft Foundry既定では Anthropic の API。gateway 経由や 3P での実行は別途手順が要る
MCP サーバー設定ファイルローカルと SSH セッションでは Connectors の UI、または設定ファイル
plugins/plugin コマンドplugin manager の UI
@mention ファイルテキストベース補完付き。ローカルと SSH セッションのみ
ファイル添付利用できない画像・PDF
セッションの分離--worktree フラグ自動で worktree
複数セッションターミナルを分けるサイドバーのタブ
定期実行cron ジョブ、CI パイプラインscheduled tasks
computer usemacOS で /mcp から有効化macOS と Windows でアプリと画面の操作
iOS simulatorcomputer use でシミュレータを操作iOS Simulator ペインが自動で開く
Dispatch 連携利用できないサイドバーに Dispatch セッション
スクリプティング・自動化--print、Agent SDK利用できない

Desktop で利用できないもの

  • サードパーティプロバイダ: 既定では Anthropic の API に接続する。gateway 経由のルーティングや Bedrock / Agent Platform / Foundry / self-hosted gateway での実行は別途手順が要る
  • Linux(beta)では computer use が使えない
  • インラインのコード補完: 補完形式の提案は行わない。会話によるプロンプトと明示的なコード変更で動く
  • agent teams: Claude がチームリードとして共有タスクリストから担当を割り当てる協調チームは CLI のみ。1 セッション内での多エージェント作業には dynamic workflows を使う(Desktop で動く)
  • ターミナルのダイアログを開くコマンド: 引数の形を持たない /permissions のようなコマンドは isn't available in this environment と返す。/config は Settings → Claude Code を開き、後続テキストは無視される

制約・注意点

  • --print を前提にした手順は Desktop に移植できない。 非対話実行は CLI か Agent SDK の担当
  • --allowedTools / --disallowedTools に相当するセッション単位の指定が無い。 ツールを絞るなら settings ファイルの permission ルールで行う
  • MCP の優先順位が CLI と異なる(上記)。同名サーバーを複数箇所に定義していると、CLI と Desktop で別の定義が使われることがある

関連

  • facts/claude-code/desktop.md
  • facts/claude-code/cli-reference.md
  • facts/claude-code/commands.md
  • facts/claude-code/settings.md
  • facts/claude-code/mcp.md
  • facts/claude-code/memory.md
  • facts/claude-code/plugins.md