SpyBara
Go Premium

desktop.md 2026-10-20 23:00 UTC to 2026-10-21 23:02 UTC

This page contains 15 additions and 8 deletions.

2026
Thu 1 23:59 Fri 2 22:59 Sat 3 23:57 Sun 4 23:58 Tue 6 23:59 Wed 7 23:59 Thu 8 22:58 Fri 9 23:02 Sat 10 23:01 Sun 11 23:57 Tue 13 23:57 Wed 14 22:58 Thu 15 23:58 Fri 16 22:59 Mon 19 23:58 Tue 20 23:00 Wed 21 23:02 Thu 22 22:58 Fri 23 22:59 Sat 24 22:59 Sun 25 23:58 Mon 26 22:57 Tue 27 22:59 Wed 28 23:57 Thu 29 23:57 Fri 30 23:01

Desktop application

Claude Code Desktop をさらに活用する:Git 分離による並列セッション、ドラッグアンドドロップペインレイアウト、統合ターミナルとファイルエディタ、サイドチャット、コンピュータ使用、電話から Dispatch セッションを送信、ビジュアル diff レビュー、アプリプレビュー、PR 監視、コネクタ、エンタープライズ設定。

Claude Desktop アプリでは、Claude Code は Code タブです。アプリにはチャットと Cowork もあり、Cowork は Dispatch やより長いエージェント型の作業を担います。このページは Code タブのリファレンスです。

macOS 用にダウンロード

Intel と Apple Silicon 向けのユニバーサルビルド

Windows 用にダウンロード

x64 プロセッサ向け

Linux 用 Claude を入手(ベータ版)

Ubuntu と Debian 向けの apt または .deb

Windows ARM64 の場合は、ARM64 インストーラーをダウンロードしてください。Linux では apt でインストールします。Claude Desktop on Linuxを参照してください。

インストール後、Claude を起動してサインインし、Code タブをクリックします。最初のセッションのウォークスルーについては、はじめにガイドを参照してください。

Code タブでは、各会話は セッション です:独自のチャット履歴とプロジェクトフォルダを持ち、他のセッションとは独立しています。サイドバーはセッションをリストアップし、複数を並列で実行できます。セッション内では以下のことができます:

スケジュール済みの定期的な作業、キーボードショートカット、または電話からタスクを送信については、リンクされたページとセクションを参照してください。既にターミナルベースの CLI を使用している場合は、CLI 比較を参照して、何が引き継がれるかを確認してください。

セッションを開始する

最初のメッセージを送信する前に、プロンプトボックスの下の行で環境、プロジェクトフォルダ、権限モード、モデルを選択してください:

  • 環境:行の最初のコントロールである環境セレクタを使用して、Claude が実行される場所を選択します。環境設定を参照してください。
  • プロジェクトフォルダ:環境セレクタの隣にあるプロジェクトフォルダコントロールをクリックして、Claude が作業するフォルダを選択します。
  • 権限モード:モードセレクタを使用して、Claude がどの程度の自律性を持つかを選択します。セッション中に権限モードを変更できます。
  • モデル:行の右端寄りにあるモデルピッカーからモデルを選択します。セッション中にモデルを変更できます。

タスクを入力してEnterキーを押してセッションを開始します。各セッションは独自のコンテキストと変更を追跡します。

コードの操作

Claude に適切なコンテキストを提供し、それが独立して実行する量を制御し、変更内容を確認します。

プロンプトボックスを使用する

Claude に実行させたいことを入力してEnterキーを押して送信します。Claude はプロジェクトファイルを読み取り、権限モードに基づいて変更を加えてコマンドを実行します。いつでも Claude を中断できます:停止ボタンをクリックして即座に中断するか、修正を入力してEnterキーを押して実行中のアクションを停止せずに送信します。Claude は現在のアクションが完了した後に修正を読み取り、次のステップの前に調整します。

プロンプトボックスの横の**+**ボタンをクリックすると、ファイル添付、スキル、コネクタ、およびプラグインにアクセスできます。

提案されたプロンプトを受け入れる

Claude が返信した後、Code タブでは、空のプロンプトボックスに次のプロンプトの提案がグレーのテキストで表示されることがあります。Claude Code は、会話をもとに短いバックグラウンドリクエストで各提案を生成します。このリクエストはプランの使用制限または API コストにカウントされます。

  • 提案を使用する:Tab キーまたは Right arrow キーを押すと提案がプロンプトボックスに配置されます。必要に応じて編集してから、Enter キーを押して送信します。提案を受け入れる前に Enter キーを押しても、提案は送信されません。
  • 独自のプロンプトを書く:入力を開始します。提案は、プロンプトボックスが空で、添付ファイルがない場合にのみ表示されます。

Settings > Claude Code に移動し、Sessions の下にある Prompt suggestions をオフにすると、各セッションで次回の開始または再開時から提案が表示されなくなります。

ファイルとコンテキストをプロンプトに追加する

Claude にファイルを渡すには、プロンプトボックスでファイルを @mention するか添付します:

  • @mention ファイル:@ の後にファイル名を入力して、ファイルを会話コンテキストに追加します。
    • クラウドセッションの場合:@ でファイルを一覧表示できるのは、最初のメッセージを送信した後のみです。@ で何も表示されない場合は、ファイルなしで最初のメッセージを送信し、次のメッセージでそのファイルを @mention します。
  • ファイルを添付:プロンプトボックスの横の + ボタンから画像、PDF、およびその他のファイルをプロンプトに添付するか、ファイルをプロンプトに直接ドラッグアンドドロップします。これはバグのスクリーンショット、デザインモックアップ、または参照ドキュメントを共有するのに便利です。
    • WSL セッションの場合:+ メニューに Add files or photos ではなく Add image が表示される場合、添付できるのは画像のみです。セッションのフォルダにあるその他のファイルを Claude に渡すには、そのファイルを @mention します。

権限モードを選択する

権限モードは、セッション中に Claude がどの程度の自律性を持つかを制御します:ファイルの編集、コマンドの実行、またはその両方の前に確認するかどうかです。プロンプトボックスの下の行にあるモードセレクタを使用して、いつでも権限モードを切り替えることができます。各変更を自分で承認するには、Manual に切り替えます。

新しいローカルセッションのデフォルトモードを設定するには、設定ファイルにpermissions.defaultModeを追加します。デスクトップアプリは CLI と同じ設定ファイルを読み取ります。セレクタで選択したモードはフォルダごとに記憶され、そのフォルダのdefaultModeより優先されます。ただし Plan は現在のセッションにのみ適用されます。

モード 設定キー 動作
Manual default Claude はファイルの編集またはコマンドの実行の前に確認を求めます。差分を確認し、各変更を受け入れるか拒否できます。
Accept edits acceptEdits Claude はファイル編集とmkdir、touch、mvなどの一般的なファイルシステムコマンドを自動的に受け入れますが、他のターミナルコマンドの実行前には確認を求めます。ファイル変更を信頼し、より高速な反復を望む場合に使用します。
Plan plan Claude はファイルを読み取り、コマンドを実行して探索してから、ソースコードを編集せずにプランを提案します。アプローチを最初に確認したい複雑なタスクに適しています。
Auto auto Claude は日常的なプロンプトなしで実行されます。シェルコマンドやネットワークリクエストなどのアクションが実行される前に、バックグラウンド分類器がリクエストとの整合性を確認します。auto モードが利用可能な場合に表示されます。設定用の個別トグルはありません。
Bypass permissions bypassPermissions Claude は権限プロンプトなしで実行されます。ただし、どのモードも自動承認しないアクション、Claude が外部サイトで機能する場合の安全分類器、またはセッションの削除などのデスクトップアクション(セッションのアーカイブは含みません)は除きます。CLI の--dangerously-skip-permissionsと同等です。Pro および Max プランでは、Settings → Claude Code の「Allow bypass permissions mode」で有効にします。Team および Enterprise プランでは設定トグルはなく、組織ポリシーで制御されます。サンドボックス化されたコンテナまたは VM でのみ使用してください。

Code タブの以前のバージョンでは、これらのモードを Ask permissions、Auto accept edits、および Plan mode というラベルが付けられていました。

dontAsk権限モードはCLIでのみ利用可能です。

[!TIP]

複雑なタスクを Plan で開始して、Claude が変更を加える前にアプローチをマップアウトするようにします。プランを承認したら、Accept edits または Manual に切り替えて実行します。このワークフローの詳細については、最初に探索してからプランしてからコード化するを参照してください。

クラウドセッションは Accept edits、Plan、および Auto をサポートしています。Accept edits はdefaultモードに対応しています:クラウドセッションはファイル編集を事前に承認するため、セレクタは Manual ではなく Accept edits を表示します。Bypass permissions はクラウドセッションでは利用できません。自己ホスト環境のセッションを含みます。

エンタープライズ管理者は利用可能な権限モードを制限できます。詳細については、エンタープライズ設定を参照してください。

auto モードの利用可否

auto モードは Anthropic API のすべてのユーザーが利用でき、Claude Opus 4.6 以降、Sonnet 4.6 以降、Haiku 5.5、またはFable モデルが必要です。組織管理者は管理設定のdisableAutoModeキーで auto モードをオフにできます。

Desktop を Google Cloud の Agent Platform にルーティングする Enterprise デプロイでも、auto モードはデフォルトで利用可能です。サポートされているモデルについては、Bedrock、Agent Platform、または Foundry での auto モードの有効化を参照してください。

アプリをプレビューする

Claude は dev サーバーを起動し、Browser ペインで開いて変更を確認できます。これはフロントエンド Web アプリとバックエンドサーバーの両方で機能します:Claude は API エンドポイントをテストし、サーバーログを表示し、見つけた問題を反復処理できます。ほとんどの場合、Claude はプロジェクトファイルを編集した後、サーバーを自動的に起動します。いつでも Claude にプレビューを要求することもできます。デフォルトでは、Claude は編集後に変更を自動検証します。

ローカルセッションでは、チャットで HTML、PDF、またはビデオのパスをクリックすると、Browser ペインで開きます。

[!NOTE]

SSH セッションでは、Claude は Browser ペインのツールを利用できないため、Browser ペインでアプリを開くことができません。アプリを自分で確認するには、そのポートをコンピューターに転送します。

ローカルセッションで Claude がサーバーを起動した後に Browser ペインが開いていない場合は、チャット内のサーバーのカードにある Open をクリックします。

Browser ペインから、以下を実行できます:

  • Browser ペインで実行中のアプリと直接対話する
  • Claude が自動的に独自の変更を検証するのを監視する:スクリーンショットを撮影し、DOM を検査し、要素をクリックし、フォームに入力し、見つけた問題を修正します
  • Browser ペインのヘッダーにある Dev servers メニューから、サーバーを開始または停止する、またはすべてのサーバーを一度に停止する
  • Browser ペインの ⋮ メニューにある Keep cookies で、アプリを終了した後も Browser がクッキーを保持するかどうかを選択し、開発中に再度サインインする必要がないようにする

Claude はプロジェクトに基づいて初期サーバー設定を作成します。アプリがカスタム dev コマンドを使用する場合、.claude/launch.jsonを編集してセットアップに合わせます。完全なリファレンスについては、プレビューサーバーを設定するを参照してください。

Browser の保存データをクリアするには、Browser ペインの ⋮ メニューで Clear browsing data を選択します。Browser を完全にオフにするには、Settings > Claude Code で Browser tools をオフにします。

外部サイトを閲覧する

Browser ペインはタブ付きブラウザなので、ドキュメント、issue トラッカー、または実行中のアプリの横に他のサイトを開くことができます。Browser を開くには、macOS でCmd+Shift+B、Windows でCtrl+Shift+Bを押すか、セッションのタイトルバーにある Browser をクリックします。Google OAuth などのポップアップサインインフローを含め、ペイン内でサイトにサインインできます。

チャットで外部リンクを初めてクリックすると、リンクを Browser ペインで開くかデフォルトのブラウザで開くかを尋ねるダイアログが表示されます。後で選択を変更するには、Browser ペインの ⋮ メニューにある Open links in built-in browser を使用します。macOS で Cmd キーを押しながらクリックするか、Windows で Ctrl キーを押しながらクリックすると、デフォルトのブラウザでリンクが直接開きます。

Claude はアプリを検証するために使用するのと同じツールを使用して外部ページを読み取り、対話できます。2 つの追加の安全チェックがあります:

  • 安全分類器は、すべての権限モードで、クリックやタイピングなど、外部ページでの Claude の書き込みアクションを確認します。これらはauto モードが使用するのと同じ分類器であり、分類器がアクションを警告した場合、モードに関係なく権限プロンプトが表示されます。
  • Auto および Bypass permissions 以外の権限モードでは、Claude が新しいサイトに移動する前にドメイン許可リストチェックも適用されます。

サイトで Claude のアクションを承認する

Claude が外部サイトで初めてアクションを実行すると、権限カードが表示され、Claude は選択を待ちます:Allow once、Always allow、またはDeny。Allow onceは何も保存せずにアクションを承認します。Always allowはそのサイトの承認をデバイスに保存し、Settings で取り消すことができます。サブドメインを含む各サイトは独自の承認が必要です。ローカル dev サーバーとプロジェクトファイルは承認が不要なため、auto-verifyはプロンプトなしで機能し続けます。

承認されたサイトでも、Claude はユーザーの入力なしに商品を購入したり、アカウントを作成したり、CAPTCHA をバイパスしたりしません。Browser ペインでの閲覧は、Claude in Chrome 拡張機能と同じ安全モデルを使用します。Claude が機密サイトとリスクのあるアクションをどのように処理するかについては、Claude in Chrome を安全に使用するを参照してください。

Browser と Chrome 拡張機能を選択する

Browser ペインは、個人用ブラウザとは別の、保存されたログインや履歴がないクリーンなブラウザプロファイルを使用します。アプリの構築とテスト、および ID が不要なサイトに使用します。Claude がログイン済みセッションでユーザー本人として機能するようにしたい場合は、代わりにブラウザのログイン状態を共有するClaude in Chrome 拡張機能を使用します。

組織の外部閲覧を制限する

Browser は、Claude in Chrome 拡張機能と同じサイト許可リストとブロックリストコントロールに従います。組織が既に拡張機能用にこれらのリストを設定している場合、Browser は自動的にそれらを尊重します。管理者は、browserExternalPageTools管理設定で外部ページの Claude のツールをオフにすることもできます。ツールが無効になっている場合、ユーザーは外部サイトに移動できます。Claude のツールはそれらを読み取ったり、アクションを実行したりできません。

外部閲覧を完全に無効にするには、disableBrowserExternalNavigation管理設定をtrueに設定します。これは Browser 内のすべての外部ナビゲーションをブロックします。組織の許可リストのサイトを含みます。localhost dev サーバーとファイルプレビューは機能し続けます。browserExternalPageToolsを使用して、ユーザーが Claude のツールなしで外部サイトの閲覧を続けられるようにし、disableBrowserExternalNavigationを使用して、ユーザーと Claude の両方に対して外部サイトをブロックします。

差分ビューで変更を確認する

Claude がコードに変更を加えた後、差分ビューを使用して、プルリクエストを作成する前にファイルごとに変更を確認できます。差分ビューを開くには、セッション詳細パネルの Changes カードにある +12 -1 などの行数をクリックします。セッションのタイトルバーにある Changes をクリックすることもできます。

特定の行にコメントするには、差分内の任意の行をクリックしてコメントボックスを開きます。フィードバックを入力してEnterキーを押してコメントを追加します。複数の行にコメントを追加した後、すべてのコメントを一度に送信します:

  • macOS:Cmd+Enterを押す
  • Windows:Ctrl+Enterを押す

Claude はコメントを読み取り、要求された変更を加えます。これは確認できる新しい差分として表示されます。

コードを確認する

コミット前に Claude に変更をレビューさせるには、プロンプトボックスに /code-review と入力します。レビューが完了すると、結果が会話に表示されます。

ローカル、SSH、および WSL セッションでは、結果はファイルごとにグループ化された Code review カードとして表示されます。カードを使用して結果に対応します:

  • Walk through in diff をクリックすると、差分ビューが開き、結果を 1 つずつ確認できます。現在の差分内の結果は該当する行に表示され、そこで Fix this one をクリックするか、結果を却下できます。
  • Apply fixes をクリックすると、まだ未対応の結果を修正するよう Claude に依頼します。

どのセッションでも、プロンプトボックスで Claude にレビュー結果の修正を依頼することもできます。/code-review が確認する内容と受け付ける引数については、/code-review でローカルにレビューするを参照してください。

プルリクエストステータスを監視する

Claude に失敗したチェックを修正させる、または GitHub にプルリクエストをマージさせるには、Auto-fix または Merge when ready をオンにします。プルリクエストを開くと、そのプルリクエストが CI チェックのステータスとともにセッション詳細パネルの Changes カードに表示されます。タイトルの横にある ⋮ メニューを開きます:

  • Auto-fix:ローカルセッションでは、ユーザー以外の人が残した新しいレビューコメントにも Claude が対応します。コメントの作成者は、リポジトリのオーナー、組織のメンバー、コラボレーター、または GitHub App である必要があります。
  • Merge when ready:PR に対して GitHub の auto-merge をオンにします。ローカルセッションでは、ベースブランチがマージキューを使用していない限り、Desktop はスカッシュマージを要求します。
    • SSH および WSL セッションの場合:Merge when ready は無効になっているため、GitHub でプルリクエストの auto-merge をオンにします
    • リポジトリが auto-merge を許可していない場合:Merge when ready はオンにならないため、先に GitHub リポジトリ設定で auto-merge を有効にします
  • 以前のレイアウト:セッションにプルリクエストができたら、ステータスバーの CI をクリックします。

PR がマージまたはクローズされた後にセッションを自動的にアーカイブするには、Settings > Claude Code でauto-archiveをオンにします。

[!NOTE]

PR 監視には、GitHub CLI(gh)がマシンにインストールされ、認証されている必要があります。ghがインストールされていない場合、Desktop は PR を作成しようとする最初の時点でインストールを促します。

SSH セッションでは、Claude はリモートマシン上でブランチをプッシュし、gh pr create を実行するため、Create PR をクリックする前にリモートマシンで git と gh をセットアップしてください。SSH セッションでは Desktop がインストールを促さないため、gh はリモートマシンに自分でインストールしてください。その後、リモートマシンで git push が機能すること、および gh auth status がログイン済みであると報告することを確認してください。

ワークスペースを配置する

Code タブはペインを任意のレイアウトで配置できるように構築されています:チャット、diff、ブラウザ、ターミナル、ファイル、プラン、タスク、およびサブエージェント。macOS では iOS Simulator も含まれます。ペインをヘッダーでドラッグして位置を変更するか、ペインエッジをドラッグしてサイズを変更します。macOS ではCmd+\を、Windows ではCtrl+\を押してフォーカスされたペインを閉じます。セッションのタイトルバーにあるTerminal、Changes、またはBrowserをクリックすると、ターミナル、diff、またはブラウザペインが開きます。その横にある**⋮メニューからはFiles**などの追加のペインを開くことができ、ウィンドウの幅が狭くてこれらのボタンを表示できない場合は、ボタンもこのメニューに格納されます。

複数の画面で作業するには、diff やターミナルなどのペインをポップアウトして独立したウィンドウにし、完了したらドックバックします。Claude はメインウィンドウで作業を続けます。

[!NOTE]

