claude --desktopでデスクトップアプリを今のディレクトリで開く
claude --desktopはターミナルでセッションを始めず、Claude Desktopを今のディレクトリで開いて終了します。--continueや--resumeの使い方と、使えない条件、起動失敗時の見方をまとめます。
claude --desktopは、Claude Desktopアプリを今のディレクトリで開き、コマンド自身はすぐ終了するフラグです。ターミナルでセッションは始まりません。Claude Code v2.1.285以降で使え、macOSとx64 Windowsで、Claudeのサブスクリプションでサインインしているときに限られます。
--continueや--resumeを足すと、ターミナルで進めていた会話をDesktopで続きから開けます。
claude --desktopは何を起動するのか
claude --desktopこの1行で起こることは、Desktopの起動だけです。Claude Desktopアプリを現在のディレクトリで開き、ターミナルではセッションを始めずに終了します。通常のclaudeのように対話画面が立ち上がることはありません。
Desktopは今のディレクトリを作業フォルダーにして開きます。以降の会話はアプリ内で進むので、ターミナルを開きっぱなしにしておく必要はありません。
すでにある/desktopとの違い
Claude Codeには、セッション内で実行する/desktopコマンドが以前からあります(別名は/app)。違いは「どこから呼ぶか」です。
| 呼び方 | 実行する場所 | セッション |
|---|---|---|
/desktop | 実行する場所起動済みのClaude Codeセッションの中 | セッション今の会話を保存してDesktopで開き、CLIを終了する |
claude --desktop | 実行する場所シェル | セッションターミナルのセッションを作らず、Desktopだけを開く |
/desktopはいまの会話を持っていく用途で、claude --desktopは「そもそもターミナルで始めない」用途です。プラットフォームとサインインの条件は同じで、/desktopもclaude --desktopも、APIキー認証や、Amazon Bedrock・Google Cloud Agent Platform・Microsoft Foundry経由では使えません。
既存のセッションをDesktopで開く
ターミナルで進めていた会話を、アプリ側で続けられます。
# 今のディレクトリの直近の会話をDesktopで開く
claude --desktop --continue
# セッションIDを指定して開く
claude --desktop --resume <session-id>--continueは、今のディレクトリで最後に動かした会話を選びます。--resumeにはセッションIDを渡します。IDは、そのセッションで/statusを実行すると確認できます。
--resumeに渡せるのはIDだけです。セッション名やトランスクリプトのパスは受け付けません。通常のclaude --resumeは名前でも選べるため、同じ感覚で書くと失敗します。
成功するとOpening session <session-id> in Claude Desktopと表示され、アプリでセッションが開き、コマンドは終了します。
移せないセッション
次のセッションは移せません。
- 別のターミナルで開いているセッション
- バックグラウンドで実行中のセッション
Desktopアプリが入っていない場合は、ダウンロードのリンクが表示されて終了します。この場合は先の「開けないとき」のエラーとは別で、インストールしてからもう一度実行します。
アプリで開いたセッションは、コピーではなく同じセッションです。ターミナルからclaude --resumeを実行すれば、あとでも同じセッションが見つかります。
一緒に付けられるオプションは少ない
このフラグは、プロンプトを受け取りません。ほかのフラグも、使えるのは--verboseと--debug系だけです。会話を始めるのはアプリ側なので、ターミナルでモデルや権限モードを指定しても渡す先がありません。
| 付けたいもの | claude --desktopでは | 代わりの手段 |
|---|---|---|
| 最初のプロンプト | claude --desktopでは受け取らない | 代わりの手段アプリのプロンプト欄に入力する |
--model sonnet | claude --desktopでは付けられない | 代わりの手段送信ボタン横のモデル選択 |
--permission-mode | claude --desktopでは付けられない | 代わりの手段送信ボタン横のモード選択 |
--verbose | claude --desktopでは付けられる | 代わりの手段アプリ側では表示モードで切り替える |
--debug・--debug-file <path> | claude --desktopでは付けられる | 代わりの手段起動失敗の原因調査に使う |
--dangerously-skip-permissions | claude --desktopでは付けられない | 代わりの手段バイパス権限モード。ProとMaxは設定の「Allow bypass permissions mode」で有効にし、TeamとEnterpriseは組織ポリシーが決める |
--add-dir | claude --desktopでは付けられない | 代わりの手段クラウドセッションで+ボタンから複数のリポジトリを追加する |
ANTHROPIC_MODEL環境変数 | claude --desktopではターミナル側では渡せない | 代わりの手段送信ボタン横のモデル選択 |
--allowedToolsや--disallowedToolsにはセッションごとの対応物がなく、settings.jsonの権限ルールがそのまま適用されます。--printや--output-formatを使うスクリプト用途も、Desktopは対話専用のため対応しません。
設定はCLIとDesktopで共有される
どちらで開いても、設定は引き継がれます。CLAUDE.mdとCLAUDE.local.md、~/.claude.jsonや.mcp.jsonのMCPサーバー、フックとスキル、~/.claude/settings.jsonの権限ルールは、CLIとDesktopで共通です。
settings.jsonの権限ルールや許可ツールの設定は、Desktopのセッションにもそのまま適用されます。ターミナルで厳しめに絞っていた設定が、アプリ側で外れることはありません。モデルも両方で同じものを選べます。Desktopでは送信ボタン横のドロップダウンで選び、セッションの途中でも同じ場所から変更できます。
ひとつ例外があります。claude_desktop_config.jsonに書いたMCPサーバーは、Desktop側のCodeタブには読み込まれますが、単体のCLIは読みません。CLIへ取り込みたいときは、macOSとWSLでclaude mcp add-from-claude-desktopを使います。
同じ名前のサーバーが複数の場所にあると、どの定義が使われるかがCLIと変わります。
claude_desktop_config.jsonと、~/.claude.jsonまたは.mcp.jsonに同名のサーバーがあるとき、ローカルセッションのCodeタブは1回だけ接続し、claude_desktop_config.jsonの定義を使います~/.claude.jsonの最上位(ユーザースコープ)と.mcp.jsonに同名のstdioサーバーがあるとき、Codeタブは~/.claude.jsonの定義を使います。CLIのスコープ階層とは異なる扱いです
CLIで動いていたMCPの設定がDesktopで違う挙動になったときは、同名の定義が重なっていないかを見ると手がかりになります。
開けないときの切り分け
アプリが立ち上がらないと、次のようなエラーが出ます。
Couldn't open Claude Desktop (`open` exited 1: LSOpenURLsWithRole() failed for the URL claude://resume?session=<session-id> with error -10814). Open Claude Desktop and try again.Claude CodeがDesktopを開くために呼んだシステムコマンドが失敗した状態です。括弧の中には、失敗したコマンドの名前が入ります。macOSではopen、Windowsではrundll32です。終了コードと、エラー出力の1行目も含まれます。
claude --desktopの場合、Error:の接頭辞はなく、終了コードは1です。スクリプトから呼ぶなら、このコードで失敗を判定できます。
試す順番
- Claude Desktopを手動で起動してから、
claude --desktopをもう一度実行する - 詳細を知りたいときは、デバッグログを書き出して失敗したコマンドの出力を読む
claude --desktop --debug-file /tmp/claude-desktop-open.log--debug-fileは、デバッグモードを暗黙に有効にし、ログを指定したパスへ書き出します。このコマンドに付けられるのは--verboseと--debug系だけなので、この組み合わせは仕様の範囲内です。セッション内なら/debugでログを有効にし、/desktopを再実行する手もあります。
メッセージの文言はバージョンで変わっています。v2.1.285より前は末尾がOpen Claude Desktop and run /desktop again.で、v2.1.275より前はFailed to open Claude Desktop. Please try opening it manually.と原因が分からない形でした。v2.1.287では、Desktopの起動がタイムアウトしたときや出力が長すぎたときに、出力の一部をそのまま引用せず原因を示す表示にも直っています。古い文言が出ているなら、Claude Codeのバージョンが古い状態です。v2.1.285以降にアップデートすると、原因と次の手順が分かる文言になります。
Desktopで始めてCLIの会話を拾う逆向きの道
アプリ側からCLIの会話を拾う方法もあります。ローカルセッションのプロンプト欄で/resumeと入力すると、このPCでCLIから始めたセッションが一覧に並びます。タイトル・フォルダー・ブランチで検索でき、選ぶと全履歴つきで再開します。この/resumeはSSH・WSL・クラウドのセッションでは使えません。
手順は3つです。
- ターミナル側でセッションを閉じる
- Desktopのプロンプト欄で
/resumeと入力する - 一覧から選ぶ。タイトル・フォルダー・ブランチで絞れ、各セッションの続き位置をプレビューで確かめられる
claude --desktop --resumeと同様に、開いたままのセッションは移せません。拾ったセッションはコピーではなく同じセッションなので、ターミナルでclaude --resumeを実行すると、あとからも見つかります。
CLIとDesktopを同時に動かせるか
動かせます。両者は同じエンジンで動いており、同じマシンの同じプロジェクトでも並行して使えます。ただしセッション一覧はそれぞれ別に持ちます。CLIの会話をDesktopへ渡す橋渡しになるのは、/desktop、claude --desktop、Desktop側の/resumeの3つです。CLAUDE.mdを通じたプロジェクトの記憶と設定は、先に述べたとおり両方で共有されます。
どちらを使うかの目安
Desktopは、並列セッションをひとつの窓で管理したいとき、ペインを並べたいとき、変更を視覚的にレビューしたいときに向きます。スクリプトや自動化、ターミナルでの作業にはCLIが向きます。
| 機能 | CLI | Desktop |
|---|---|---|
| 権限モード | CLIdontAskを含むすべて | Desktop手動・編集を承認・プラン・オート。バイパスは有効化後に表示 |
| サードパーティープロバイダー | CLIBedrock・Agent Platform・Foundryに対応 | Desktop既定はAnthropicのAPI |
| スクリプトと自動化 | CLI--print・Agent SDK | Desktop使えない |
| 複数セッション | CLIターミナルを分ける | Desktopサイドバーのタブ |
| ファイル添付 | CLI使えない | Desktop画像・PDF |
| セッションの分離 | CLI--worktreeフラグ | Desktopセッション開始時のworktreeオプション |
| 定期実行 | CLIcronジョブ・CIパイプライン | Desktopスケジュールタスク |
会話を移したあとは、操作の入口が変わる機能もあります。MCPサーバーはDesktopのコネクタ画面から、プラグインはプラグイン管理画面から扱えます(CLIでは設定ファイルと/pluginコマンド)。ファイルを指定する@メンションはオートコンプリートつきになりますが、対象はローカルとSSHのセッションです。コンピューター操作は、CLIではmacOSで/mcpから有効にし、DesktopではmacOSとWindowsのどちらでもアプリや画面の操作として使えます。
--printや--output-formatのようなスクリプト向けのフラグは、Desktopに対応物がありません。CIやバッチでclaude --desktopを使う意味もほぼありません。このフラグは、人がデスクの前でターミナルからアプリに切り替える場面のためにあります。
まとめ
claude --desktopの価値は、ターミナルで入力を終えた瞬間の手間をなくす点にあります。cdしたまま実行すればそのディレクトリでアプリが開き、続きから見たいときだけ--continueか--resume <id>を足します。つまずきやすいのは、名前では選べないことと、受け付けるオプションが少ないことの2点です。
導入手順はClaude Desktop Windows版のインストールと初期設定に、CLI・Desktop・Webの全体比較はClaude Code Desktopとはにあります。アプリ内の並行作業は並列セッション機能の記事、起動できない場合の一般的な対処はDesktopが起動しない・403エラーの対処法を参照してください。このフラグが追加された版の他の変更はClaude Code v2.1.285にあります。