このセクションのペインレイアウト、ターミナル、ファイルエディタ、およびビューモードには Claude Desktop v1.2581.0 以降が必要です。macOS では**Claude > Check for Updates…を、Windows ではHelp > Check for Updates…**を開いて更新してください。

セッションの詳細を確認する

セッション詳細パネルは、チャットの横に表示されるカードのセットで、セッションの実行場所、変更内容、実行中の内容、およびコンテキストの使用状況を表示します。このパネルはセッションを開始した後、チャットの幅が十分にある場合に表示されます。

セッション詳細パネルを表示または非表示にする

パネルを表示または非表示にするには、セッションのタイトルバー、またはウィンドウの幅が狭い場合はバーの**⋮メニューで、Hide session railまたはShow session rail**をクリックします。それでもパネルが表示されない場合は、使用している Code タブのレイアウトを確認してください。

ターミナルでコマンドを実行する

統合ターミナルを使用すると、別のアプリに切り替えることなく、セッションと並行してコマンドを実行できます。セッションのタイトルバーにあるTerminalをクリックするか、macOS または Windows でCtrl+`を押します。ターミナルはセッションの作業ディレクトリで開き、Claude と同じ環境を共有するため、npm testやgit statusなどのコマンドは Claude が編集しているのと同じファイルを見ます。2 番目のターミナルタブを開くには、ターミナルペインヘッダーの+をクリックするか、チャットのフォルダを右クリックしてOpen in terminalを選択します。

WSL セッションでターミナルがない場合は、ターミナルまたはコネクタが利用できない場合を参照してください。ターミナルはローカルおよび SSH セッションで利用可能ですが、Windows リモートマシンでは制限があります。

ファイルを開いて編集する

Claude が言及したファイルを開くには、チャット内のそのパスをクリックします。

ファイルを自分で編集するには、ファイルペインを使用します:

  • ローカルセッション:セッションの作業ディレクトリ内のファイルを編集できます。ただし、.mcp.jsonや.claude/settings.jsonなど、一部の表示専用ファイルは除きます。これらを変更するには、別のアプリで開いてください。
  • クラウド、SSH、WSL セッション:ファイルペインは表示専用のため、Claude に編集を依頼してください。

ファイルペインで編集内容を保存する

デフォルトでは、ファイルペインでの編集は自動的に保存されるため、ペインにSaveボタンは表示されません。編集内容を自分で保存するには、ペインの**⋮メニューでAuto saveのチェックを外します。Auto saveがオフの場合は、ファイルを変更した後にSave**をクリックして編集内容を書き込むか、Cancelをクリックして元に戻します。

ファイルがディスク上で変更されたことをペインが警告した場合は、Overrideをクリックしてディスク上のバージョンを編集内容で上書きするか、Discardをクリックして編集内容を破棄します。

ファイルを他のアプリで開く

チャット、diff ビューア、またはファイルペイン内のファイルパスを右クリックしてコンテキストメニューを開きます:

  • Attach as context:ファイルを次のプロンプトに追加
  • Open in:VS Code、Cursor、Zed などのインストール済みエディタでファイルを開く
  • Show in Finder(macOS)、Show in Explorer(Windows):含まれるフォルダを開く
  • Copy path:絶対パスをクリップボードにコピー

ビューモードを切り替える

ビューモードは、チャットトランスクリプトに表示される詳細の量を制御します。ビューモードを切り替えるには、セッションタイトルの横のキャレットからセッションメニューを開いてTranscript viewを選択するか、macOS または Windows でCtrl+Oを押してモードをサイクルします。Thinking モードは、表示しているセッションで Claude が思考を生成した後にのみメニューに表示されます。

モード 表示内容
Normal ツール呼び出しは要約に折りたたまれ、完全なテキスト応答
Thinking ツール呼び出しは要約に折りたたまれ、Claude の思考を含む
Verbose すべてのツール呼び出し、ファイル読み取り、Claude が実行した中間ステップ、および Claude の思考

ツール呼び出しがまだ折りたたまれた状態で Claude の推論を追跡するには Thinking を使用します。Claude が特定のアクションを実行した理由をデバッグするときは Verbose を使用します。Claude Desktop v1.46388.1 より前のバージョンは Summary モードもリストしており、Summary に設定されたセッションは更新後に Normal で開きます。

キーボードショートカット

macOS で**Cmd+/を、Windows でCtrl+/**を押して、Code タブで利用可能なすべてのショートカットを表示します。このセクションの表は macOS のキーを示しています。Windows および Linux では、以下のキーを置き換えてください:

  • Cmd+Option:Altを押す
  • Cmd:Ctrlを押す

セッションサイクリング、ターミナルトグル、およびビューモードトグルはすべてのプラットフォームでCtrlを使用します。

ショートカット アクション
Cmd / キーボードショートカットを表示
Cmd N 新しいセッション
Cmd Option 1–9 現在のレイアウトの新しいセッション画面で、環境を選択
Cmd Option 0 現在のレイアウトの新しいセッション画面で、New environment ダイアログを開く
Cmd W セッションを閉じる
Ctrl Tab / Ctrl Shift Tab 次または前のセッション
Cmd Shift ] / Cmd Shift [ 次または前のセッション
Esc Claude の応答を停止
Tab / Right arrow 空のプロンプトボックスで提案されたプロンプトを受け入れる
Cmd Shift D diff ペインを切り替え
Cmd Shift B ブラウザペインを切り替え
Cmd Shift S ブラウザで要素を選択
Ctrl ` ターミナルペインを切り替え
Cmd \ フォーカスされたペインを閉じる
Cmd ; サイドチャットを開く
Ctrl O ビューモードをサイクル
Cmd Shift M 権限モードメニューを開く
Cmd Shift I モデルメニューを開く
Cmd Shift E 努力メニューを開く
1–9 開いているメニューの項目を選択

これらのショートカットは Code タブに適用されます。Desktop では、ターミナルのインタラクティブモードとは異なり、Shift+Tabで権限モードをサイクルすることはできません。

使用状況を確認する

このセッションのコンテキストウィンドウがどの程度埋まっているかを確認するには、使用している Code タブのレイアウトを確認します:

  • 現在のレイアウト:セッション詳細パネルのContextカードのヘッダーにパーセンテージで表示されます。カードを開くと、ウィンドウを使用している内容をカテゴリ別に確認できます。
  • 以前のレイアウト:モデルピッカーの横の使用状況リングをクリックします。そのポップオーバーにコンテキストウィンドウの使用状況が表示されます。

どちらのレイアウトでも、プロンプトボックスに/contextと入力すると、このセッションのコンテキストウィンドウのカテゴリ別の内訳がチャットに出力されます。

どちらのレイアウトにも、モデルピッカーの横に使用状況リングがあります。これをクリックするとプランの使用状況が表示されます。プランの使用状況はすべての Claude Code サーフェス全体で共有されます。

Claude にコンピュータを使用させる

コンピュータ使用により、Claude はアプリを開き、スクリーンを制御し、あなたがするのと同じ方法でマシンで直接作業できます。CLI がないデスクトップツールと対話するよう Claude に依頼したり、GUI を通じてのみ機能する何かを自動化したりしてください。iOS アプリの実行とテストの場合、Desktop はスクリーン制御の代わりに専用の iOS Simulator ペインを開きます。このペインはコンピュータ使用を有効にしなくても機能します。

[!NOTE]

コンピュータ使用は macOS と Windows の研究プレビューであり、Pro または Max プランが必要です。Team または Enterprise プランでは利用できません。Claude Desktop アプリが実行されている必要があります。

コンピュータ使用はデフォルトでオフです。設定で有効にして、Claude がスクリーンを制御する前に必要な権限を付与してください。macOS では、Accessibility と Screen Recording の権限も付与する必要があります。

macOS では、コンピュータ使用はバックグラウンドで実行することもできます。Claude は承認したアプリで作業しながら、あなたは作業を続けることができます。

[!WARNING]

サンドボックス化された Bash ツールとは異なり、コンピュータ使用は実際のデスクトップで実行され、承認したものへのアクセス権があります。Claude は各アクションをチェックし、オンスクリーンコンテンツからの潜在的なプロンプトインジェクションにフラグを立てますが、信頼境界は異なります。ベストプラクティスについては、コンピュータ使用安全ガイドを参照してください。

コンピュータ使用が適用される場合

Claude はアプリまたはサービスと対話するための複数の方法を持ち、コンピュータ使用は最も広範で最も遅いです。最も正確なツールを最初に試します:

  • サービスのコネクタがある場合、Claude はコネクタを使用します。
  • タスクがシェルコマンドの場合、Claude は Bash を使用します。
  • タスクがブラウザ作業であり、Chrome の Claudeがセットアップされている場合、Claude はそれを使用します。
  • タスクが iOS アプリの実行またはテストの場合、Claude は iOS Simulator ペインを使用します。これはスクリーン制御を使用しません。
  • これらのいずれも適用されない場合、Claude はコンピュータ使用を使用します。

アプリごとのアクセス層はこれを強化します:ブラウザはビューのみに制限され、ターミナルと IDE はクリックのみに制限され、Claude をコンピュータ使用がアクティブな場合でも専用ツールに向けます。スクリーン制御は、ネイティブアプリ、ハードウェア制御パネル、または API のない独自ツールなど、他に何も到達できないものに予約されています。

コンピュータ使用を有効にする

コンピュータ使用はデフォルトでオフです。それが必要な何かをするよう Claude に依頼し、それがオフの場合、Claude は Settings でコンピュータ使用を有効にすれば、タスクを実行できることを伝えます。

1. デスクトップアプリを更新する

Claude Desktop の最新バージョンがあることを確認してください。macOS と Windows では、claude.com/downloadでダウンロードまたは更新してください。Linux では、パッケージマネージャーを通じて更新してください(手順)。その後、アプリを再起動します。

2. トグルをオンにする

デスクトップアプリで、Settings > This computer > System に移動します。Computer use の下で Enable computer use をオンにします。Windows では、トグルはすぐに有効になり、セットアップは完了です。macOS では、次のステップに進みます。

トグルが表示されない場合は、macOS または Windows で Pro または Max プランを使用していることを確認してから、アプリを更新して再起動します。

3. macOS 権限を付与する

macOS では、トグルが有効になる前に 2 つのシステム権限を付与します:

  • Accessibility:Claude がクリック、入力、スクロールできるようにします
  • Screen Recording:Claude がスクリーンに表示されているものを見ることができるようにします

Settings ページは各権限の現在のステータスを表示します。いずれかが拒否されている場合、バッジをクリックして関連するシステム設定ペインを開きます。

アプリ権限

Claude が初めてアプリを使用する必要がある場合、セッションにプロンプトが表示されます。Allow for this sessionまたはDenyをクリックします。承認は現在のセッション、またはDispatch が生成したセッションでは 30 分間有効です。

プロンプトは、Claude がそのアプリに対して取得するコントロールのレベルも表示します。これらの層はアプリカテゴリによって固定され、変更できません:

層 Claude ができること 適用対象
ビューのみ スクリーンショットでアプリを見る ブラウザ、取引プラットフォーム
クリックのみ クリックとスクロール、ただし入力またはキーボードショートカットは不可 ターミナル、IDE
フルコントロール クリック、入力、ドラッグ、キーボードショートカットの使用 その他すべて

Terminal、Finder または File Explorer、System Settings または Settings などの広範なリーチを持つアプリは、承認が何を付与するかを知るようにプロンプトに追加の警告を表示します。

Settings > This computer > System の Computer use セクションには、次のオプションがあります:

  • Denied apps:ここにアプリを追加して、プロンプトなしで拒否します。Claude は許可されたアプリのアクションを通じて拒否されたアプリに間接的に影響を与える可能性がありますが、拒否されたアプリと直接対話することはできません。
  • Unhide apps when Claude finishes:Claude が作業している間、他のウィンドウは非表示になり、承認されたアプリのみと対話します。Claude が完了すると、この設定をオフにしない限り、非表示のウィンドウが復元されます。

セッションを管理する

各セッションは独立した会話であり、独自のコンテキストと変更があります。複数のセッションを並列で実行するか、サイドチャットを分岐させるか、Claude に他のセッションをチェックしてメッセージを送信させるか、作業をクラウドに送信するか、Dispatch にセッションを電話から開始させることができます。

セッションで並列に作業する

サイドバーの + New をクリックするか、macOS で Cmd+N を、Windows で Ctrl+N を押して、複数のタスクを並列で作業します。Ctrl+Tab と Ctrl+Shift+Tab を押してサイドバーのセッションをサイクルします。

2 つのセッションを同時に表示するには、macOS でCmdを、Windows でCtrlを押しながらサイドバーのセッションをクリックします。セッションは既に開いているセッションの横の 2 番目のペインで開きます。分割がアクティブな間、別のサイドバーセッションをクリックすると、フォーカスがあるペインが置き換わります。macOS で**Cmd+\を、Windows でCtrl+\**を押して、フォーカスされたペインを閉じて、単一のセッションに戻ります。

セッションを独自の worktree で実行する

Git リポジトリであるプロジェクトでは、セッションを開始する前に Worktree をオンにすると、プロジェクトの分離されたコピーである独自の Git worktree でセッションを実行できます。デフォルトでは Worktree はオフで、Claude はプロジェクトフォルダ自体で作業します。プロンプトボックスの下の行にあるプロジェクトフォルダのコントロールをクリックし、Worktree をオンにします。

  • 保存済み環境を使用する場合:環境を作成または編集するときに Worktree を設定します
  • 以前のレイアウト:プロンプトボックスの上にあるブランチ名の横の worktree チェックボックスを選択します

Worktrees はデフォルトで<project-root>/.claude/worktrees/に保存されます。これはカスタムディレクトリに変更できます:

  • ローカルセッション:Settings > Claude Code で Worktree location を設定します
  • SSH セッション:SSH 接続で Worktree folder を設定します

Settings > Claude Code で Branch prefix を設定することもできます。Desktop はすべての worktree ブランチ名の前にこれを付加するため、Claude が作成したブランチを整理するのに便利です。

gitignored ファイル(.envなど)を新しい worktrees に含めるには、プロジェクトルートに.worktreeincludeファイルを作成します。worktree セッションがプロジェクト設定、フック、スキルをどこから読み取るかについては、worktree がメインのチェックアウトと共有するものを参照してください。

[!NOTE]

セッション分離にはGitが必要です。ほとんどの Mac には Git がデフォルトで含まれています。Terminal でgit --versionを実行して確認してください。バージョン番号が表示されれば、Git がインストールされています。Git エラーが発生した場合は、Cowork で Claude に助けを求めてセットアップのトラブルシューティングを行ってください。

セッションにフォルダを追加する

フォルダはセッションの開始前または実行中に追加できます:

セッションをアーカイブする

worktree にコミットされていない変更があるセッションをアーカイブする前に、セッションのアーカイブ時にコミットされていない変更を保持するを参照してください。セッションをアーカイブするには、サイドバーでセッションにマウスを合わせてメニューを開き、Archive を選択します。セッションはアーカイブ済みセッションに移動します。

プルリクエストがマージまたはクローズされたときにセッションを自動的にアーカイブするには、Settings > Claude Code で Auto-archive after PR merge or close をオンにします。クラウドセッションとまだ実行中のセッションは自動的にアーカイブされません。

セッションのアーカイブ時にコミットされていない変更を保持する

セッションがアーカイブされると、セッションの worktree にあるコミットされていない変更が失われる可能性があるため、保持したいものは先にコミットしてください:

  • Desktop が変更について確認してきた場合:Archive anyway を選択して変更を破棄するか、キャンセルしてコミットします
  • 変更が追跡されていないファイルのみの場合:セッション内で Claude が作成したプルリクエストがマージされる前に、保持したいファイルをコミットします。マージ後は Desktop が確認なしにそれらを削除できるためです
  • それ以外の場合:worktree は変更とともにディスク上に残ります。ローカルセッションの場合、Desktop はセッションがアーカイブされた時点または最後にセッションを開いた時点のいずれか遅いほうから約 30 日後に、その両方を削除します。変更を保持するには、Archived タブからセッションを開き、Unarchive を選択します

セッションを整理して見つける

セッションのグループ化、並べ替え、検索は、サイドバーのセッションリストにあるアイコンから行います:

  • 現在のレイアウト:セッションリストの見出しにマウスを合わせると Group and sort アイコンが表示されるので、それをクリックします。アーカイブ済みセッションを見つけるには、メニューの最後の行である View all を選択し、Archived タブを開きます。
  • 以前のレイアウト:Filter アイコンはマウスを合わせなくても表示されます。これをクリックし、Group by または Sort by でリストを整理します。アーカイブ済みセッションを表示するには、Status を選択し、次に Archived を選択します。

セッション名を変更するには、セッションを開いてタイトルバーのセッションタイトルをクリックします。

コンテキストを確認して解放する

コンテキスト使用状況を確認するには、使用状況を確認するを参照してください。コンテキストがいっぱいになると、Claude は自動的に会話を要約して作業を続けます。/compactを入力して要約をより早くトリガーし、コンテキストスペースを解放することもできます。コンテキストウィンドウを参照して、圧縮がどのように機能するかについての詳細を確認してください。

セッションの完了時に通知を受け取る

デスクトップアプリは、Code セッションがタスクを完了し、現在そのセッションを表示していない場合に OS 通知を送信します。プロジェクトに属するセッションの場合、代わりにプロジェクトの通知を受け取ります。

メインセッションを脱線させずにサイドクエスチョンを尋ねる

サイドチャットを使用すると、セッションのコンテキストを使用するが、メインの会話に何も追加しない質問を Claude に尋ねることができます。コードの一部を理解したい、仮定を確認したい、またはセッションを脱線させずにアイデアを探索したい場合に使用します。

macOS で**Cmd+;を、Windows でCtrl+;**を押してサイドチャットを開くか、プロンプトボックスで/btwを入力します。サイドチャットはその時点までのメインスレッドのすべてを読み取ることができます。完了したら、サイドチャットを閉じてメインセッションを続行します。

サイドチャットはローカル、SSH、および WSL セッションで利用可能です。デスクトップアプリはサイドチャットをディスクに保存しないため、アプリを閉じた後に戻ることはできません。

バックグラウンドタスクを監視する

タスクペインは、現在のセッション内で実行されているバックグラウンド作業を表示します:サブエージェント、バックグラウンドシェルコマンド、および動的ワークフロー。セッションにバックグラウンド作業がある場合は、タイトルバーの ⋮ メニューにある Background tasks からペインを開きます。

任意のエントリをクリックして、サブエージェントペインで出力を確認するか、停止します。他のセッションが何をしているかを確認するには、サイドバーを使用するか、Claude にそれらをチェックしてもらうことができます。

セッション間で作業する

Claude は他の Code タブセッションをリストアップし、各セッションが何をしてきたかを読み取り、セッション間でメッセージを送信できます。平易な言語で尋ねてください:「どのセッションが認証リファクタリングに触れましたか?」、「API セッションは何を結論づけましたか?」、または「支払いセッションにスキーマが変更されたことを伝えてください」。

また、Claude にセッションの名前変更またはアーカイブを依頼することもできます。たとえば、PR がマージされたセッションをアーカイブするよう依頼してください。

このサーフェスを通じて、Claude はデスクトップアプリが自身で実行するセッションのみを見ます:ローカル、SSH、および Code タブのWSLセッション。Claude はクラウドセッション、またはターミナル CLI または VS Code 拡張機能から開始したセッションを見ません。同じプロジェクトの worktrees にあっても見ません。そのため、9 つのターミナル worktrees が開いていて 2 つのデスクトップセッションがある場合、それらの 1 つで回答する Claude は他の 1 つのデスクトップセッションを報告します。Claude は質問しているセッションをリストアップしません。デフォルトでは、最近アクティブな 20 個のセッションを見て、アーカイブされたセッションをスキップします。ただし、それらを要求する場合を除きます。クロスセッションメッセージングは、Claude が他の Claude Code セッション(ターミナルセッションを含む)にメッセージを送信することを別途許可します。

Claude がこのサーフェスを通じて別のセッションにメッセージを送信する場合、Claude Code はそこにカードとして表示され、送信セッションのタイトルでラベル付けされ、戻るリンクが付いているため、メッセージがどこから来たかを常に知ることができます。受信セッションがタスクの途中にある場合、Claude Code はメッセージを保持し、Claude は現在の作業が完了したら読み取ります。受信する Claude は返信でき、Claude Code はこのサーフェスを通じて返信を配信します。Claude はアーカイブされたセッションに配信できず、メッセージが届かない場合は通知します。

Claude Code はセッション間で 3 つの安全動作を適用します:

  • Claude がセッションをアーカイブする前に承認カードが表示されます。ただし、auto モードと Bypass permissions モードでは、Claude は承認カードなしでセッションをアーカイブできます。確認を求められるようにするには、Manual に切り替えてください。
  • Claude Code は、受信セッションがクロスセッションメッセージング自体を持たない場合でも、このサーフェスからの各メッセージを受信セッションのインバウンドコントロールに対してチェックします。受信セッションでcrossSessionInboundをrefuseに設定した場合、Claude Code はこのサーフェスからのメッセージをドロップします。Claude Code は拒否を Claude デスクトップアプリに報告します。v2.1.234 より前では、Claude Code はこのサーフェスからクロスセッションメッセージングを持たない受信セッションへのすべてのメッセージをドロップしました。
  • Claude Code は各受信メッセージを引用して送信元のセッションを明示し、Claude はメッセージに基づいて行動する際も受信セッション自体の権限設定に従います。

Claude は新しいセッションを提案することもできます。現在のタスクの範囲外で修正する価値があるものに気付くと、作業をチャットのタスクチップとして提供します。チップをクリックして、独自の worktree を持つ新しいセッションでその作業を開始します。Claude は現在のセッションを中断なく続行します。

長時間実行されるタスクをクラウドで実行する

大規模なリファクタリング、テストスイート、マイグレーション、またはその他の長時間実行されるタスクの場合、セッションを開始するときに環境セレクターの Cloud の下にある環境を選択します。クラウドセッションはデフォルトで Anthropic が管理するインフラストラクチャで実行され、アプリを閉じたりコンピュータをシャットダウンしたりしても続行します。いつでも戻ってきて進捗を確認するか、Claude を別の方向に導くことができます。claude.ai/codeまたはClaude モバイルアプリからクラウドセッションを監視することもできます。

クラウドセッションは複数のリポジトリもサポートしています。リポジトリは次の場所で選択します:

  • 現在のレイアウト:クラウド環境を選択した後、プロンプトボックスの下の行で選択します。
  • 以前のレイアウト:プロンプトボックスの上で選択します。別のリポジトリを追加するには、選択されたリポジトリの横の + をクリックします。

クラウドセッションがどのように機能するかについての詳細については、クラウドで Claude Code を使用するを参照してください。1 つの作業本体が多くのクラウドセッションを必要とする場合、サイドバーでProjectsを選択してプロジェクトを作成します。Claude はそこから 1 つの会話でセッションを開始して追跡します。

[!NOTE]

SSH セッションのタスクも Desktop が切断されている間も実行を続けることができますが、Claude アカウントを使用している場合は、サインインの有効期限が切れると停止することがあります。

別のサーフェスで続行する

セッションを別の場所で続行するには、セッションタイトルの横のキャレット、またはサイドバーのセッションの行からセッションメニューを開き、Open inを選択します:

  • Cloudを選択すると、会話を要約として引き継いだうえで、セッションをクラウドセッションとして続行します。確定する前に、ファイルも移動するかどうか、およびクラウドセッションの準備ができた時点でこのセッションがアーカイブされるかどうかがダイアログに表示されます。SSH 経由または WSL で実行されるセッションは、この方法で移動できません。
  • インストール済みのエディタまたはファイルマネージャーを選択すると、セッションのディスク上のフォルダをそこで開きます。

他のデバイスに表示するセッションを制御する

ローカルセッションは、Remote Control によって接続されると、他のデバイスに表示されます。接続されたセッションは、claude.ai/code のセッションリストと、claude.ai アカウントにサインインしているデバイス上の Claude アプリに表示されます。

ローカルセッションは、そのセッションで Remote Control をオンにしたとき、または開始時に自動的に接続されるときに接続されます:

  • そのセッションでオンにする:セッションの Remote Control スイッチを使用するか、プロンプトボックスに /remote-control と入力します。
  • 開始時に接続される:Settings > Claude Code で Connect new sessions to Remote Control がオンの間、新しいセッションは自動的に接続されます。この設定を一度も変更していない場合、Desktop はユーザー設定または管理設定の remoteControlAtStartup に従い、次に組織のデフォルトに従います。

セッションが接続されているかどうかを確認するには、セッション詳細パネルの Environment カードにある Remote Control スイッチを確認します。

セッションを他のデバイスに表示しないようにするには、必要なレベルで Remote Control をオフにします:

  • 1 つのセッション:そのセッションの Remote Control スイッチをオフにします。開始時に接続されたセッションで /remote-control と入力すると、Remote Control はオンのままとなり、Remote Control is already on. This session connected automatically when it started. と表示されます。切断するには、その行の Turn off をクリックします。
  • このコンピュータ上の新しい Desktop セッション:Settings > Claude Code で Connect new sessions to Remote Control をオフにします。すでにオフと表示されている場合は、一度オンにしてからオフにすると、Desktop が選択を保存します。保存されると、remoteControlAtStartup およびデフォルトよりも優先されます。
  • CLI を含む、このコンピュータ上のすべてのセッション:~/.claude/settings.json で disableRemoteControl を true に設定すると、セッションが接続されなくなります。ファイルを保存した時点ですでに接続されていたセッションは、そのセッションで Remote Control をオフにするまで接続されたままです。

他のデバイスにすでに表示されているセッションを非表示にするには、Desktop でそのセッションをアーカイブします。Desktop はセッションの Remote Control 側のコピーもアーカイブするため、それらのデバイスのデフォルトのセッションリストから消えます。そこで表示または削除するには、セッションをアーカイブするを参照してください。

Dispatch からのセッション

Dispatchは、Cowork 内に存在する Claude との永続的な会話です。Dispatch にタスクをメッセージで送信すると、それをどのように処理するかを決定します。

タスクは 2 つの方法で Code セッションになります:「Claude Code セッションを開いてログインバグを修正する」など直接要求するか、Dispatch がタスクが開発作業であると判断して自動的に生成するかです。通常 Code にルーティングされるタスクには、バグの修正、依存関係の更新、テストの実行、またはプルリクエストの作成が含まれます。リサーチ、ドキュメント編集、スプレッドシート作業は Cowork に留まります。

どちらの方法でも、Code セッションは Code タブのサイドバーにDispatchバッジ付きで表示されます。完了したときまたは承認が必要なときに、電話でプッシュ通知を受け取ります。

コンピュータ使用が有効な場合、Dispatch が生成した Code セッションもそれを使用できます。これらのセッションのアプリ承認は 30 分後に期限切れになり、通常の Code セッションのようにセッション全体を続けるのではなく、再度プロンプトが表示されます。

セットアップ、ペアリング、Dispatch 設定については、Dispatch ヘルプ記事を参照してください。Dispatch には Pro または Max プランが必要であり、Team または Enterprise プランでは利用できません。

Dispatch は、ターミナルから離れているときに Claude で作業する複数の方法の 1 つです。他のオプションとの比較については、プラットフォームと統合を参照してください。

Claude Code を拡張する

外部サービスを接続し、再利用可能なワークフローを追加し、Claude の動作をカスタマイズし、プレビューサーバーを設定します。コネクタ、スキル、プラグインを 1 か所で管理するには、サイドバーのCustomizeをクリックします。Desktop アプリの Cowork は、CLI の ~/.claude ディレクトリではなく、claude.ai アカウント経由で同期されるこの Customize 設定から、スキル、プラグイン、コネクタを取得します。

Claude Code はまた、同じアカウントでサインインしたターミナルセッションで、claude.ai アカウント用に有効化されたスキルとプラグインもロードします。claude.ai から同期されたスキルおよび claude.ai から同期されたプラグインを参照してください。

外部ツールを接続する

コネクタは、グラフィカルなセットアップフローを備えた MCP サーバーです。

Claude アカウントを使用したローカルまたは SSH セッションでコネクタを追加するには、セッションの開始前または開始中に、プロンプトボックスの横にある + をクリックします。Add connectors を選択すると、コネクタディレクトリが開きます。メニューに代わりに Connectors が表示される場合は、それを選択してから Browse connectors を選択します。

[!NOTE]

以下のケースについては、他のページで説明しています:

接続すると、Claude はカレンダーを読み取り、メッセージを送信し、問題を作成し、ツールと直接対話できます。セッションで設定されているコネクタについて Claude に尋ねることができます。コネクタを管理または切断するには、デスクトップアプリの Settings > Connectors に移動します。

Connectors にリストされていない統合の場合、設定ファイルを介して MCP サーバーを手動で追加します。また、カスタムコネクタを作成することもできます。

スキルを使用する

スキルは Claude ができることを拡張します。Claude は関連する場合に自動的にロードするか、直接呼び出すことができます:プロンプトボックスで / を入力するか、+ボタンをクリックしてSlash commandsを選択して、利用可能なものを参照します。これには 組み込みコマンド、カスタムスキル、コードベースからのプロジェクトスキル、および インストール済みプラグインからのスキルが含まれます。1 つを選択すると、入力フィールドで強調表示されます。その後にタスクを入力して、通常どおり送信します。

Claude が作業中でも、他のメッセージと同じようにコマンドを送信でき、ターンが終了するとセッションはアイドル状態に戻ります。

ローカルセッションは ~/.claude/skills/ からパーソナルスキルをロードします。SSH セッションは、マシンからではなく、リモートホストのホームディレクトリから ~/.claude/skills/ を読み取ります。

ローカルおよびクラウドセッションは、claude.ai アカウント用に有効化されたスキルもロードします。ただし、組織が disableSideloadFlags を設定している場合、ローカルセッションはそれらをロードしません。クラウドセッションは、Cowork およびクラウドセッションのスキルで説明されているように、~/.claude/skills/ の代わりにそれらをロードします。

プラグインをインストールする

プラグインは、スキル、エージェント、hooks、MCP サーバー、および LSP 設定を Claude Code に追加する再利用可能なパッケージです。ターミナルを使用せずにデスクトップアプリからプラグインをインストールできます。

ローカルセッションまたは SSH セッションでは、プロンプトボックスの横にある + をクリックし、Add plugins を選択してプラグインブラウザを開きます。メニューに代わりに Plugins が表示される場合は、それを選択してから Browse plugins を選択するか、Manage plugins を選択してプラグインを有効化、無効化、またはアンインストールします。

プラグインはユーザーアカウント、特定のプロジェクト、またはローカルのみにスコープできます。組織がプラグインを一元管理する場合、それらのプラグインは CLI と同じ方法で Desktop セッションで利用可能です。ただし、デスクトップアプリが disableSideloadFlags の下で保留しているものは除きます。

プラグインブラウザはクラウドセッションでは利用できず、デスクトップアプリからインストールしたプラグインはクラウドセッションでは利用できません。クラウドセッションでもプラグインをインストールしません。リポジトリの .claude/settings.json で宣言されているプラグインは、セットアップから引き継がれるもので説明されているとおりです。プラグインは WSL セッションでは利用できません。プラグインの作成を含む完全なプラグインリファレンスについては、プラグインを参照してください。

プレビューサーバーを設定する

Claude は dev サーバーセットアップを自動的に検出し、セッションを開始するときに選択したフォルダのルートの .claude/launch.json に設定を保存します。Preview はこのフォルダを作業ディレクトリとして使用するため、親フォルダを選択した場合、独自の dev サーバーを持つサブフォルダは自動的に検出されません。サブフォルダのサーバーで作業するには、そのフォルダで直接セッションを開始するか、設定を手動で追加します。

サーバーの起動方法をカスタマイズするには(たとえば npm run dev の代わりに yarn dev を使用する、ポートを変更するなど)、.claude/launch.json を編集します。ファイルはコメント付き JSON をサポートしています。

{
  "version": "0.0.1",
  "configurations": [
    {
      "name": "my-app",
      "runtimeExecutable": "npm",
      "runtimeArgs": ["run", "dev"],
      "port": 3000
    }
  ]
}

同じプロジェクトから異なるサーバーを実行するために複数の設定を定義できます。たとえば、フロントエンドと API です。以下の 例を参照してください。

変更を自動検証する

autoVerify が有効な場合、Claude はファイルを編集した後、コード変更を自動的に検証します。スクリーンショットを撮影し、エラーをチェックし、応答を完了する前に変更が機能することを確認します。

Auto-verify はデフォルトで有効です。.claude/launch.json に "autoVerify": false を追加してプロジェクトごとに無効にするか、Browser ペインの**⋮メニューでAuto-verify changes**をオフにします。

{
  "version": "0.0.1",
  "autoVerify": false,
  "configurations": [
    {
      "name": "my-app",
      "runtimeExecutable": "npm",
      "runtimeArgs": ["run", "dev"],
      "port": 3000
    }
  ]
}

無効にすると、プレビューツールは引き続き利用可能であり、いつでも Claude に検証を依頼できます。Auto-verify は編集後に自動的に実行します。

設定フィールド

configurations 配列の各エントリは、以下のフィールドを受け入れます:

フィールド 型 説明
name string このサーバーの一意の識別子
runtimeExecutable string 実行するコマンド(npm、yarn、node など)
runtimeArgs string[] runtimeExecutable に渡される引数(["run", "dev"] など)
port number サーバーがリッスンするポート。デフォルトは 3000
cwd string プロジェクトルートに相対的な作業ディレクトリ。デフォルトはプロジェクトルート。プロジェクトルートを明示的に参照するには ${workspaceFolder} を使用します
env object { "NODE_ENV": "development" } などのキーと値のペアとしての追加環境変数。このファイルはリポジトリにコミットされるため、ここにシークレットを入れないでください。シークレットについては、dev サーバーの環境変数を設定するを参照してください。
autoPort boolean ポート競合の処理方法。ポート競合を参照してください
program string node で実行するスクリプト。program と runtimeExecutable を使用する場合を参照してください
args string[] program に渡される引数。program が設定されている場合のみ使用されます
url string http://localhost:<port> の代わりにプレビューが開くアドレス。特定の URL でプレビューを開くを参照してください
program と runtimeExecutable を使用する場合

runtimeExecutable を runtimeArgs と共に使用して、パッケージマネージャーを通じて dev サーバーを起動します。たとえば、"runtimeExecutable": "npm" と "runtimeArgs": ["run", "dev"] は npm run dev を実行します。

node で直接実行したいスタンドアロンスクリプトがある場合は program を使用します。たとえば、"program": "server.js" は node server.js を実行します。args で追加フラグを渡します。

特定の URL でプレビューを開く

デフォルトでは、プレビューは http://localhost:<port> を開きます。サーバーが別のアドレスを必要とする場合は url を設定します。一般的なケースは、ローカル HTTPS が必要なサーバー、*.localhost サブドメインを使用するアプリ、およびリダイレクトを通じてサインインするアプリです。

{
  "version": "0.0.1",
  "configurations": [
    {
      "name": "my-app",
      "runtimeExecutable": "npm",
      "runtimeArgs": ["run", "dev"],
      "port": 8443,
      "url": "https://localhost:8443"
    }
  ]
}

Localhost アドレスは直接開き、デフォルトのポートアドレスとまったく同じです。これには localhost、任意の *.localhost サブドメイン、127.0.0.1、および ::1 が含まれます。セキュリティのため、localhost url はサーバーのオリジンのみである必要があります。パスやクエリはなく、ポートはエントリのポートと一致する必要があります。特定のページを表示するには、プレビューが開いた後、Claude にそこに移動するよう依頼します。パス、クエリ、または一致しないポートを持つ localhost url は、url を名前付けして修正を表示する設定エラーとして報告されます。

他のアドレスの場合、Desktop はプレビューが初めてそれを開くときに許可を求めます。これは、プレビューで新しいサイトを閲覧するときと同じです。外部アドレスはパスを含む場合があります。Always allowを選択して、将来そのサイトのプロンプトをスキップします。プレビューで外部サイトを制限する組織ポリシーは引き続き適用されます。

既に自分で実行しているサーバーをプレビューするには、コマンドなしで url を設定します。Claude はサーバーを起動する代わりに、実行中のサーバーにプレビューを接続します:

{
  "version": "0.0.1",
  "configurations": [
    {
      "name": "my-app",
      "url": "https://app.localhost:3000"
    }
  ]
}

url は http または https である必要があり、ユーザー名またはパスワードを含まない必要があります。

ポート競合

autoPort フィールドは、優先ポートが既に使用されている場合の処理を制御します:

  • true:Claude は自動的に空きポートを見つけて使用します。ほとんどの dev サーバーに適しています。
  • false:Claude はエラーで失敗します。OAuth コールバックまたは CORS 許可リストなど、サーバーが特定のポートを使用する必要がある場合に使用します。
  • 設定されていない(デフォルト):true の場合と同様に、サーバーには次の空きポートが割り当てられます。ただし、以下の 1 つのケースは例外です。Claude Desktop v2.37337.0 より前では、代わりに Claude がサーバーにそのポートが必要かどうかを尋ね、回答を launch.json に保存します。

優先ポートが使用中で autoPort が設定されていない場合、以下の条件がすべて当てはまると、サーバーは停止したままになります:

  • npm、yarn、pnpm、または bun のスクリプトを通じてサーバーを起動している。
  • 優先ポートがそのスクリプトにハードコードされている、または Claude がスクリプトを検査できない。
  • runtimeArgs でポートを渡していない。

その場合は、ポートを解放するか、ハードコードされた値を削除するか、スクリプトに合わせて port を変更します。代わりに "autoPort": true を設定する方法は、PORT を読み取るスクリプトでのみ機能します。

サーバーが PORT 環境変数からポートを読み取るようにしてください。この環境変数には割り当てられたポートが格納されます。Claude がサーバーを別のポートに移動する場合、runtimeArgs 内の --port または -p の値もそれに合わせて書き換えます。

例

これらの設定は、異なるプロジェクトタイプの一般的なセットアップを示しています:

Next.js

この設定は、Yarn を使用してポート 3000 で Next.js アプリを実行します:

{
  "version": "0.0.1",
  "configurations": [
    {
      "name": "web",
      "runtimeExecutable": "yarn",
      "runtimeArgs": ["dev"],
      "port": 3000
    }
  ]
}

複数のサーバー

フロントエンドと API サーバーを持つモノレポの場合、複数の設定を定義します。フロントエンドは autoPort: true を使用して、3000 が使用されている場合は空きポートを選択し、API サーバーはポート 8080 を正確に必要とします:

{
  "version": "0.0.1",
  "configurations": [
    {
      "name": "frontend",
      "runtimeExecutable": "npm",
      "runtimeArgs": ["run", "dev"],
      "cwd": "apps/web",
      "port": 3000,
      "autoPort": true
    },
    {
      "name": "api",
      "runtimeExecutable": "npm",
      "runtimeArgs": ["run", "start"],
      "cwd": "server",
      "port": 8080,
      "env": { "NODE_ENV": "development" },
      "autoPort": false
    }
  ]
}

Node.js スクリプト

パッケージマネージャーコマンドを使用する代わりに Node.js スクリプトを直接実行するには、program フィールドを使用します:

{
  "version": "0.0.1",
  "configurations": [
    {
      "name": "server",
      "program": "server.js",
      "args": ["--verbose"],
      "port": 4000
    }
  ]
}

環境設定

セッションを開始するときに選択する環境は、Claude が実行される場所と接続方法を決定します:

  • Local:マシンで実行され、ファイルに直接アクセスできます
  • Cloud:デフォルトで Anthropic が管理するインフラストラクチャで実行されます。アプリを閉じても、セッションは続行されます。
  • SSH:SSH 経由で接続するリモートマシンで実行されます。たとえば、独自のサーバー、クラウド VM、または dev コンテナなどです。実行中のタスクは Desktop が切断されている間も続行できますが、Claude アカウントの場合はサインインの期限が切れると停止することがあります。
  • WSL(Windows):マシン上の WSL 2 ディストリビューション内で実行され、その Linux ツールチェーンとネイティブパスを使用します

保存済み環境を作成する

保存済み環境は、Claude が実行される場所を記録する環境セレクターのエントリで、以降のセッションをそこで開始できます。ローカル環境または SSH 環境には、Claude が作業するフォルダーも保持されます。保存済みのローカル環境と SSH 環境には Claude Desktop v2.37337.0 以降が必要です。

1. New environment ダイアログを開く

プロンプトボックスの下にある環境セレクターを開き、メニューの一番下にある New environment を選択します。

2. Claude の実行場所を選択する

Local、SSH、または Cloud タブを選択し、そのタブのフォームに入力します。SSH タブでは、接続とリモートマシン上のフォルダーを選択します。

3. 環境を保存する

Create environment を選択します。Cloud タブでは Add environment を選択します。

Desktop が自動作成する環境

環境セレクターに自分で作成していないローカル環境や SSH 環境が表示されている場合、それらは Desktop が作成したものです。現在のレイアウトで初めて Code タブを開くと、Desktop は最大 8 つの環境を作成します。これらの環境は、過去 1 か月間に最も多く使用したローカルフォルダーと SSH フォルダーから作成されます。これらは編集または削除できます。

保存済み環境を使用、編集、または削除する

環境セレクターで環境のエントリを探します。

  • セッションを開始する: エントリを選択します。
  • 編集または削除する: エントリにカーソルを合わせ、歯車アイコンをクリックします。ローカル環境または SSH 環境を削除するには、Edit environment で Delete environment をクリックします。
  • クラウド環境をアーカイブする: 環境をアーカイブするを参照してください。

ローカルセッション

デスクトップアプリは常にシェル環境全体を継承するわけではありません。macOS では、Dock または Finder からアプリを起動すると、~/.zshrc または ~/.bashrc などのシェルプロファイルを読み取り、Claude Code に PATH と固定された Claude Code 変数セットを渡しますが、そこでエクスポートする他の変数は渡しません。Windows では、アプリはユーザーおよびシステム環境変数を継承しますが、PowerShell プロファイルは読み取りません。

ローカルセッションの環境変数を設定する

保存済みのローカル環境に変数を追加し、その環境からセッションを開始します。Desktop は API_TIMEOUT_MS などの一部の変数を自身で設定するため、それらの変数についてはユーザーの値ではなく Desktop の値がセッションに渡されます。

[!NOTE]

環境セレクターがプロンプトボックスの上にある場合は、保存済みローカル環境のない以前のレイアウトを使用しています。代わりにローカル環境エディターを使用してください。

1. 環境のフォームを開く

New environment または Edit environment を開きます。

2. 変数を入力する

Environment variables を選択し、1 行に 1 つずつ KEY=value を入力して、Done を選択します。

3. 環境を保存する

Create environment または Save を選択します。

その環境から開始したセッションにのみ変数が渡されます。

すべてのローカルセッションに変数を設定するには、~/.claude/settings.json ファイルの env キーに追加します。Desktop がセッションを開始する環境にその変数がすでに存在する場合、Claude Code はその値を無視します。サポートされている変数の一覧については、環境変数を参照してください。

開発サーバーの環境変数を設定する

シークレットを launch.json にコミットせずに開発サーバーに渡すには、次のいずれかの場所で設定してから Desktop を再起動します。

  • macOS と Linux: シェルプロファイルでエクスポートします
  • Windows: ユーザー環境変数またはシステム環境変数に追加します
  • 任意のプラットフォーム: ローカル環境エディターを開ける場合は、そこに保存します

保存済み環境や ~/.claude/settings.json に追加した変数は、開発サーバーには渡されません。

ローカル環境エディターを使用する

ローカル環境エディターを開くには、保存済み環境のエントリではなく、自分のコンピューターのエントリにある歯車アイコンをクリックします。

  • プロンプトボックスの下にあるセレクター: Local の下の最初にある、自分のコンピューターのエントリにカーソルを合わせます。歯車アイコンが表示されたらクリックします。表示されない場合、エディターは利用できないため、ローカルセッションまたは開発サーバーの変数を別の方法で設定してください。
  • プロンプトボックスの上にあるセレクター: Local にカーソルを合わせ、歯車アイコンをクリックします

1 行に 1 つずつ KEY=value を入力し、Save changes を選択します。ここで保存した変数は、マシン上に暗号化されて保存されます。ローカルセッションにはこれらの変数が渡されますが、API_TIMEOUT_MS など Desktop が自身で設定する変数は除きます。開発サーバーに変数を渡すには、Desktop を再起動します。

Desktop が自身で設定する環境変数

API_TIMEOUT_MS や ANTHROPIC_BASE_URL を設定してもローカルセッションで何も変わらなかった場合、それは Desktop がこれらの変数などを自身で設定しているためです。シェルプロファイル、Windows のユーザー変数またはシステム変数、ローカル環境エディター、保存済み環境のいずれで値を設定しても、ローカルセッションには Desktop の値が渡されます。値を設定ファイルに移しても効果はありません。ローカルセッションでは Claude Code がその値を無視するためです。

  • API_TIMEOUT_MS: ローカルセッションには 900000(15 分)が渡されます。より長いタイムアウトが必要な場合は、Claude Code CLI をインストールし、Desktop の代わりに使用してください。シェルで変数を設定し、ターミナルで claude を実行します。
  • ANTHROPIC_BASE_URL: Claude アカウントでサインインしている場合、ローカルセッションには Anthropic の API ホストが渡されます。ゲートウェイを使用するには、代わりに Desktop のサードパーティ推論設定をセットアップしてください。

拡張思考をオフにする

拡張思考はデフォルトで有効になっており、複雑な推論タスクのパフォーマンスが向上しますが、追加のトークンを消費します。オフにするには、保存済みのローカル環境またはローカル環境エディターで MAX_THINKING_TOKENS を 0 に設定します。これにより Anthropic API で思考がオフになります。ただし、Opus 5.5、Sonnet 5.5、Haiku 5.5、および Fable モデルは常に拡張思考を使用します。

Opus 5 では、セッションを開始する前に effort を high 以下に選択してください。現在のレイアウトでは、モデルピッカーを開き、Effort の下でレベルを選択します。より高いレベルでセッションを開始した場合は、high 以下で新しいセッションを開始してください。

固定の思考予算

適応的推論を持つモデルでは、適応的推論が代わりに思考の深さを制御するため、MAX_THINKING_TOKENS に正の値を設定しても、Claude Code はその数値自体を無視します。Opus 4.6 と Sonnet 4.6 では、固定思考予算を使用するために CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING を 1 に設定します。Fable モデル、Sonnet 5 以降、Haiku 5.5、および Opus 4.7 以降は常に適応的推論を使用し、固定予算モードはありません。

管理デバイス上のローカルセッション

環境セレクターで自分のコンピューターのエントリがグレー表示され、Disabled by your organization というツールチップが表示されている場合、管理者がローカルセッションをオフにしています。Windows では、WSL のエントリも同じようにグレー表示されます。管理対象デバイスでの WSL の利用可否は別途管理されます。

SSH 接続が構成されている場合、新しいセッションはデフォルトで最初の SSH 接続を使用します。既存のローカルセッションを続行しようとすると、Desktop はこのデバイスではローカルセッションを利用できないというメッセージを表示します。保存済みのローカル環境を選択すると、Couldn’t switch environments: the Local environment isn’t available anymore. というエラーが表示されます。代わりに SSH 環境またはクラウド環境を選択するか、IT チームに問い合わせてください。

クラウドセッション

クラウドセッションはアプリを閉じても、バックグラウンドで続行されます。使用状況はサブスクリプションプランの制限にカウントされ、別の計算料金はありません。

クラウド環境を追加、編集、またはアーカイブするには、環境セレクターを開きます。

  • 環境を追加する: セレクターのメニューの一番下にある New environment を選択し、New environment ダイアログの Cloud タブを選択します
  • 自分の環境の 1 つを編集またはアーカイブする:それにマウスを合わせて、ギアアイコンをクリックします

ネットワークアクセスと環境変数の設定の詳細については、クラウド環境を設定するを参照してください。

SSH セッション

SSH セッションを使用すると、デスクトップアプリをインターフェイスとして使用しながら、リモートマシンで Claude Code を実行できます。これは、クラウド VM、dev コンテナ、または特定のハードウェアまたは依存関係を持つサーバーに存在するコードベースで作業するのに便利です。

[!NOTE]

サードパーティプロバイダーで Desktop を使用する場合、SSH セッションには個別のセットアップが必要です。SSH remote sessions in Claude Desktop on 3P を参照してください。

New environment ダイアログで SSH 接続を追加し、その接続でセッションを開始します。新しいセッションでプロンプトボックスの下に環境セレクターがない場合は、以前のレイアウトを使用しています。使用しているレイアウトを確認するを参照してください。

1. New environment ダイアログを開く

セッションを開始する前に、プロンプトボックスの下にある環境セレクターを開き、メニューの一番下にある New environment を選択します。

2. 接続を追加する

New environment ダイアログの SSH タブで Host リストを開き、Add SSH connection… を選択して、接続の詳細を入力します。

  • Name: この接続のわかりやすいラベル。
  • SSH host: user@hostname、または ~/.ssh/config で定義されたホスト。
  • SSH port: 空欄の場合はデフォルトで 22 になるか、SSH 設定のポートが使用されます。
  • SSH key (optional): ~/.ssh/id_ed25519 などの秘密鍵へのパス。SSH 設定または SSH エージェントを使用する場合は空欄のままにします。
  • Worktree folder: 新しいセッションが worktree を作成する、~/worktrees などのリモートマシン上のフォルダー。リモートマシンのデフォルトを使用する場合は空欄のままにします。

その後、Add SSH connection を選択します。

3. 接続でセッションを開始する

リモートマシン上のフォルダーを選択し、Create environment をクリックします。マシンとフォルダーは、以降のセッション用の保存済み環境としてまとめて保持されます。Desktop は新しいセッションにその環境を選択するので、タスクを入力して Enter を押します。

リモートマシンでは Linux、macOS、または Windows を実行できます。Desktop は初回接続時にリモートマシンに Claude Code を自動的にインストールします。接続されると、SSH セッションは権限モード、コネクタ、プラグイン、および MCP サーバーをサポートします。

SSH セッションのリモートマシン要件

Linux または macOS のリモートマシンには、サポートされているプロセッサ、SFTP を備えた SSH サーバー、noexec でマウントされていないインストールフォルダ、動作するシェル、およびネットワークアクセスが必要です。接続する前に、またはログイン後に接続が失敗した場合に、各要件を確認してください:

  • システム:x86_64 または arm64 プロセッサ。マシンは Claude Code のシステム要件も満たす必要があります。Linux では、Claude Code には glibc 2.17 以降、または musl が必要です。マシンがどちらを使用しているかを確認するには、そのマシンで ldd --version を実行します。Alpine Linux などの musl ベースのディストリビューションでは、Claude Code が必要とするパッケージもインストールしてください。
  • SFTP:SSH サーバーが SFTP サブシステムを提供している必要があります。これは sshd_config の Subsystem sftp 行で有効になります。確認するには、コンピューターのターミナルで sftp を使用して同じホストとポートに接続します。正常に動作しているサーバーでは sftp> プロンプトが表示されます。
  • 接続あたりのセッション数:macOS と Linux の Desktop は、1 つの SSH 接続で複数のセッションを開きます。サーバーの sshd_config で MaxSessions 1 が設定されている場合は、OpenSSH のデフォルトである 10 などに引き上げてください。
  • インストールフォルダ:Desktop は、ホームディレクトリの ~/.claude/remote/ の下にヘルパープログラムと Claude Code をインストールします。そこからそれらを実行するため、そのフォルダを noexec でマウントされたファイルシステム上に置くことはできません。接続する各ユーザーのホームディレクトリに約 1 GB のディスク容量を確保してください。そのフォルダに含まれる内容については、リモートマシン上のファイルとプロセスを参照してください。
  • シェル:リモートマシン上のアカウントに設定されているシェルは、Bash、Zsh、sh と同様に、SSH 経由で送信されたコマンドを実行できる必要があります
  • ネットワーク:Claude Code はリモートマシンで実行され、そこからネットワークリクエストを行うため、マシンには Claude Code が必要とするネットワークアクセスが必要です。マシンが Claude Code をダウンロードできない場合、Desktop はコンピューター上でダウンロードしてアップロードします。Claude Code のその他のリクエストは引き続きリモートマシンから送信されます。Linux のリモートマシンで、それらのリクエストにプロキシが必要な場合は、SSH セッション用に設定してください。

SSH セッションのプロキシまたは CA 証明書を設定する

Linux のリモートマシンがプロキシ経由でインターネットに接続する場合、または CA 証明書が必要な場合は、そのマシン上の ~/.claude/settings.json の env にプロキシと CA の変数を追加してください。そのマシンの ~/.profile、~/.bash_profile、~/.zprofile、または ~/.zshrc ですでにエクスポートしている場合でも追加してください。

そのマシンのターミナルで実行した claude がそれらのファイルから変数を取得する場合でも、SSH セッションはそれらのファイルから変数を取得しません。その結果、セッションが応答しなくなったり、The connection from … to the API failed や Authentication failed が表示されたりすることがあり、再度サインインしても解決しません。

1. 変数を追加する

CA ファイルには NODE_EXTRA_CA_CERTS を使用してください。Claude Code は ~/.claude/settings.json の SSL_CERT_FILE に指定された CA を信頼しないためです。次の例では、プロキシと CA ファイルを設定します:

{
  "env": {
    "HTTPS_PROXY": "http://proxy.example.com:8080",
    "NODE_EXTRA_CA_CERTS": "/etc/ssl/certs/example-ca.pem"
  }
}

2. メッセージを再送信する

そのファイルで追加または変更した変数は数秒以内に有効になるため、メッセージを再送信してください。それでも失敗する場合は、新しいセッションを開始してください。

リモートマシンの別の場所で設定されたプロキシまたは CA の変数を見つける

Linux のリモートマシンがプロキシまたは CA の変数を別の場所で設定していないか確認してください。セッションはその値を使用し、どの設定ファイルの値も無視するためです:

1. リモートマシンが設定する変数を一覧表示する

コンピューターのターミナルで、自分のホストを指定して ssh devbox env を実行します。

2. 変数が設定されている場所で変更する

一覧にその変数がある場合は、リモートマシン上の ~/.zshenv、/etc/environment、~/.bashrc など、その変数を設定しているファイルで変更します。

3. セッションに新しい値を渡す

リモートマシンを再起動するか、ヘルパーを削除する手順の最初の 2 つのステップと同様に、Desktop を終了してヘルパーのプロセスを終了します。どちらの方法でも Claude の作業が中断されるため、タスクが実行されていないときに行ってください。

macOS と Linux で SSH 設定を使用する

macOS と Linux では、Desktop はコンピューター上の OpenSSH クライアントを実行して接続するため、~/.ssh/config が使用されます。OpenSSH クライアントを介した接続には Claude Desktop v1.37937.0 以降が必要です。そのファイルの Host 名を SSH host フィールドに入力すると、HostName、User、IdentityFile、CertificateFile、ProxyJump、ProxyCommand など、そのエントリの設定が使用されます。

接続を追加する前に、コンピューターのターミナルでクライアントとエントリを確認してください:

  • クライアントのバージョン:ssh -V を実行します。クライアントは OpenSSH 7.6 以降である必要があります。
  • エントリ:ssh devbox のように、Host 名を指定して ssh を実行します。失敗する場合は、先にエントリを修正してください。

SSH port と SSH key (optional) フィールドは空のままにできます。いずれかを入力した場合、Desktop はそれをエントリと組み合わせて使用します:

  • SSH port:ここに入力した値は、エントリの Port を上書きします
  • SSH key (optional):Desktop は、エントリの IdentityFile と SSH エージェント内の鍵に加えて、選択した鍵ファイルを提示します
ジャンプホストの背後にあるマシンに接続する

ジャンプホスト(踏み台、バスティオンとも呼ばれます)の背後にあるマシンに接続するには、エントリで ProxyJump または ProxyCommand を設定します。次のエントリは、bastion.example.com を経由して devbox.internal.example.com に接続します:

Host devbox
  HostName devbox.internal.example.com
  User alice
  ProxyJump bastion.example.com

SSH host フィールドに devbox と入力します。

リモートマシン上のコンテナに接続する

SSH ポートを公開していないコンテナ内でセッションを実行するには、ProxyCommand を使用してコンテナに接続してください。Desktop は接続先エントリの RemoteCommand を実行しないためです。エントリで RemoteCommand を使用してコンテナに入っている場合、セッションはコンテナ内ではなく、エントリがログインするマシン上で実行されます。

1. エントリを追加する

~/.ssh/config の末尾、または最初の Host * エントリがある場合はその直前に、次のエントリを追加します。Docker コンテナ devbox、そのユーザー dev、マシン build.example.com を自分のものに置き換えてください。エントリのコマンドは、接続ごとにコンテナ内で SSH サーバーを起動します。

Host devbox-container
  User dev
  ProxyCommand ssh build.example.com docker exec -i devbox /usr/sbin/sshd -i

2. コンテナを準備する

  • OpenSSH サーバーをインストールし、イメージを再ビルドしたりコンテナを再作成したりしても変わらないホスト鍵を用意します
  • User で指定したアカウントに、authorized_keys ファイルなどのログイン手段を用意します
  • コンテナがリモートマシンの要件を満たしていることを確認します

3. 許可リストを確認する

管理者が SSH ホストを制限している場合は、コンピューターのターミナルで ssh -G devbox-container を実行します。出力される hostname(ここでは devbox-container)を sshHostAllowlist で許可するよう管理者に依頼してください。管理者がその名前を許可すると、エントリの ProxyCommand が接続する先はどこであっても許可されることになります。

4. エントリをテストしてから接続する

コンピューターのターミナルで ssh devbox-container を実行します。報告された問題を修正し、何も尋ねられずにコンテナ内でシェルが開くまで繰り返し実行します:

  • ssh がパスワード、パスフレーズ、またはコードを求める場合:SSH エージェントが保持する鍵など、プロンプトなしで機能するログインに切り替えます
  • ssh が Cannot execute command-line and remote command. または Bad packet length を報告する場合:build.example.com のエントリから RemoteCommand と RequestTTY を削除します。その後は、コンピューターのターミナルで ssh build.example.com を実行すると、コンテナ内ではなくそのマシン上でシェルが開きます。
  • ssh が Connection closed by UNKNOWN port 65535 を報告する場合:同じターミナルで ssh build.example.com docker exec devbox /usr/sbin/sshd -t を実行します。
    • Missing privilege separation directory: /run/sshd と出力された場合は、コンテナ内にそのフォルダを作成します。
    • no hostkeys available と出力され、コンテナにホスト鍵がある場合は、このコマンドとエントリの両方で exec の後に -u root を追加します。

その後、SSH host フィールドに devbox-container と入力します。

ProxyCommand でシェルの変数を使用する

ProxyCommand または Match exec コマンドで独自の環境変数を使用するには、~/.zshrc などのシェル起動ファイルでその変数をエクスポートしてから、Desktop を終了して再度開きます。Desktop は起動時にログインシェルがエクスポートする内容を読み取り、終了するまでその値を保持します。

これには Claude Desktop v2.37337.0 以降と、-0 を受け付ける env コマンドが必要です。これはコンピューターのターミナルで env -0 を実行して確認できます。

[!NOTE]

シェルが一時的な AWS 認証情報を設定する場合は、AWS_* 変数をエクスポートする代わりに、AWS CLI にプロファイルを指定してください。

ProxyCommand で AWS 認証情報を使用する

シェル起動ファイルで一時的な AWS 認証情報を設定している場合、AWS CLI を実行する ProxyCommand は、ターミナルでは接続できても Desktop では失敗することがあります。シェルが AWS_SESSION_TOKEN、AWS_SECURITY_TOKEN、または AWS_CREDENTIAL_EXPIRATION をエクスポートしていると、Desktop の ssh と ProxyCommand は、シェルの AWS 認証情報、AWS_REGION、AWS_PROFILE を取得しません。

AWS CLI にリージョンや認証情報の他の取得元がない場合、You must specify a region または Unable to locate credentials で失敗します。Desktop から接続するには、AWS CLI が ~/.aws/config から読み取るプロファイルを指定します:

1. リージョンと認証情報の取得元を持つプロファイルを追加する

次の例では、ヘルパープログラムから認証情報を取得する corp という名前のプロファイルを追加します:

[profile corp]
region = us-east-1
credential_process = /full/path/to/your-credential-helper
  • region:接続先マシンの AWS リージョンを指定します
  • credential_process:AWS がドキュメントで定めている JSON 形式で認証情報を出力するプログラムのフルパスを指定します。AWS CLI は、不在中の再接続を含め、接続のたびにこのプログラムを実行するため、ユーザーの入力を必要としないプログラムを選んでください。
  • IAM Identity Center:credential_process の代わりに、プロファイルの IAM Identity Center 設定を追加します。接続する前と、そのサインインの期限が切れたときに、ターミナルで aws sso login --profile corp を実行します。

2. ProxyCommand でプロファイルを指定する

次の例では、AWS が Session Manager 用にドキュメントで示しているコマンドに --profile を追加します:

Host i-*
  ProxyCommand sh -c "aws ssm start-session --profile corp --target %h --document-name AWS-StartSSHSession --parameters 'portNumber=%p'"

3. 再度接続する

ターミナルでホストを指定して ssh を実行し、エントリがそこで引き続き接続できることを確認してから、Desktop から接続します。

SSH 接続のタイムアウトを延長する

SSH 設定でホストに ConnectTimeout が設定されていない場合、Desktop は ssh に接続のための 30 秒を与えます。ジャンプホストまたは ProxyCommand を経由する場合、この時間にはルートの接続にかかる時間が含まれます。ルートにそれ以上の時間が必要な場合は、エントリにより大きな値を追加します:

Host devbox
  HostName devbox.internal.example.com
  User alice
  ProxyJump bastion.example.com
  ConnectTimeout 120

ssh はホストに対して最初に見つかった値を使用するため、このエントリは ConnectTimeout を設定する Host * エントリよりも上に配置してください。確認するには、コンピューターのターミナルで ssh -G devbox を実行します。その出力には connecttimeout 120 が含まれます。値を変更した後は、Desktop を終了して再度開いてください。

リモートマシン自体がスマートフォンでの承認を待つ場合は、ConnectTimeout の設定にかかわらず、45 秒以内に承認してください。Desktop が ServerAliveInterval と ServerAliveCountMax を独自に設定し、リモートマシンがその間何も送信しないログインを ssh が閉じるため、この制限は延長できません。代わりにジャンプホストまたは ProxyCommand がユーザーを待つ場合は、リモートマシンのエントリの ConnectTimeout を延長して、その時間をカバーしてください。

Desktop だけが適用する Match host ブロックを修正する

ターミナルの ssh devbox では使用されない設定を Desktop が使用する場合は、エントリの HostName 行より上にある Match host ブロックを探してください。ターミナルでは、ssh はその位置のブロックを HostName 行より前に読み取るため、ブロックを devbox と比較します。Desktop はコマンドラインで ssh に HostName の値を渡すため、ssh はブロックをその値と比較します。

確認するには、Desktop と同様に、エントリの HostName と User の値をコマンドラインで指定して、コンピューターのターミナルで ssh -G を実行します:

ssh -G -o HostName=devbox.internal.example.com -l alice devbox

その出力を ssh -G devbox の出力と比較します。proxycommand などのブロックの設定が最初の出力にのみ表示される場合、そのブロックは Desktop でのみ有効になります。Desktop でもスキップされるようにするには、その Match 行に !originalhost devbox を追加します:

Match host *.internal.example.com !originalhost devbox

確認するには、最初のコマンドを再度実行します。ブロックの設定は出力に表示されなくなります。

Desktop がオフにする転送設定

リモートマシンへの接続では、SSH 設定でオンになっている場合でも、Desktop は ForwardAgent、ForwardX11、LocalForward、RemoteForward、DynamicForward、Tunnel をオフのままにします。ターミナルや ! コマンドでは、Desktop がそれらの設定に従う別の ssh を起動することがあるため、転送設定は一部の場合にのみ適用されると考えてください。

  • リモートマシン上のポートに接続するには:自分で転送します
  • リモートマシンから自分の鍵を使用するには:git push 用など、リモートマシン自体に認証情報を設定します

Desktop が SSH エージェントやポートを転送しないようにするには、コンピューターのターミナルで ssh -G devbox を実行します。次に、出力された hostname と user の値を使用して、ssh -G -o HostName=devbox.internal.example.com -l alice devbox のように、Desktop が実行しうる形でもう一度実行します。2 回目の出力には、1 回目ではスキップされる Match ブロックの設定が表示されることがあります。

両方の出力で、no 以外の値を示す forwardagent 行と、localforward、remoteforward、または dynamicforward で始まる行を探します。見つかった場合は、その設定を SSH 設定から削除してください。ProxyCommand が ssh で接続するホストについても同様に行ってください。

リモートマシン上のポートに接続する

ポート 3000 の dev サーバーなど、リモートマシンで実行されているサーバーを開くには、ポートを自分で転送します。コンピューターのターミナルで、-L と接続先のホスト(devbox など)を指定して ssh を実行します:

ssh -N -L 3000:localhost:3000 devbox

接続で SSH port または SSH key (optional) を入力した場合は、同じ値で -p または -i を追加します。そのコマンドを実行したままにし、コンピューターのブラウザで http://localhost:3000 を開くと、リモートマシンのポート 3000 に接続できます。ssh が open failed: administratively prohibited と出力した場合は、マシンの管理者に TCP 転送を許可するよう依頼してください。TCP 転送は SSH サーバーの sshd_config の AllowTcpForwarding で制御されます。

Windows リモートマシン

Windows リモートマシンには Claude Desktop v2.31226.0 以降が必要です。

Microsoft の OpenSSH Server を使用してください。マシンは x64 と ARM64 のどちらでもかまいません。SSH サーバーが起動するシェルには、cmd.exe、Windows PowerShell 5.1、または Git Bash を使用できます。

Windows リモートマシンは、Linux リモートマシンに比べてテストが少なくなっています。依存する前に、そこで自分の作業を試してください。

Windows リモートマシンでは、特に次のような制限があります:

  • ターミナル:フォルダが C:/projects/app のような Windows パスであるセッションでは、ターミナルは開きません
  • サンドボックス:Claude Code はそこではネイティブ Windows 上で実行され、コマンドはサンドボックス化されずに実行されます。サンドボックスが実行される場所を参照してください。
  • プラグイン:Desktop は、: を含む名前など、Windows で保存できないファイル名またはフォルダ名を含むプラグインをコピーしません。セッションには、Desktop が除外したプラグインが一覧表示されます。
  • MCP サーバー:一部の Windows リモートマシンでは、claude_desktop_config.json の MCP サーバーに対する Claude の呼び出しが Desktop を経由するため、Desktop が切断されている間は Claude がそれらのツールを呼び出せません。Claude Desktop v2.37337.0 より前では、これはすべての Windows リモートマシンに当てはまります。
  • worktree:worktree は <project-root>/.claude/worktrees/ に作成されます。別のフォルダを選択しても、Desktop はそれを無視します。
  • 以前のメッセージ:SSH サーバーのシェルが cmd.exe または Windows PowerShell の場合、セッションの以前のメッセージを表示するには、接続が必要になることがあります
  • フォーク:SSH サーバーのシェルが cmd.exe または Windows PowerShell の場合、セッションをフォークできるのは最初のメッセージの時点のみです
  • 切断中の実行:タスクが Desktop の切断中も実行を続けるのは、プログラムを起動した接続が終了した後もそのプログラムが存続することを SSH サーバーが許可している場合のみです。確認するには、リモートマシンをテストしてください。
  • 残存プロセス:セッションの終了後も、Claude Code が起動したプログラムが実行を続けている可能性があるため、マシンを確認してください。Desktop がインストールするバックグラウンドヘルパーは、そこでは自動的に停止しません。

Desktop の切断中もタスクを実行し続ける

コンピューターがスリープした場合、ネットワークが切断された場合、または Desktop を終了した場合でも、タスクは完了するか、ユーザーの対応が必要になるか、いずれかの制限に達するまで続行されます。蓋を閉じることはスリープとみなされます。アップデートのためのものを含め、Desktop またはコンピューターの再起動は終了とみなされます。

Claude Code は、Desktop がリモートマシンにインストールするバックグラウンドヘルパーの下でプロセスとして実行されるため、実行を続けるのに SSH 接続は必要ありません。このセクションで説明する動作には Claude Desktop v2.31226.0 以降が必要です。

[!WARNING]

Claude アカウントで Desktop にサインインしている場合、タスクが一晩中実行されることを当てにしないでください。Desktop は、Desktop が実行中かつ接続中の間のみタスクのサインインを更新するため、切断後にタスクのサインインの期限が切れ、タスクが停止することがあります。切断時に残っている時間は状況によって異なり、数分しかない場合もあります。

それまでに行われた作業はリモートマシンに残り、戻ったときにメッセージを送信して続行できます。

タスクを夜通し実行する必要がある場合:

  • コンピューターをスリープさせずオンラインの状態に保ち、蓋を開けたまま Desktop を実行しておきます
  • リモートマシンと経由するすべてのジャンプホストに対して、SSH エージェントが保持する鍵など、プロンプトなしで機能するログインを使用します。これにより、接続が切れた後に Desktop が自動的に再接続できます。

コンピューターがスリープ中または電源オフの間も実行する必要があるタスクの場合は、代わりにクラウドセッションを開始してください。

  • スリープまたはネットワーク切断の後:プロセスがまだ実行されており、Desktop がプロンプトなしでログインできる場合、実行中のタスクに戻れます。ログインできない場合は、メッセージを送信してください。
  • 終了の後: タスクは実行を続けますが、Desktop がそのプロセスに再参加できない限り、セッションを再度開いたときにタスクは失われます。終了する前に Desktop が再参加できる場合を確認してください。タスクが失われた場合は、メッセージを送信して続行します。

戻ったときにタスクが完了していない場合は、Desktop が再接続できないという知らせ、認証エラー、または待機中のリクエストがないか確認してください:

長いタスクを準備する
  • 先に更新する:長いタスクを開始する前に Desktop を更新してください。macOS と Windows では、Desktop はダウンロード済みのアップデートをインストールするために自動的に再起動することがあります。この再起動は、Claude が SSH タスクに取り組んでいる間は待機します。macOS で Claude アカウントを使用している場合、デフォルトでは、アップデートが 72 時間待機した後は、それでも再起動が実行されることがあります。
  • Windows の場合、またはサードパーティプロバイダーで v2.42304.0 より前の場合は終了しない: その場合は終了すると実行中のタスクが失われるため、タスクの間は Desktop を開いたままにしてください。それ以外の場合は、終了する前に何が戻るかを確認してください。
  • リクエストを減らす:タスクがユーザーを待つ頻度を減らす権限モード、ルール、またはフックを選択します
  • ジャンプホストを確認する:ジャンプホストがサインイン(スマートフォンへのプッシュ通知など)を求める場合は、プロンプトなしで機能するログインに切り替えてください。そうしないと、Desktop は再接続を試みるたびに別のプッシュ通知を送信する可能性があります。
  • リモートマシンをテストする:短いタスクを開始し、タスクの実行中に Desktop を終了して、タスクが完了しているはずの時刻を十分に過ぎてからセッションを再度開きます。タスクが完了しておらず、セッションに認証エラーが表示されていない場合は、リモートマシンでタスクを終了させうる要因を確認してください。
  • Desktop のターミナルでコマンドを実行しない:リモートマシンがアイドル状態のターミナルをログアウトさせる場合は、Desktop の外部からの SSH ログインで独自のコマンドを実行してください
Desktop の切断中の制限

実行したままにしたタスクは、サインインの期限が切れたとき、リモートマシンがタスクを終了させたとき、またはヘルパーが停止または置き換えられたときに終了することがあります:

  • サインイントークンまたは認証情報:Claude アカウントの場合、トークンの期限が切れるとタスクは認証エラーで停止します。サードパーティプロバイダーの場合は、シングルサインオンや認証情報ヘルパーから取得したものなど、期限が切れる認証情報にも同じことが当てはまります。SSH remote sessions in Claude Desktop on 3P を参照してください。Claude アカウントの場合は、Desktop がサインインを更新できるように、Desktop を実行して接続したままにしてください。
  • リモートマシン:リモートマシンが再起動した場合、または SSH 接続が閉じたときにプロセスを終了させる場合、実行中のタスクは終了します。Desktop が切断されている間、タスクが再開されることはありません。systemd-logind の KillUserProcesses が yes で、それがユーザーに適用される Linux マシンでは、この方法でプロセスが終了されます。そこでタスクを実行し続けるには、KillExcludeUsers などでユーザーを除外するよう管理者に依頼してください。
  • アイドル状態のターミナル:一部の Linux リモートマシンは、一定時間誰も入力しないターミナルをログアウトさせます(systemd-logind の StopIdleSessionSec)。macOS または Linux の Desktop では、セッションのターミナルと ! コマンドは、デフォルトで Desktop の SSH 接続を共有します。その場合、このログアウトによって Desktop の接続中に接続が終了し、実行中のタスクも一緒に終了することがあります。ターミナルペインを閉じても防げないため、そのターミナルでコマンドを実行しないでください。
  • Desktop のアップデート:アップデートで新しいヘルパーが導入された場合、Desktop は後の接続時にリモートマシン上のヘルパーを置き換えるため、まだ実行中のタスクが終了することがあります
  • 長期間の不在:Linux または macOS のリモートマシンで、Desktop が 30 日間接続しない場合、ヘルパーは停止し、その下で実行されているすべての Claude Code プロセスを終了します。それまでに接続してください。

ファイルの編集と一部のツールは、Desktop が切断されている間に失敗することがあります。タスクでそれらが必要な場合は、Desktop を接続したままにしてください:

  • worktree: worktree を使用するセッションでは、Claude がファイルを編集する前に Desktop が各編集を確認します。Desktop が切断されている間、各編集は約 30 秒待機した後に失敗します。シェルコマンドは引き続き実行されます。Linux または macOS のリモートマシンでは、編集が引き続き機能する場合があります。不明な場合は、worktree なしでセッションを開始してください。
  • フォルダの制限:組織がセッションで使用できるフォルダを制限している場合、Desktop は worktree の有無にかかわらず、各ファイルの読み取り、検索、編集をチェックします。Desktop が切断されている間、それぞれ最大 10 分間待機した後に失敗します。
  • コネクタ:コネクタおよび Desktop が提供するその他のツールは Desktop を経由して実行されるため、Desktop が切断されている間は各呼び出しが約 30 秒後に失敗します
  • ワークフロー:Desktop は新しいワークフローをそれぞれ開始前にチェックするため、Desktop が切断されている間、新しいワークフローは最大 10 分間待機した後に失敗します
  • MCP サーバー:Claude Code がリモートマシンで起動する MCP サーバーは Desktop を経由しないため、Claude は引き続きそれらのツールを呼び出せます。claude_desktop_config.json のサーバーがこれに含まれるのは、Desktop が組み込みの SSH クライアントを使用していない場合のみです。それ以外の場合、および一部の Windows リモートマシンでは、Desktop が切断されている間、Claude はそれらのツールを呼び出せません。

worktree 内の編集が引き続き機能する場合

Linux または macOS のリモートマシンでは、チェックが Desktop を経由しないため、Desktop が切断されている間も worktree 内の編集は引き続き機能します。Claude Desktop v2.37337.0 より前では、これは Linux リモートマシンにのみ当てはまります。

次のような場合には、編集は引き続き失敗します:

  • 組み込みの SSH クライアント:Desktop がそれを使用している場合。たとえば、Microsoft Store からのインストール、Microsoft の OpenSSH 9.4 以降がない Windows コンピューター、またはサードパーティプロバイダーを使用する Windows でのデフォルトの場合です
  • リポジトリの場所:リポジトリがホームディレクトリ、その上位のフォルダ、または ~/.claude である
  • macOS のパス:macOS のリモートマシンで、リポジトリが /Volumes の下にある、またはリポジトリもしくは worktree のパス内のフォルダ名に ~ または非 ASCII 文字が含まれている
  • フォルダの制限:組織がセッションで使用できるフォルダを制限している
  • 企業ランチャー:Claude Desktop v2.37337.0 より前で、Claude アカウントでサインインしており、組織が企業ランチャーを介してリモートマシンで Claude Code を起動している

worktree を使用しないセッションには、組織がセッションで使用できるフォルダを制限していない限り、このようなチェックはありません。

不在中に届いたリクエストに対応する

Desktop が切断されている間に Claude が承認を必要とするか質問をした場合、Claude はリモートマシン上で待機します。この待機自体には時間制限はありません。Desktop がプロセスに再参加すると、リクエストが表示されます。Desktop が代わりに新しいプロセスを開始した場合、リクエストは失われます。

戻ったときに待機していたリクエストがなくなっている場合、原因の 1 つとして、アップデートのインストールなどのために Desktop が自動的に再起動したことが考えられます。再起動後もリクエストが保持されるのは Desktop がプロセスに再参加できる場合のみであるため、タスクを実行したままにする前に Desktop が再参加できる場合を確認してください。

リクエストが失われた場合は、メッセージを送信して続行してください。

タスクがユーザーを待つために停止する頻度を減らし、不在中にタスクからの知らせを受け取るには、離れる前に次のいずれかを設定してください:

組織が管理フックのみを実行する場合は、リモートマシンに適用される管理設定にフックを追加するよう管理者に依頼してください。

Claude Code は、Bypass permissions を含むどの権限モードでも、いくつかのアクションを自動承認しません。権限モードに応じて、Claude Code はそのようなアクションを拒否するかユーザーに確認し、タスクはユーザーの回答を待機します。

スリープまたはネットワーク切断の後に再接続する

戻ったときに Desktop が再接続していない場合は、セッションでメッセージを送信してください。Desktop が自動的に再接続するのは、SSH エージェントが保持する鍵などを使用して、プロンプトなしでログインできる場合のみです。

  • 記憶されたパスワード:Desktop に記憶させたパスワードもプロンプトなしで機能しますが、長期間不在にする場合は SSH エージェントが保持する鍵を使用することをお勧めします。そのパスワードでのサインインが途中で切れたり応答しなくなったりする場合、Desktop は再接続を停止してユーザーを待つことがあります。
  • その他のプロンプト:リモートマシンがワンタイムコードなど、その他の入力を求める場合、コンピューターに通知が届くことがあります。通知をクリックするか、セッションでメッセージを送信すると、Desktop にプロンプトが表示されます。

ジャンプホストがサインインを求める場合、停止が長い場合、出力が欠落している場合、またはプロセスが存在しない場合

  • ジャンプホスト、不在中にプッシュ通知が止まる:これは、ジャンプホストのサインイン(スマートフォンへのプッシュ通知など)に誰も応答しない場合に、macOS または Linux の Desktop で発生することがあります。その場合、Desktop はコンピューターの前に誰もいない間は再接続を停止します。コンピューターのロックを解除するか使用すると、Desktop が再試行できるため、別のプッシュ通知が届くことがあります。応答のない試行が 3 回続くと、ユーザーが再試行するかメッセージを送信するまで待機します。
  • ジャンプホスト、プッシュ通知が届き続ける:Windows の Desktop のように、Desktop が誰も応答していないことを判別できない場合、再参加するプロセスがある間は、そのプロセスがまだ実行中かどうかにかかわらず試行を続けます。試行のたびに別のプッシュ通知が届くことがあります。試行を終了するには Desktop を終了しますが、その場合は実行中のタスクが失われる可能性があります。
  • 長時間の停止:Desktop は約 5 分ごとに 1 回の試行にペースを落とします。早く再接続するには、セッションで再試行するか、メッセージを送信します。メッセージは接続後に Desktop が配信します。
  • 出力の欠落:Desktop が切断されている間、ヘルパーは各セッションの最新の Claude Code 出力を 16 MiB のバッファに保持し、それより古い出力は破棄します。Desktop が再接続した後、セッションに Loading recent output from <host>… と表示されることがあります。Desktop がすべての出力を読み込めない場合は、Some output produced while you were disconnected may be missing here. という行が表示されます。この行はタスクが停止したことを意味するものではありません。
  • プロセスがなくなった: リモートマシンの再起動時など、Desktop が切断されている間にプロセスが終了した状態です。その場合、Desktop は会話の保存された履歴から新しいプロセスを開始し、Claude にタスクを続行するよう指示できます。タスクが停止したままの場合は、メッセージを送信してください。サードパーティプロバイダーの場合は、それより前のバージョンでは自動的にタスクが続行されることはないため、Claude Desktop v2.42304.0 以降に更新してください。
Desktop を終了した後にセッションを再度開く

Desktop を終了した後もタスクはリモートマシン上で実行を続けますが、Desktop がそのプロセスに再参加できない限り、セッションを再度開いたときに停止します。Desktop が閉じている間、タスクは完了するか、ユーザーの対応が必要になるか、制限のいずれかに達するまで実行されます。

  • Windows の Desktop: Desktop は終了後に再参加することがないため、実行中のタスクは戻りません。Desktop の起動時にセッションが開くことがあるため、タスクが完了していると見込まれるときにのみ Desktop を再度起動してください。
  • サードパーティプロバイダー、以前のバージョンのタスク: v2.42304.0 より前の Desktop バージョンでタスクを開始した場合、macOS や Linux でもタスクは戻りません。タスクが完了していると見込まれるときにのみ Desktop を再度起動してください。
  • その他のタスク(macOS または Linux の Desktop): Desktop を起動してセッションを開くと、Desktop が再参加した場合はタスクが続行されます。一部の Desktop アップデートの後など、常に再参加できるとは限らないため、長時間のタスクの前に更新してください。

Desktop が再参加できない場合、待機していた承認や質問も失われます。タスクが自動的に続行されない場合はメッセージを送信すると、Claude は会話の保存された履歴から続行します。

サードパーティのデプロイについては、SSH remote sessions in Claude Desktop on 3P を参照してください。

[!WARNING]

会話の Claude Code プロセスがまだ実行されている間は、リモートマシン上でその会話に対して claude --resume を実行しないでください。Claude Code はそれを阻止せず、両方のプロセスが同じ会話に書き込むことになります。不明な場合は --fork-session を追加すると会話のコピーで続行されますが、両方のプロセスは引き続き同じファイルを操作します。

SSH セッションの worktree の作成場所を選択する

組織がセッションで使用できるフォルダーを制限していない限り、新しい SSH セッションは、次の場所のうち設定されている最初の場所に worktree を作成します。

  1. SSH 接続の Worktree folder
  2. リモートマシン上の ~/.claude/settings.json にある worktree.location
  3. デフォルトの <project-root>/.claude/worktrees/

設定したフォルダ内には各プロジェクト専用のサブフォルダが作成されるため、~/worktrees を設定した場合、worktree のパスは ~/worktrees/<project>-<id>/<worktree-name> になります。設定したフォルダがプロジェクト内にある場合、Desktop はそのプロジェクトではそのフォルダを無視し、デフォルトを使用します。Windows リモートマシンでは、Desktop は常にデフォルトを使用します。

既存の接続で worktree フォルダーを設定する

以前に追加した接続、または組織が管理する接続の設定で Worktree folder を設定します。このフィールドには Claude Desktop v1.44121.0 以降が必要です。組織がセッションで使用できるフォルダーを制限している場合、Desktop はこのフィールドを非表示にし、worktree をプロジェクト内に保持します。

1. 接続を見つける

環境セレクターを開き、SSH の下で接続を探します。

2. 接続の設定を開く

接続にカーソルを合わせ、歯車アイコンをクリックします。開いたダイアログの Host の横に Edit connection… が表示されている場合は、Edit connection… を選択します。

3. フォルダーを設定する

Worktree folder に ~/worktrees などのリモートマシン上のフォルダーを入力し、Save changes を選択します。

リモートマシン上のファイルとプロセス

Desktop は、Linux または macOS のリモートマシンに接続する各ユーザーのホームディレクトリの ~/.claude/remote/ の下に、ヘルパープログラムと Claude Code をインストールします。ヘルパーはどのネットワークポートもリッスンしませんが、Claude Code と、MCP サーバーや開発サーバーなど Claude Code が起動するプログラムはリッスンすることがあります。

フォルダ 内容
~/.claude/remote/srv/ ヘルパー(バージョンごとに 1 つのフォルダ)
~/.claude/remote/ccd-cli/ Claude Code(バージョンごとに 1 つのファイル)
~/.claude/remote/run/ ソケットやログなど、ヘルパーのランタイムファイル(接続するコンピューターごとに 1 つのフォルダ)
~/.claude/remote/plugins/ Desktop がユーザーのコンピューターからコピーするプラグイン
~/.claude/uploads/ ユーザーがメッセージに添付するファイル(セッションごとに 1 つのフォルダ)

1 人のユーザーのプロセスを一覧表示するには、リモートマシン上でそのユーザーとして pgrep -fl "$HOME/.claude/remote/" を実行するか、$HOME の代わりにそのユーザーのホームディレクトリを指定して実行します:

  • ヘルパー:接続するコンピューターごとに 1 つ以上の server プロセス
  • Claude Code:ヘルパーがユーザーのセッションのために起動するプロセス。それぞれ 2.1.295-… のように、バージョンにちなんだ名前のファイルから起動されます

Desktop は、ユーザーの SSH 接続を通じて、~/.claude/remote/run/ の下にあるヘルパーのフォルダ内の Unix ソケット rpc.sock を経由してヘルパーに到達します。ソケットのモードは 600、そのフォルダのモードは 700 であるため、root を除き、マシン上の他のユーザーはそのソケットに接続できません。

ヘルパーが自動的に停止する場合については、Desktop の切断中の制限を参照してください。

1 人のユーザーのヘルパーと Claude Code を削除するには:

1. Desktop を終了する

ユーザーが接続する各コンピューターで Desktop を終了します。Desktop は次回接続時に両方のプログラムを再度インストールし、自動的に再接続することがあります。

2. プロセスを終了する

リモートマシンにそのユーザーとしてログインし、pgrep が一覧表示する各 Claude Code プロセスの ID を指定して kill を実行します。それらが一覧から消えたら、各 server プロセスの ID を指定して kill を実行します。先に server プロセスを終了すると、Claude Code が実行中のコマンドが実行を続けることがあります。

次に、ps -u "$(id -un)" -f などでユーザーの残りのプロセスを一覧表示し、Claude Code が起動したと分かるものを終了します。Claude Code がバックグラウンドに残したプログラムは、pgrep の一覧に含まれないまま、Claude Code の終了後も実行を続けることがあります。

3. フォルダを削除する

~/.claude/remote/ を削除します。~/.claude/ と ~/.claude.json にある Claude Code 自体のファイルを削除するには、設定ファイルを削除するを参照してください。

1 つのセッションのプロセスを終了する

1 つのセッションの Claude Code プロセスを終了するには、Desktop がリモートマシンに接続されている間に、Desktop でセッションをアーカイブします。プロセスは、タスクの完了後も Desktop の終了後も実行を続けます。

worktree にコミットされていない変更があるセッションをアーカイブする前に、セッションのアーカイブ時にコミットされていない変更を保持するを参照してください。

プロセスを実行するユーザーを確認する

ヘルパーと Claude Code は、Desktop が SSH でログインするユーザーとして実行されます。これらのインストールと起動に sudo は必要ありません。ユーザーを確認するには、pgrep が一覧表示するプロセス ID を指定して、リモートマシンで ps -o user= -p を実行します。

シェルコマンドや MCP サーバーなど、Claude Code が起動するプログラムも、そのユーザーとして起動します。そこでコマンドを実行する人に対して行うのと同様に、sudo ルールを含め、リモートマシン上のそのユーザーの権限を確認してください。

リモートマシンに接続したユーザーを確認する

リモートマシンに誰が接続したかを確認するには、そのマシン上の SSH サーバーのログを読みます。ログでは、Desktop からのログインはターミナルからのログインと同じように表示されます。macOS または Linux の Desktop では、エントリはセッションごとではなく、Desktop が接続するたびに記録されます。

Desktop の SSH 接続は、Claude Code のメトリクスとイベントには含まれません。そこから SSH セッションがどのリモートマシンで実行されたかを確認するには、Desktop SSH セッションにテレメトリを関連付けるを参照してください。Desktop 自体の接続記録については、SSH の問題について Desktop のログを取得するを参照してください。

ログイン前に閉じる接続

SSH サーバーのログに、ログイン前に閉じる接続が記録されている場合、それは Desktop による SSH ポートのテストである可能性があります。Desktop は、たとえばマシンへの接続が失敗した後などに、マシンが応答するかどうかをテストします。ポートへの接続を開き、何も送信せずにすぐに閉じます。テストは 1 回の場合もあれば、たとえば約 2 分間に 8 回など、連続して複数回行われる場合もあります。

そのような接続に対してアドレスを禁止または拒否する仕組みがない場合は、Desktop のテストについて何もする必要はありません。Desktop の接続元アドレスが拒否または禁止される場合は、SSH サーバー自体がそのアドレスを拒否しているかどうかと、fail2ban が Desktop のテストをカウントしているかどうかを確認してください。

SSH サーバーのログでテストを識別する

ログの行を、Linux 上の OpenSSH サーバーがデフォルトの LogLevel でテストについて書き込む行と、サーバーのバージョンに対応する行で比較してください。Desktop が接続を閉じる前にサーバーのグリーティングが届いた場合は、代わりに最後の列の行が表示されることがあります。

OpenSSH のバージョン テストの行 グリーティングが先に届いた場合の行
6.6 から 7.9 Did not receive identification string from 203.0.113.7 を含む行 同じ行
8.0 から 8.2 error: kex_exchange_identification: Connection closed by remote host error: kex_exchange_identification: read: Connection reset by peer
8.3 から 9.4 error: kex_exchange_identification: Connection closed by remote host、続いて Connection closed by 203.0.113.7 port 51234 error: kex_exchange_identification: read: Connection reset by peer、続いて Connection reset by 203.0.113.7 port 51234
9.5 から 10.2 Connection closed by 203.0.113.7 port 51234 error: kex_exchange_identification: read: Connection reset by peer、続いて Connection reset by 203.0.113.7 port 51234
10.3 から 10.5 Connection closed by 203.0.113.7 port 51234 [preauth] error: kex_exchange_identification: read: Connection reset by peer [preauth]、続いて Connection reset by 203.0.113.7 port 51234 [preauth]

ポートを開いて閉じる他のプログラムも、同じ行を残すことがあります。行にアドレスがある場合は、それが Desktop を使用するコンピューターの接続元アドレスであることを確認してください。

8.0 から 8.2 の行にはアドレスがありません。アドレスを取得するには、sshd_config で LogLevel VERBOSE を設定し、root として sshd -T | grep -i loglevel を実行します。loglevel VERBOSE と出力された場合は、SSH サーバーをリロードします。その後、テストの行の前にある Connection from 203.0.113.7 port 51234 を含む行を探してください。

SSH サーバー自体がアドレスを拒否しているかどうかを確認する

Desktop を使用する多数のコンピューターが共有するアドレスからの接続が拒否される場合は、SSH サーバーのログで次のように終わる行を探してください。

drop connection #0 from [203.0.113.7]:51234 on [192.0.2.10]:22 penalty: connections without attempting authentication

デフォルトの LogLevel では、OpenSSH 9.8 以降は、Desktop のテストのようにログインを試みずに閉じた接続を理由にアドレスを拒否する際に、このような行を書き込むことがあります。デフォルト設定では、数回のテストだけでこのような行が表示されることはありません。

拒否を防ぐには、sshd_config で PerSourcePenaltyExemptList を接続元のアドレスに設定します(例: PerSourcePenaltyExemptList 203.0.113.7)。サーバーはそれらのアドレスに対して、ログイン失敗に対するものを含め、どのペナルティも適用しなくなります。ファイルを確認するには、root として sshd -T | grep -i persourcepenalt を実行します。リストが出力された場合は、SSH サーバーをリロードしてください。

fail2ban が Desktop のテストをカウントしているかどうかを確認する

fail2ban 0.10.5 以降が Desktop の接続元アドレスを禁止した場合は、jail.conf、jail.local、または jail.d/ の下で jail のモードを確認します。

  • 角かっこ内でモードを指定する filter 行(filter = sshd[mode=aggressive] など)がある場合: そのモードを使用します。
  • 標準の filter 行([mode=%(mode)s])のみの場合: mode 行を使用し、ない場合は normal を使用します。

モードが normal の場合、fail2ban は Desktop のテストの行をカウントしないため、禁止の別の原因を探してください。

それ以外のモードの場合は、自分のログの行をリモートマシン上のファイルにコピーします。各行を日付から末尾まで丸ごとコピーし、テストが 2 行を残す場合は両方の行をコピーします。そこで、ファイルと jail のモード(たとえば aggressive)を指定して fail2ban-regex を実行します。

fail2ban-regex -o ip lines.log "sshd[mode=aggressive]"

fail2ban がカウントする失敗ごとに、コマンドは 203.0.113.7 のようにアドレスを 1 行ずつ出力します。その場合は、禁止を防いでください。何も出力されない場合、fail2ban はそのモードではそれらの行を 1 つもカウントしていないため、禁止の別の原因を探してください。

fail2ban による禁止を防ぐ

fail2ban が Desktop のテストを理由にアドレスを禁止しないようにするには、jail の 2 つの設定のいずれかを変更します。どちらにも代償があります。

  • mode: jail で設定されている箇所(mode 行、または filter = sshd[mode=aggressive] のような行の角かっこ内)で normal に設定します。ログインを試みずに接続して切断するクライアントのカウントなど、他のモードでのみ行われるカウントはすべて行われなくなります。
  • ignoreip: 接続元のアドレスに設定します(例: ignoreip = 203.0.113.7)。fail2ban は、ログイン失敗を含め、それらのアドレスからのものを一切カウントしなくなります。

リモートマシンで設定した MCP サーバーを使用する

SSH セッションで ~/.claude.json またはプロジェクトの .mcp.json の MCP サーバーを使用するには、リモートマシン上のそれらのファイルで設定します。Claude Code はそれらの stdio サーバーをリモートマシンで起動するため、それらのサーバーが実行するコマンドをリモートマシンにインストールしてください。claude_desktop_config.json のサーバーについては、Desktop の切断中の制限を参照してください。

リンクから SSH セッションを開く

claude://code/new リンクは Desktop の新規セッションページを開き、SSH 接続を指定することもできます。このようなリンクを runbook、ダッシュボード、または wiki ページに置いておくと、適切なマシンとフォルダが設定された状態で Desktop を開けます。このようなリンクを除去するプラットフォームについては、リンクがクリック可能にならずプレーンテキストとして表示されるを参照してください。

SSH リンクには Claude Desktop v2.110.0 以降が必要です。

次のリンクは、build.example.com のユーザー dev、ポート 2222、フォルダ /srv/payments を指定し、プロンプトを入力します:

claude://code/new?ssh_host=dev%40build.example.com&ssh_port=2222&ssh_folder=/srv/payments&q=Investigate%20the%20failed%20deploy

SSH リンクは次のパラメータを受け取り、必須なのは ssh_host のみです:

パラメータ 値
ssh_host host または user@host。SSH host フィールドと同じ形式で記述します。値を - で始めることはできず、ホスト部分には英字、数字、.、_、:、- のみを使用できます
ssh_port 1 から 65535 までのポート番号
ssh_folder リモートマシン上のフォルダ。/ または ~/ で始めるか、~ を使用します
q プロンプトボックスに入力する URL エンコードされたテキスト

~/.ssh/config のエイリアスは、そのエントリを持っているユーザーに対してのみ ssh_host として機能します。ユーザーがすでに持っている接続と一致させるには、その接続と同じユーザー、ホスト、ポートをリンクに指定します。

リンクを開くと、Desktop は接続を選択する前に確認を求めます:

  • 既存の接続:ホスト、ユーザー、ポートが既存の接続のいずれかと一致する場合、Desktop はその接続を使用するかどうかを確認し、接続の名前とホスト、およびリンクでフォルダが指定されている場合はそのフォルダを表示します。
  • 新しい接続:それ以外の場合、Desktop は SSH 接続を追加するダイアログを開きます。接続を追加すると、Desktop は何かを保存する前に接続するかどうかを確認し、リンクのホスト、およびリンクでポートとフォルダが指定されている場合はそれらを表示します。

確認するまで、Desktop はリンクのホスト、ポート、フォルダを保存せず、それらを使用して接続を選択したり開いたりすることもありません。SSH 接続がすでに選択されている場合、新規セッションページは、リンクがない場合と同様に、リンクが同じホストを指定している場合でも、その接続に独自に接続することがあります。リンクにキーファイル、パスワード、コマンドを含めることはできません。

リンクは誰でも作成できるため、入力された内容を確認してください:

  • 確認する前に:ホストとフォルダを確認します。
  • 送信する前に:プロンプトと選択されている環境を確認します。

Desktop はリンクを開いたときに、未送信のテキストを置き換えてプロンプトを入力しますが、自動で送信することはありません。プロンプトはプレーンテキストとして扱われるため、先頭の / や !、@ によるファイルメンションは、コマンドやメンションとして機能しません。キャンセルした場合、プロンプトはボックスに残り、選択していた環境は変更されません。

リンクによって sshHostAllowlist を回避することはできません。Desktop は接続時に許可リストを確認します。

リンクを開いても接続に関するダイアログが表示されずに Desktop が開く場合は、次のいずれかの原因を確認してください:

  • サインアウトしている:サインインしてから、もう一度リンクを開きます。
  • 別のダイアログが開いている:そのダイアログを閉じてから、もう一度リンクを開きます。
  • リンクが無効である:Desktop は修正すべき点を示すメッセージを表示し、プロンプトは入力しません。
  • Desktop が v2.110.0 より古い:以前のバージョンは SSH パラメータを無視し、プロンプトのみを入力した状態で新規セッションページを開きます。
  • SSH セッションがオフになっている:管理者が許可リストを空の配列に設定している場合、Desktop は SSH リンクを拒否します。

チームの SSH 接続を事前設定する

管理者は、管理設定で sshConfigs を設定することで、チームメンバーに SSH 接続を配布できます。

  • ユーザーに表示される内容:この方法で定義された接続は、各ユーザーの環境セレクターに自動的に表示されます。
  • ユーザーが変更できる内容:ユーザーは管理対象の接続を選択し、その接続に対して独自の Worktree folder を設定できます。その他のフィールドを編集したり、アプリ内で削除したりすることはできません。

次の例は、単一の接続を事前設定しています:

{
  "sshConfigs": [
    {
      "id": "shared-dev-vm",
      "name": "Shared Dev VM",
      "sshHost": "user@dev.example.com",
      "sshPort": 22,
      "sshIdentityFile": "~/.ssh/id_ed25519"
    }
  ]
}

各エントリには id、name、および sshHost が必要です。sshPort および sshIdentityFile フィールドはオプションです。ユーザーは、自分の ~/.claude/settings.json に sshConfigs を追加することもできます。

sshHost から user@ を省略した場合、Desktop は各開発者の ~/.ssh/config がそのホストに対して設定している User として接続し、設定がない場合は開発者自身のコンピューター上のユーザー名で接続します。

ユーザーが接続できる SSH ホストを制限する

管理者は、管理設定で sshHostAllowlist を設定することで、Desktop の SSH セッションを承認されたホストのセットに制限できます。設定されると、ユーザーは解決されたホスト名がパターンの 1 つと一致するホストにのみ接続できます。SSH セッションを無効にするには、空の配列に設定します。空の配列が他の管理ソースのリストとどのように組み合わされるかについては、sshHostAllowlist のリファレンス項目を参照してください。

次の例は、devboxes.example.com の下のすべてのホストと、単一の名前付きバスティオンホストへの接続を許可しています:

{
  "sshHostAllowlist": ["*.devboxes.example.com", "bastion.example.com"]
}

[!WARNING]

組織がサーバー管理設定を配信している場合は、sshHostAllowlist をそこで設定してください。デフォルトでは、Desktop はポリシーキーを配信する最上位の管理ソースからのみこのキーを読み取ります。そのソースでキーが設定されていない場合、Desktop は下位の MDM ポリシーまたは管理設定ファイルにあるリストを無視し、キーを未設定として扱います。Desktop は警告を表示しません。

また、各ユーザーのマシンでも、そのマシンの最上位の MDM ポリシーまたは管理設定ファイルに同じリストを保持してください。Desktop は起動時にサーバー管理設定を取得し、キャッシュされたコピーを保持しないため、取得が成功するまではマシンのリストが適用されます。

パターンは大文字と小文字を区別しません。* はすべてのホストと一致し、*.example.com は example.com とすべてのサブドメインと一致します。その他はすべて完全一致です。チェックは ssh -G を経由した ~/.ssh/config 解決後のホスト名に対して実行されるため、Host エイリアスと ProxyCommand/ProxyJump エントリは、解決された HostName が一致する限り許可されます。

sshHostAllowlist は管理設定からのみ読み取られます。ユーザーまたはプロジェクト設定の値は無視されます。Claude Desktop アプリのみがこの設定を尊重します。Claude Code CLI と IDE 拡張機能はこれを読み取らず、Bash ツールを通じて実行される ssh コマンドを制限しません。これは Desktop アプリが接続するホストを管理し、ネットワーク出力ではないため、ハード境界が必要な場合は組織のネットワークまたはゼロトラストコントロールと組み合わせてください。

ローカルセッションをオフにして SSH 接続を配布する

ローカルセッションをオフにし、SSH セッションを選択したホストに制限するには、disableDesktopLocalSessions、sshConfigs、sshHostAllowlist を一緒にデプロイします。

[!NOTE]

この構成は、Claude アカウントでサインインするユーザー向けです。サードパーティプロバイダーを使用する場合、SSH セッションはデフォルトでオフになっており、sshHostAllowlist を設定するとオンにできます。これらのキーをデプロイする前に、SSH remote sessions in Claude Desktop on 3P をお読みください。

次の例は、ローカルセッションをオフにし、1 つの接続を追加して、SSH セッションをその接続のホストに制限します:

{
  "disableDesktopLocalSessions": true,
  "sshConfigs": [
    {
      "id": "shared-dev-vm",
      "name": "Shared Dev VM",
      "sshHost": "dev.example.com"
    }
  ],
  "sshHostAllowlist": ["dev.example.com"]
}

これらのキーはデスクトップアプリに適用されます。CLI、Cowork、クラウドセッションなど、Claude Code を実行する他の方法には影響しません:

  • CLI:どのキーも、開発者が自分のコンピューターで Claude Code CLI を実行することを妨げません
  • Cowork:どのキーも Cowork セッションや Cowork のスケジュールタスクには適用されません
  • クラウドセッション:どのキーもクラウドセッションを利用できるかどうかを変更しません。クラウドセッションをオフにするには、Admin console controls の Cloud sessions 設定を使用します。

この例を応用する場合は、ホスト名、Desktop のバージョン、およびファイルの権限を確認してください:

  • ホスト名:sshHostAllowlist のパターンが、user@ を除いた各 sshConfigs エントリのホスト名と一致することを確認してください。一致しない場合、開発者はその接続に接続できません。Desktop がホスト名を照合する方法については、ユーザーが接続できる SSH ホストを制限するを参照してください。
  • バージョン:disableDesktopLocalSessions には Claude Desktop v1.37937.0 以降が必要です
  • ファイルの権限:コンピューター上の各開発者のアカウントが管理設定ファイルを読み取れることを確認してください。アカウントが読み取れないファイル内のキーは Desktop によって適用されず、Claude Code もそれらのキーなしで起動します。

3 つのキーは、配信する管理ソースのうち最上位のもの 1 つにまとめて記述してください。サーバー管理設定を配信する場合は、各コンピューターの最上位の MDM ポリシーまたは管理設定ファイルにも 3 つのキーのコピーを保持してください。Desktop は起動時にサーバー管理設定を取得し、取得が成功するまではコンピューター上のコピーが適用されます。

設定が適用されていることを確認するには、開発者のコンピューターで次を確認します:

1. 環境セレクターを確認する

Desktop を終了して再度開き、環境セレクターを開きます。次のように表示されていれば、設定は適用されています。

  • そのコンピューターのエントリがグレー表示されている
  • SSH の下に Shared Dev VM がある。そこに表示されていない場合は、単一の SSH 行、またはグループ末尾の More をクリックしてください。

コンピューターのエントリがまだ選択可能な場合は、次の原因を確認してください。

  • Desktop のバージョン:v1.37937.0 より前の場合は Desktop を更新してください。
  • 管理設定ファイル:ファイルが有効な JSON であることを確認してください。
  • 管理ソース:キーを保持している管理ソースをコンピューターが読み取っていることを確認してください。

2. 許可リストにないホストを追加する

other.example.com など、許可リストにないホスト名で SSH 接続を追加します。Desktop は接続を保存しますが、接続は拒否し、組織の設定でその接続が許可されていないことを表示します。

エンタープライズ設定

Team または Enterprise プランの組織は、管理コンソールコントロール、管理設定ファイル、およびデバイス管理ポリシーを通じてデスクトップアプリの動作を管理できます。

管理コンソールコントロール

これらの設定は管理設定コンソールを通じて設定されます:

  • Desktop:組織内のユーザーがデスクトップアプリで Claude Code にアクセスできるかどうかを制御します
  • Cloud sessions:組織のクラウドセッションを有効または無効にします
  • Remote Control:組織のRemote Controlを有効または無効にします

HIPAA が有効になっている Enterprise 組織では、Desktop トグルはデフォルトでオフになっており、Owner がオンにできます。HIPAA 設定を適用すると、オンになっていた場合でもオフになるため、Owner は適用後にオンにし直す必要があります。Cloud sessions と Remote Control もデフォルトでオフであり、組織に HIPAA 設定が適用された後は、Owner がこれらをオンにすることはできません。

[!NOTE]

管理コンソールのデータとプライバシー設定のMonitoring下の Cowork 用 OpenTelemetry フォームは、Cowork セッションのみに適用されます。このマシン上の Cowork セッションでは、デスクトップアプリはそのコレクタを Claude Code にOTEL_*環境変数として渡すため、Claude Code がそのセッションで管理コンソール設定をフェッチしない場合でも、フォームは有効になります。

Code タブセッションからテレメトリをエクスポートするには、Claude Code 管理設定のenvブロックでCLAUDE_CODE_ENABLE_TELEMETRYとOTEL_*変数を設定します。監視用の管理者設定に示されているとおりです。ローカル、クラウド、SSH セッションは、それぞれ異なるソースから管理設定を読み取ります。クラウドセッションが到達できるホストについては、ネットワークアクセスを参照してください。Code タブセッションが報告するservice.nameについては、サービス情報を参照してください。

SSH セッションがどのリモートマシンで実行されたかを確認するには、テレメトリを Desktop SSH セッションに関連付けるを参照してください。

管理設定

管理設定はプロジェクトおよびユーザー設定を上書きし、Desktop の Claude Code セッションに適用されます。これらのキーを組織の管理設定ファイルで設定するか、管理コンソールを通じてリモートでプッシュできます。

キー 説明
permissions.disableBypassPermissionsMode ユーザーが Bypass permissions モードを有効にするのを防ぐには"disable"に設定します。
disableAutoMode Autoモードをモードセレクタから削除するには"disable"に設定します。permissionsの下でも受け入れられます。
autoMode 組織全体で auto モード分類器が信頼およびブロックするものをカスタマイズします。auto モードを設定するを参照してください。
browserExternalPageTools Claude がBrowser ペインの外部ページを読み取るまたは操作するためのツールを使用するのを防ぐには"disabled"に設定します。ユーザーは引き続き外部サイトに自分でナビゲートできます。ローカル開発サーバープレビューは影響を受けません。
disableMobileSimulatorTools Claude のiOS Simulator ペインでデバイスを制御およびキャプチャするためのツールをブロックするにはtrueに設定します。ペインはユーザー自身のタップに対して使用可能なままです。Claude のアクセスのみが削除されます。値は JSON ブール値trueである必要があります。文字列"true"は無視されます。
disableBrowserExternalNavigation Browser ペインの外部ブラウジングを完全にオフにするにはtrueに設定します。ユーザーも Claude も外部サイトにナビゲートできません。localhost 開発サーバープレビューは影響を受けません。値は JSON ブール値trueである必要があります。文字列"true"は無視されます。
sshConfigs 環境セレクタに表示されるSSH 接続を事前設定します。ユーザーは管理接続を削除できず、自分の Worktree folder 以外は編集できません。
sshHostAllowlist SSH セッションを、解決されたホスト名がこれらのパターンのいずれかと一致するホストに制限します。管理設定からのみ読み取られます。
disableDesktopLocalSessions デバイスで実行されるコードセッションをオフにするにはtrueに設定します。他のホストへの SSH セッションとクラウドセッションは利用可能なままです。値は JSON ブール値trueである必要があります。管理設定からのみ読み取られます。Claude Desktop v1.37937.0 以降が必要です。
disableSshSavedPasswords Desktop が SSH パスワードの保存を提案したり、以前に保存したパスワードを使用または表示したりしないようにするにはtrueに設定します。オンにしても、保存済みのパスワードは削除されません。管理設定からのみ読み取られます。Claude Desktop v1.49585.0 以降が必要です。
managedMcpServers MCP サーバー設定をすべてのユーザーにプッシュします。サードパーティ(3P)Desktop デプロイでのみ利用可能です。各エントリで、"http"、"sse"、または"stdio"のトランスポート、接続詳細、およびオプションで、そのサーバーのどのツールをユーザーが呼び出せるかを制限するtoolPolicyマップを設定します。管理設定ファイル、MDM、または Claude apps gateway ポリシーのdesktopブロックを通じて配信します。3P デプロイは管理コンソール設定を受け取らないためです。ゲートウェイを通じて配信するには、ゲートウェイサーバーで Claude Code v2.1.232 以降が必要です。これはデスクトップアプリ自体のキーです。Claude Code は、異なるエントリ形状を持つ、同じ名前の管理設定を読み取ります。

Desktop セッションがどこで実行されるかに応じて、どの管理設定がそのセッションに到達するかが異なります。availableModelsなどのモデル制限は、Desktop の Claude Code セッションでターミナル CLI と同じ方法で適用されます。surface coverageを参照してください。

  • このマシン上のローカルセッション:ディスクにデプロイされた管理設定ファイルが適用されます。管理コンソールを通じてリモートでプッシュされた管理設定は、セッションが適格なログインで認証する場合、Anthropic の API でこれらのセッションに到達します。ターミナル CLI と同じ設定の優先順位に従います。
  • クラウドセッション:サーバー管理設定を受け取ります。デバイスにデプロイされたファイルはこれらのセッションに到達しません。Anthropic が管理する VM で実行されるためです。自己ホスト環境にルーティングされたセッションは、ランナーイメージ内の管理設定ファイルも読み取ります。Claude Code が管理ソースを組み合わせる方法は、そのファイルが適用される場合を示しています。
  • SSH セッション:セッションはリモートホストから管理設定ファイルを読み取ります。Desktop 自体は、ローカルマシン上でsshConfigs、sshHostAllowlist、disableSshSavedPasswords、およびdisableDesktopLocalSessionsを読み取ります。複数の管理ソースを配信する場合、Desktop はデフォルトではそのうち 1 つからこれらを読み取ります。
  • Coworkセッション:このマシン上の Cowork セッションでは、ユーザーが Team または Enterprise アカウントでサインインしている場合でも、Claude Code は管理コンソール設定をフェッチしません。マシンにデプロイされたポリシーを読み取ります。ただし、Claude Desktop 設定がrequireCoworkFullVmSandboxを設定している場合を除きます。リモート Cowork セッションはどちらも受け取りません。ポリシーが適用される場所と時期を参照して、どのデバイスファイルが Cowork に到達するかを確認してください。MCP 権限ルールを参照して、BashおよびWebFetchルールが Cowork のツールにどのように適用されるかを確認してください。

ローカルおよび SSH セッションでは、デスクトップアプリは各ユーザーの接続された claude.ai コネクタを Claude Code に直接配信します。MCP 設定またはmanaged-mcp.jsonはこれらのコネクタに到達しません。使用する設定ソースまたはファイルの場所に関係なく。これらのセッションでコネクタのツールをブロックするには、組織のコネクタツールコントロールを使用してください。コネクタが Claude Code に到達する方法は、各種類のセッションでコネクタを管理する設定を示しています。

permissions.disableBypassPermissionsModeとdisableAutoModeはユーザーおよびプロジェクト設定でも機能しますが、管理設定に配置するとユーザーがそれらを上書きするのを防ぎます。

管理ソースのみが設定できる権限、プラグイン、および配信キーについては、管理設定のみが設定できるキーを参照してください。

デバイス管理ポリシー

IT チームは、macOS の MDM、Windows のグループポリシー、または Linux のポリシーファイルを通じてデスクトップアプリを管理できます。利用可能なポリシーには、Claude Code 機能の有効化または無効化、macOS と Windows での自動更新の制御、およびカスタムデプロイ URL の設定が含まれます。

  • macOS:Jamf または Kandji などのツールを使用してcom.anthropic.claudefordesktopプリファレンスドメインを通じて設定します
  • Windows:SOFTWARE\Policies\Claudeのレジストリを通じて設定します
  • Linux:/etc/claude-desktop/managed-settings.jsonにある root 所有のファイルを通じて設定します。このファイルはポリシーキーを JSON オブジェクトとして保持します。root 以外のユーザーがファイルまたはそのフォルダに書き込める場合、Desktop はそのファイルを拒否します。これは Claude Code の管理設定ファイルとは別のファイルです。

ネットワークアクセス要件

Desktop はアプリケーションコードとユーザーコンテンツを Anthropic CDN ホストから読み込みます。

anthropic.com
*.anthropic.com
claude.ai
*.claude.ai
claude.com
*.claude.com
claude.app
*.claude.app
*.claudeusercontent.com
*.claudemcpcontent.com

トラフィックは HTTPS ポート 443 です。ただし、OTLP、LLM ゲートウェイ、または MCP サーバーのカスタムポートを設定する場合を除きます。

プロキシサーバー、カスタム認証局、mTLS、およびスタンドアロン CLI が必要とするドメインについては、ネットワーク設定を参照してください。

ファイアウォールワイルドカードの数を減らすために、代わりにこれらの Anthropic ホストを許可してください。特定のサブドメインは動的に生成されるため、ワイルドカードのままである必要があります。

anthropic.com
api.anthropic.com
a-api.anthropic.com
a-cdn.anthropic.com
s-cdn.anthropic.com
assets-proxy.anthropic.com
claude.ai
a.claude.ai
assets.claude.ai
downloads.claude.ai
*.livepreview.claude.ai
claude.com
platform.claude.com
sso.claude.com
*.livepreview.claude.app
*.claudeusercontent.com
*.claudemcpcontent.com

組織で Claude に対してIP 許可リストが有効になっている場合は、bridge.claudeusercontent.comをclaude.aiおよびapi.anthropic.comと同じプロキシ出口を通じてルーティングしてください。そのようにルーティングできない場合は、プロキシがそのホストに使用する出口アドレスを組織の IP 許可リストに追加してください。ただし、そのアドレスが組織に専用されている場合のみです。共有プロキシ出口範囲は、プロキシベンダーの他の顧客も許可します。

Anthropic は、到着元のアドレスを使用して、組織の IP 許可リストに対してそのホストへの接続をチェックします。プロキシがそのホストのトラフィックを、その許可リストにないアドレスを通じて送信する場合、Chrome の Claude およびブリッジを通じて接続する他の機能は機能しなくなりますが、アプリの残りの部分は機能し続けます。

アーティファクトがGoogle Fontsからタイプフェイスを読み込む場合、fonts.googleapis.comおよびfonts.gstatic.comもリクエストします。両方のホストはオプションです。それらをブロックする場合、アーティファクトはフォールバックタイプフェイスでレンダリングされます。フォントリクエストが即座に失敗するように、高速拒否でブロックしてください。ページの最初のレンダリングを遅延させるのではなく。

アーティファクトは、React またはチャートパッケージなどの JavaScript ライブラリをcdnjs.cloudflare.com、cdn.jsdelivr.net、cdn.tailwindcss.com、code.jquery.com、およびunpkg.comから読み込むこともできます。他の外部ホストからは読み込みません。それらのホストをブロックする場合、ライブラリに依存するアーティファクトの部分は機能しません。ブロックされたフォントとは異なり、ブロックされたライブラリにはフォールバックがありません。ここでも高速拒否でブロックしてください。ブロックされたライブラリリクエストが即座に失敗するように。タイムアウトするまでハングするのではなく。

認証と SSO

Team および Enterprise 組織はすべてのユーザーに SSO を要求できます。プランレベルの詳細については認証を参照し、Setting up SSOで SAML 設定を参照してください。OIDC セットアップはClaude Enterprise Administrator Guideで説明されています。

データ処理

Claude Code はローカルセッションではコードをローカルで処理するか、クラウドセッションでは Anthropic が管理するインフラストラクチャで処理します。組織がそれらを自己ホスト環境にルーティングしない限り。クラウドセッション(自己ホスト環境を含む)は、処理のために会話とコードコンテキストを Anthropic の API に送信します。ローカルおよび SSH セッションは、デプロイで設定されているモデルプロバイダー(デフォルトでは Anthropic の API)に送信します。データ保持、プライバシー、およびコンプライアンスの詳細については、データ処理を参照してください。

デプロイ

Desktop はエンタープライズデプロイツールを通じて配布できます:

  • macOS:Jamf または Kandji などの MDM を使用して.dmgインストーラーを通じて配布します
  • Windows:MSIX パッケージを通じてデプロイします。サイレントインストールを含むエンタープライズデプロイのオプションについては、Deploy Claude Desktop for Windowsを参照してください。

ファイアウォールで許可リストに登録するドメインについては、上記のネットワークアクセス要件を参照してください。プロキシ設定、カスタム認証局、および LLM ゲートウェイについては、ネットワーク設定を参照してください。

完全なエンタープライズ設定リファレンスについては、エンタープライズ設定ガイドを参照してください。

CLI から移行する場合

Claude Code CLI を既に使用している場合、Desktop はグラフィカルインターフェイスで同じ基盤となるエンジンを実行します。同じマシン上で、同じプロジェクト上でも、両方を同時に実行できます。各々は独自のセッションリストを保持し、CLI セッションを Desktop に持ち込むことができます。CLAUDE.md ファイルを通じて設定とプロジェクトメモリを共有します。

CLI セッションを Desktop に移動するには、ターミナルで /desktop を実行します。Claude はセッションを保存し、デスクトップアプリで開いてから CLI を終了します。このコマンドは、Claude サブスクリプションでサインインしている場合、macOS と x64 Windows で利用可能です。API キー認証、Amazon Bedrock、Google Cloud の Agent Platform、または Microsoft Foundry では利用できません。

シェルから、claude --desktop は Desktop を直接開き、ターミナルセッションを開始しません。Claude Code v2.1.285 以降が必要で、/desktop と同じプラットフォームおよびサインイン要件があります。他の引数がない場合、現在のディレクトリで Desktop を開きます。既存の CLI セッションを Desktop で開くには、このディレクトリの最新の会話に対して --continue を追加するか、/status が表示するセッション ID で --resume を追加します:

claude --desktop --resume <session-id>

Claude Code は Opening session <session-id> in Claude Desktop を出力し、セッションはアプリで開き、コマンドは終了します。セッション名は ID の代わりに機能しません。Claude Code は別のターミナルで開いているセッションや、バックグラウンドで実行中のセッションを移動しません。Claude Desktop がインストールされていない場合、コマンドはダウンロードリンクを出力して終了します。

Desktop 内から CLI セッションを再開することもできます。/resume を使用します。このコマンドはローカルセッションで利用可能で、SSH、WSL、またはクラウドセッションでは利用できません。

Desktop でターミナルセッションを続行するには:

  1. ターミナルでセッションを閉じます。
  2. Desktop のプロンプトボックスで /resume と入力します。Desktop は、このコンピューターで CLI から開始したセッションをリストアップします。タイトル、フォルダ、またはブランチで検索し、各セッションがどこで終了したかをプレビューします。
  3. セッションを選択します。アプリで完全な会話とコンテキストとともに続行されます。

Desktop は同じセッションを続行するため、コピーではなく、ターミナルで claude --resume を実行すると、その後も見つかります。

[!TIP]

Desktop と CLI をいつ使用するか:複数のセッションを 1 つのウィンドウで管理したい場合、ペインを並べて配置したい場合、または変更を視覚的に確認したい場合は Desktop を使用します。スクリプト、自動化が必要な場合、またはターミナルワークフローを好む場合は CLI を使用します。

CLI フラグの同等物

このテーブルは、一般的な CLI フラグの Desktop アプリの同等物を示しています。リストされていないフラグは、スクリプトまたは自動化用に設計されているため、Desktop の同等物がありません。

CLI Desktop の同等物
--model sonnet プロンプトボックスの下の行にあるモデルピッカー
--resume、--continue サイドバーのセッションをクリックするか、プロンプトボックスで /resume と入力して CLI から開始したセッションを選択します
--permission-mode プロンプトボックスの下の行にあるモードセレクタ
--dangerously-skip-permissions 権限モードをバイパスします。Pro および Max プランでは、設定 → Claude Code → 「権限モードのバイパスを許可」で有効にします。Team および Enterprise プランでは、組織ポリシーで制御されます
--add-dir ローカルセッションと SSH セッションではセッションにフォルダを追加し、クラウドセッションでは複数のリポジトリを選択します
--allowedTools、--disallowedTools セッションごとの同等物はありません。設定ファイルの権限ルールは引き続き適用されます。
--verbose 詳細ビューモード
--print、--output-format 利用できません。Desktop は対話的のみです。
ANTHROPIC_MODEL 環境変数 プロンプトボックスの下の行にあるモデルピッカー
MAX_THINKING_TOKENS 環境変数 拡張思考をオフにするを参照してください

共有設定

Desktop と CLI は同じ設定ファイルを読み込むため、セットアップが引き継がれます:

  • プロジェクト内の CLAUDE.md および CLAUDE.local.md ファイルは両方で使用されます
  • ~/.claude.json または .mcp.json で設定された MCP サーバー は両方で機能します
  • 設定で定義された フック および スキル は両方に適用されます
  • ~/.claude.json および ~/.claude/settings.json の 設定 は共有されます。settings.json の権限ルール、許可されたツール、およびその他の設定は Desktop セッションに適用されます。
  • モデル:同じモデルが両方で利用可能です。Desktop では、プロンプトボックスの下の行にあるモデルピッカーからモデルを選択します。セッション中にも同じピッカーからモデルを変更できます。

Claude Desktop チャットアプリからの MCP サーバー

Desktop アプリは、claude_desktop_config.json から MCP サーバーをローカルコードタブセッションに読み込み、~/.claude.json および .mcp.json のサーバーと並行して実行します。claude_desktop_config.json で定義したサーバーは、Desktop チャットサーフェイスとローカルコードタブセッションの両方で利用可能です。

claude_desktop_config.json と ~/.claude.json または .mcp.json で同じサーバー名を定義した場合、ローカルセッションのコードタブは 1 回接続し、claude_desktop_config.json の定義を使用します。

アプリは、~/.claude.json の stdio サーバーをローカルセッションの組み込み CLI に再配信します。~/.claude.json(ユーザースコープ)と .mcp.json のトップレベルが同じ stdio サーバー名を定義する場合、コードタブは ~/.claude.json の定義を使用し、CLI のスコープ階層から外れます。

[!NOTE]

スタンドアロン CLI は claude_desktop_config.json を読み込みません。macOS と WSL では、claude mcp add-from-claude-desktop を実行して、それらのサーバーを ~/.claude.json にコピーします。Claude Desktop から MCP サーバーをインポートを参照して、インポートフローとスコープオプションを確認してください。

機能比較

このテーブルは、CLI と Desktop の主要機能を比較しています。CLI フラグの完全なリストについては、CLI リファレンスを参照してください。

機能 CLI Desktop
権限モード dontAsk を含むすべてのモード Manual、Accept edits、Plan、および Auto。権限モードのバイパスは、モードセレクタで有効にされると表示されます:Pro および Max プランでは設定トグルを通じて、Team および Enterprise プランでは組織ポリシーを通じて
サードパーティプロバイダー Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry デフォルトで Anthropic の API。ゲートウェイルーティングについては、Desktop アプリをゲートウェイに接続を参照してください。Code タブを Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry、または自己ホスト型 LLM ゲートウェイで実行するには、Claude Desktop on 3Pを参照してください。
MCP サーバー 設定ファイルで設定 ローカルおよび SSH セッションのコネクタ UI、または設定ファイル
プラグイン /plugin コマンド プラグインマネージャー UI
@mention ファイル テキストベース オートコンプリート付き(クラウドセッションの最初のメッセージを除く)
ファイル添付 利用できません 画像、PDF
セッション分離 --worktree フラグ 独自の worktree でセッションを実行
複数セッション 別々のターミナル サイドバータブ
定期的なタスク Cron ジョブ、CI パイプライン スケジュールタスク
コンピューター使用 macOS で /mcp で有効化 macOS および Windows でアプリとスクリーン制御
iOS シミュレータ コンピューター使用経由でシミュレータを駆動 iOS シミュレータペインが自動的に開きます
Dispatch 統合 利用できません サイドバーの Dispatch セッション
スクリプトと自動化 --print、Agent SDK 利用できません

Desktop で利用できない機能

以下の機能は Desktop では利用できません(記載されている場合を除く):

  • サードパーティプロバイダー:Desktop はデフォルトで Anthropic の API に接続します。Desktop をゲートウェイ経由でルーティングするか、Code タブを Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry、または自己ホスト型 LLM ゲートウェイで実行するには、サードパーティプロバイダー行のリンクに従ってください。
  • Linux(ベータ):Linux デスクトップアプリではコンピューター使用はまだ利用できません。Claude Desktop on Linuxを参照してください。
  • インラインコード提案:Desktop はオートコンプリートスタイルのコード補完を提供しません。会話型プロンプトと明示的なコード変更を通じて機能し、Claude の応答後に次のプロンプトを提案できます。
  • エージェントチーム:Claude がチームリーダーとして共有タスクリストからチームメイトにタスクを割り当てる調整されたチームは、CLIで利用可能で、Desktop では利用できません。1 つのセッション内でマルチエージェント作業を行う場合は、Desktop で実行される動的ワークフローを使用します。Claude は他のセッションに直接メッセージを送信して管理することもできます。
  • ターミナルダイアログコマンド:ターミナルで対話的パネルを開く組み込みコマンドは、コードタブで異なる動作をします。設定ファイルを直接編集して権限ルールと設定を管理するか、スタンドアロン CLI からコマンドを実行します。
    • /permissions などの引数形式がないコマンドは、isn't available in this environment で応答します。
    • /config は設定 → Claude Code を開きます。コマンド後のテキストは無視されるため、/config theme=dark はテーマを設定しません。

トラブルシューティング

以下のセクションでは、デスクトップアプリに固有の問題について説明します。チャットに表示されるAPI Error: 500、529 Overloaded、429、またはPrompt is too longなどのランタイム API エラーについては、エラーリファレンスを参照してください。

バージョンを確認する

実行しているデスクトップアプリのバージョンを確認するには:

  • macOS:メニューバーのClaudeをクリックしてから、About Claudeをクリック
  • Windows:Helpをクリックしてから、About Claudeをクリック

バージョン番号をクリックしてクリップボードにコピーします。

Code タブの Claude Code バージョン

セッションで実行されている Claude Code のバージョンを確認するには、Code タブのローカルセッションで /status と入力し、Claude Code 行を確認します。この行には 2.1.286 のようなバージョンが表示されます。

ローカルセッション用に新しいバージョンを取得するには、macOS では Claude > Check for Updates…、Windows では Help > Check for Updates… を開き、新しいセッションを開始します。

ローカルセッションでは、Code タブは独自の Claude Code のコピーを実行し、そのコピーには独自のバージョン番号があります。デスクトップアプリがそのコピーをダウンロードして更新するため、ターミナルの claude コマンドとはバージョンが異なる場合があり、一方を更新してももう一方は更新されません。

使用しているレイアウトを確認する

新しいセッションのプロンプトボックスの下に環境セレクターがない場合は、以前のレイアウトを使用しています:

以前のレイアウトでは、プロンプトボックスの上で環境とプロジェクトフォルダを選択し、その下の行で権限モードとモデルを選択します。以前のレイアウトにはセッション詳細パネルと保存済みのローカル環境および SSH 環境がありません。

Code タブの 403 またはエラー認証エラー

Code タブを使用するときにError 403: Forbiddenまたはその他の認証エラーが表示される場合:

  1. アプリメニューからサインアウトして再度サインインします。これが最も一般的な修正です。
  2. アクティブな有料サブスクリプション(Pro、Max、Team、または Enterprise)があることを確認します。
  3. CLI は機能するが Desktop は機能しない場合、デスクトップアプリを完全に終了し(ウィンドウを閉じるだけではなく)、再度開いてサインインします。
  4. インターネット接続とプロキシ設定を確認します。

起動時に空白または停止画面

アプリが開いても空白または応答しない画面が表示される場合:

  1. アプリを再起動します。
  2. 保留中の更新を確認します。macOS と Windows ではアプリは起動時に自動更新されます。Linux では、Claude Desktop on Linuxで説明されているように apt を使用して更新します。
  3. マネージドネットワーク上では、ファイアウォールがネットワークアクセス要件の CDN ホストを許可していることを確認します。
  4. Windows では、Windows Logs → Applicationの Event Viewer でクラッシュログを確認します。

「Failed to load session」

Failed to load sessionが表示される場合、選択したフォルダが存在しなくなった可能性があります。Git リポジトリがインストールされていない Git LFS を必要とする可能性があります。またはファイル権限がアクセスを防ぐ可能性があります。別のフォルダを選択するか、アプリを再起動してみてください。

セッションがインストール済みツールを見つけられない

Claude がnpm、node、またはその他の CLI コマンドなどのツールを見つけられない場合、ツールが通常のターミナルで機能することを確認し、シェルプロファイルが PATH を正しく設定していることを確認し、デスクトップアプリを再起動して環境変数を再度読み込みます。

Git および Git LFS エラー

独自の worktree で実行されるセッションには Git が必要です。「Git is required」が表示される場合、Gitをインストールするか、Windows ではGit for Windowsをインストールして、もう一度試してください。Windows では、1.49585.0 より前の Claude Desktop バージョンはローカルセッションを開始する前に Git を要求していました。そのプロンプトが表示され、worktrees を使用していない場合は、アプリを更新してください。

「Git LFS is required by this repository but is not installed」が表示される場合、git-lfs.comから Git LFS をインストールし、git lfs installを実行してアプリを再起動します。

Windows で MCP サーバーが機能しない

MCP サーバートグルが応答しない場合、または Windows でサーバーが接続に失敗する場合、サーバーが設定で正しく設定されていることを確認し、アプリを再起動し、Task Manager でサーバープロセスが実行されていることを確認し、接続エラーについてサーバーログを確認します。

ログイン後に SSH 接続が失敗する

カードのタイトル、またはエラーメッセージの末尾にあるコードをこの表で探し、最後の列の指示に従ってください。メッセージを確認するには、失敗カードで View details を選択します。

カードのタイトル コード 対処方法
<host>'s SSH server has SFTP turned off [SFTP_UNAVAILABLE] リモートマシンの要件で説明されているとおり、サーバーの sshd_config で SFTP をオンにします
SFTP doesn't start on <host> [SFTP_NOT_STARTED] コンピューターのターミナルで sftp を使用して同じホストに接続し、何が起動を妨げているかを確認してから、Desktop のメッセージに示されている設定とファイルを確認します
<host> allows too few SSH sessions per connection [SESSION_LIMIT] サーバーの sshd_config で MaxSessions を引き上げます(例:OpenSSH のデフォルトである 10)
<host> is out of disk space [ENOSPC] または [EDQUOT] リモートマシンのホームディレクトリまたは /tmp で空き容量またはクォータを確保します
This computer is out of disk space [ENOSPC] または [EDQUOT](Couldn't prepare the deploy locally で始まるメッセージ内) コンピューターの空き容量を確保します
Claude Code won't start on <host> [CLI_UNRESPONSIVE] 1 分待ってから、もう一度試してください。失敗が続く場合は、メッセージに示されているコマンドをリモートマシンで実行し、そこで Claude Code が応答するかどうかを確認します。

その他のメッセージについては、リモートマシンの要件を確認してください。

SSH の問題について Desktop のログを取得する

Desktop の SSH 接続の記録である ssh.log は、Help メニューから保存する Desktop のログの zip ファイルに含まれています。保存するには、Help > Troubleshooting を開き、使用しているシステムに対応する項目を選択します:

  • macOS:Show Logs in Finder
  • Windows:Show Logs in File Explorer
  • Linux:Show Logs in File Manager

ファイルには環境内の名前やその他の詳細が含まれる可能性があるため、送信する前に内容を確認してください。<host> と <user> は、Desktop が置き換えた名前を表します。Desktop はすべての名前を置き換えるわけではなく、SSH のホスト名やユーザー名が記述されたまま表示される場合もあります。zip ファイルを誰かに送信する場合は、ログにホスト名が記載されていない可能性があるため、どのホストでいつ失敗したかを伝えてください。

zip ファイルには、Desktop がリモートマシンにインストールするヘルパープログラムのログは含まれていません。そのログも取得するには、接続したユーザーのホームディレクトリにある ~/.claude/remote/run/ 配下のヘルパーのフォルダから remote-server.log をコピーします。このファイルも送信する前に内容を確認してください。

アプリが終了しない

  • macOS:Cmd+Q を押します。アプリが応答しない場合、Cmd+Option+Esc で Force Quit を使用し、Claude を選択して Force Quit をクリックします。
  • Windows:Ctrl+Shift+Esc で Task Manager を使用して Claude プロセスを終了します。

Windows 固有の問題

  • インストール後に PATH が更新されない:新しいターミナルウィンドウを開きます。PATH の更新は新しいターミナルセッションにのみ適用されます。
  • 同時インストールエラー:別のインストールが進行中であるというエラーが表示されるが、実際には進行中でない場合、インストーラーを管理者として実行してみてください。

CLI で開くときに「Branch doesn't exist yet」

クラウドセッションはローカルマシンに存在しないブランチを作成できます。セッション内のブランチ名をクリックして Copy branch name を選択してから、ローカルでフェッチします:

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

まだ立ち往生していますか?

  • デスクトップアプリで Help → Get Support を開くか、Claude サポートセンターに直接アクセスします
  • スタンドアロンclaude CLI でも再現される問題については、GitHub Issuesでバグを検索またはファイルします

問題を報告するときは、デスクトップアプリのバージョン、オペレーティングシステム、正確なエラーメッセージ、および関連ログを含めます。macOS では Console.app を確認します。Windows では Event Viewer → Windows Logs → Application を確認します。ログの抜粋を公開イシューに投稿する前に確認してください。環境からのファイルパスおよび他の詳細が含まれる可能性があります。