macOS 用にダウンロード
Windows 用にダウンロード
Linux 用 Claude を入手(ベータ版)
- diff ビューで変更をレビューしてコメントしてから、CI を通じて結果の PR を監視
- 埋め込みブラウザで実行中のアプリをプレビューし、Claude が独自の変更を検証し、外部サイトを並べて開く
- iOS Simulator ペインで iOS アプリを実行してテストする Claude を監視
- ペインを配置して、チャット、diff、ブラウザ、ターミナル、ファイルエディタを並べて表示
- セッションのコンテキストを使用するサイド質問を尋ねて、セッションを脱線させない
- Claude に他のセッションを確認、メッセージ送信、またはアーカイブさせる
- 外部ツールを接続(GitHub、Slack、Linear など)
- Claude にアプリを開いてスクリーンを制御させる
- マシン上、クラウド上、または SSH 上で実行
セッションを開始する
最初のメッセージを送信する前に、プロンプトボックスの下の行で環境、プロジェクトフォルダ、権限モード、モデルを選択してください:- 環境:行の最初のコントロールである環境セレクタを使用して、Claude が実行される場所を選択します。環境設定を参照してください。
- 新しいセッションでプロンプトボックスの下に環境が表示されない場合は、以前のレイアウトの手順に従ってください。
- プロジェクトフォルダ:環境セレクタの隣にあるプロジェクトフォルダコントロールをクリックして、Claude が作業するフォルダを選択します。
- クラウドセッション:フォルダの代わりにリポジトリを選択します
- 保存済みのローカルまたは SSH 環境:環境がすでにフォルダを保持しているため、行にはプロジェクトフォルダコントロールが表示されません。フォルダを変更するには、環境を編集します。
- 権限モード:モードセレクタを使用して、Claude がどの程度の自律性を持つかを選択します。セッション中に権限モードを変更できます。
- モデル:行の右端寄りにあるモデルピッカーからモデルを選択します。セッション中にモデルを変更できます。
コードの操作
Claude に適切なコンテキストを提供し、それが独立して実行する量を制御し、変更内容を確認します。プロンプトボックスを使用する
Claude に実行させたいことを入力してEnterキーを押して送信します。Claude はプロジェクトファイルを読み取り、権限モードに基づいて変更を加えてコマンドを実行します。いつでも Claude を中断できます:停止ボタンをクリックして即座に中断するか、修正を入力してEnterキーを押して実行中のアクションを停止せずに送信します。Claude は現在のアクションが完了した後に修正を読み取り、次のステップの前に調整します。 プロンプトボックスの横の**+**ボタンをクリックすると、ファイル添付、スキル、コネクタ、およびプラグインにアクセスできます。提案されたプロンプトを受け入れる
Claude が返信した後、Code タブでは、空のプロンプトボックスに次のプロンプトの提案がグレーのテキストで表示されることがあります。Claude Code は、会話をもとに短いバックグラウンドリクエストで各提案を生成します。このリクエストはプランの使用制限または API コストにカウントされます。- 提案を使用する:Tab キーまたは Right arrow キーを押すと提案がプロンプトボックスに配置されます。必要に応じて編集してから、Enter キーを押して送信します。提案を受け入れる前に Enter キーを押しても、提案は送信されません。
- 独自のプロンプトを書く:入力を開始します。提案は、プロンプトボックスが空で、添付ファイルがない場合にのみ表示されます。
ファイルとコンテキストをプロンプトに追加する
Claude にファイルを渡すには、プロンプトボックスでファイルを @mention するか添付します:- @mention ファイル:
@の後にファイル名を入力して、ファイルを会話コンテキストに追加します。- クラウドセッションの場合:
@でファイルを一覧表示できるのは、最初のメッセージを送信した後のみです。@で何も表示されない場合は、ファイルなしで最初のメッセージを送信し、次のメッセージでそのファイルを @mention します。
- クラウドセッションの場合:
- ファイルを添付:プロンプトボックスの横の + ボタンから画像、PDF、およびその他のファイルをプロンプトに添付するか、ファイルをプロンプトに直接ドラッグアンドドロップします。これはバグのスクリーンショット、デザインモックアップ、または参照ドキュメントを共有するのに便利です。
- WSL セッションの場合:+ メニューに Add files or photos ではなく Add image が表示される場合、添付できるのは画像のみです。セッションのフォルダにあるその他のファイルを Claude に渡すには、そのファイルを @mention します。
権限モードを選択する
権限モードは、セッション中に Claude がどの程度の自律性を持つかを制御します:ファイルの編集、コマンドの実行、またはその両方の前に確認するかどうかです。プロンプトボックスの下の行にあるモードセレクタを使用して、いつでも権限モードを切り替えることができます。各変更を自分で承認するには、Manual に切り替えます。 新しいローカルセッションのデフォルトの権限モードを設定するには、設定ファイルにpermissions.defaultMode を追加します。ローカルセッションで選択したモードはフォルダごとに記憶され、プロジェクトの .claude/ 設定にある defaultMode より優先されます。ただし、新しいローカルセッションが ~/.claude/settings.json または管理設定の defaultMode で開始される場合もあるため、最初のメッセージを送信する前にセレクタを確認してください。Plan を選択した場合は、このセッションにのみ適用されます。
dontAsk権限モードはCLIでのみ利用可能です。
クラウドセッションは 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 ペインで開きます。SSH または WSL セッションでは、HTML ファイルをプレビューできます。- Browser ペインで実行中のアプリと直接対話する
- Claude が自動的に独自の変更を検証するのを監視する:スクリーンショットを撮影し、DOM を検査し、要素をクリックし、フォームに入力し、見つけた問題を修正します
- Browser ペインのヘッダーにある Dev servers メニューから、サーバーを開始または停止する、またはすべてのサーバーを一度に停止する
- Browser ペインの ⋮ メニューにある Keep cookies で、アプリを終了した後も Browser がクッキーを保持するかどうかを選択し、開発中に再度サインインする必要がないようにする
.claude/launch.jsonを編集してセットアップに合わせます。完全なリファレンスについては、プレビューサーバーを設定するを参照してください。
Browser の保存データをクリアするには、Browser ペインの ⋮ メニューで Clear browsing data を選択します。Browser を完全にオフにするには、Settings > Code または Settings > Claude Code で Browser tools をオフにします。
SSH および WSL セッションで HTML ファイルをプレビューする
SSH または WSL セッションでは、チャットで HTML ファイルのパスをクリックすると、Browser ペインでそのファイルをプレビューできます。プレビュー内のグラフや表が空のままの場合は、その上に表示される通知で理由を確認できます:This preview doesn't load anything from the web:ファイルに記述されたスクリプトは実行されますが、ライブラリを Web から読み込むグラフは空のままです。通知に Export ボタンがある場合は、それを選択し、保存したファイルをブラウザで開きます。ブラウザでは Web からのコンテンツが読み込まれます。This preview doesn't run scripts or load anything from the web:Claude Desktop v4.23118.0 より前のバージョンでは、これらのプレビューでスクリプトが実行されなかったため、Desktop を更新してファイルを再度開きます。Desktop が最新であっても通知が表示されたままの場合は、Desktop を再起動します。それでも表示される場合は、組織でスクリプトがオフになっている可能性があるため、管理者に問い合わせてください。
組織の SSH および WSL プレビューでスクリプトをオフにする
SSH および WSL セッションでの HTML プレビューでスクリプトが実行されないようにするには、disableRemotePreviewScripts 管理設定を true に設定します。ユーザーは引き続き外部サイトを閲覧できます。Claude Desktop v5.1231.0 以降が必要です。
disableRemotePreviewScripts を無視します。それらのバージョンでスクリプトを停止するには、Desktop を更新するか、disableBrowserExternalNavigation も true に設定します。その場合、disableBrowserExternalNavigation を受け取るすべてのコンピューターで、ユーザーは外部サイトを閲覧できなくなります。policyHelper、または Desktop 独自のポリシーからこれらのキーを読み取りません。サードパーティプロバイダーを使用する場合は、MDM ポリシーまたはファイルを使用します。
その後、設定が確実に適用されるようにユーザーに Desktop を再起動してもらい、次の動作について伝えます:
- ユーザーが開くファイル:プレビューでスクリプトが実行されないため、スクリプトで描画されるグラフや表は空のままになります。通知は
This preview doesn't run scriptsで始まります。 - スクリプトを実行中のプレビュー:再起動前に Desktop が設定を取得した場合、プレビューは閉じます。ユーザーには
This preview closed because scripts are turned off for previews. Open the file again to view it without scripts.と表示されます - ユーザーがエクスポートするファイル:ユーザーがファイルをエクスポートしてブラウザで開いた場合、この設定の有無にかかわらず、そのファイルのスクリプトはブラウザで実行されます
スクリプトがまだ実行されるコンピューターを確認する
再起動後、そのコンピューターで SSH または WSL セッションから HTML ファイルを開きます。プレビューの上の通知がThis preview doesn't load anything from the web で始まる場合、そのコンピューターではまだスクリプトが実行されています。Desktop のバージョン、キーを配置した場所、およびその値が JSON のブール値 true であることを確認してください。
外部サイトを閲覧する
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 サーバーとファイルプレビューは機能し続けますが、SSH および WSL セッションでの HTML プレビューではスクリプトが実行されません。browserExternalPageToolsを使用して、ユーザーが Claude のツールなしで外部サイトの閲覧を続けられるようにし、disableBrowserExternalNavigationを使用して、ユーザーと Claude の両方に対して外部サイトをブロックします。
差分ビューで変更を確認する
Claude がコードに変更を加えた後、差分ビューを使用して、プルリクエストを作成する前にファイルごとに変更を確認できます。差分ビューを開くには、セッション詳細パネルの Changes カードにある+12 -1 などの行数をクリックします。セッションのタイトルバーにある Changes をクリックすることもできます。クラウドセッションのベースブランチに対する差分には、まだプッシュされていない変更が含まれない場合があります。
特定の行にコメントするには、行にカーソルを合わせ、行番号の横に表示される + をクリックしてコメントボックスを開きます。フィードバックを入力してEnterキーを押してコメントを追加します。複数の行にコメントを追加した後、すべてのコメントを一度に送信します:
- macOS:Cmd+Enterを押す
- Windows:Ctrl+Enterを押す
コードを確認する
コミット前に Claude に変更をレビューさせるには、プロンプトボックスに/code-review と入力します。レビューが完了すると、結果が会話に表示されます。
ローカル、SSH、および WSL セッションでは、結果はファイルごとにグループ化された Code review カードとして表示されます。カードを使用して結果に対応します:
- Walk through in diff をクリックすると、差分ビューが開き、結果を 1 つずつ確認できます。現在の差分内の結果は該当する行に表示され、そこで Fix this one をクリックするか、結果を却下できます。
- Apply fixes をクリックすると、まだ未対応の結果を修正するよう 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 をクリックします。
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、diff ビューのChanges、Browser、Filesなど、各ボタンの名前が表示されます。開きたいペインのボタンがタイトルバーにない場合は、ボタンの横にある**⋮**メニューから選択します:- ウィンドウの幅が狭い場合:収まらないボタンはメニューに移動します
- ボタンのないペインの場合:Background tasksやPlanなどのペインは、それらのペインに表示する内容がセッションに生じると一覧に表示されます
セッションの詳細を確認する
セッション詳細パネルは、チャットの横に表示されるカードのセットで、セッションの実行場所、変更内容、実行中の内容、およびコンテキストの使用状況を表示します。このパネルはセッションを開始した後、チャットの幅が十分にある場合に表示されます。セッション詳細パネルを表示または非表示にする
パネルを表示または非表示にするには、セッションのタイトルバー、またはバーの**⋮メニューで、Hide session railまたはShow session rail**をクリックします。それでもパネルが表示されない場合は、使用している Code タブのレイアウトを確認してください。ペインを最小化する
Terminal、Browser、iOS Simulator、またはサイドチャットを小さいサイズで表示したままにするには、ペインのヘッダーにあるMinimizeをクリックします。このボタンを使用するには、Claude Desktop v4.0.0 以降と、サードパーティプロバイダーではなく Claude アカウントが必要です。Browser ペインでは、ローカルセッションでのみこのボタンが表示されます。 最小化されたペインは、セッション詳細パネルが画面に表示されている間はそのパネル内に配置され、それ以外の場合はチャットの隅にフローティング表示されます:- パネル内:最小化されたペインはパネルのカードの下に配置され、移動やサイズ変更はできません。代わりにチャットの上にフローティング表示するには、パネルを非表示にします。
- チャットの隅:最小化されたペインにホバーするとヘッダーが表示されます。ヘッダーをドラッグすると別の隅に移動できます。サイズを変更するには、最小化されたペインのうちチャットの中央に最も近い角をドラッグします。
ターミナルでコマンドを実行する
統合ターミナルを使用すると、別のアプリに切り替えることなく、セッションと並行してコマンドを実行できます。セッションのタイトルバーにある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:ファイルのAbsolute path、Relative path、またはFilenameをコピーするサブメニュー
ビューモードを切り替える
ビューモードは、チャットトランスクリプトに表示される詳細の量を制御します。ビューモードを切り替えるには、セッションタイトルの横のキャレットからセッションメニューを開いてTranscript viewを選択するか、macOS または Windows でCtrl+Oを押してモードをサイクルします。Thinking モードは、表示しているセッションで Claude が思考を生成した後にのみメニューに表示されます。キーボードショートカット
macOS で**Cmd+/を、Windows でCtrl+/**を押して、Code タブで利用可能なすべてのショートカットを表示します。このセクションの表は macOS のキーを示しています。Windows および Linux では、以下のキーを置き換えてください:- Cmd+Option:Altを押す
- Cmd+Ctrl:Ctrl+Altを押す
- Cmd:Ctrlを押す
Ctrlで始まるショートカットは、すべてのプラットフォームで同じです。
Shift+Tabで権限モードをサイクルすることはできません。
使用状況を確認する
このセッションのコンテキストウィンドウがどの程度埋まっているかを確認するには、使用している Code タブのレイアウトを確認します:- 現在のレイアウト:セッション詳細パネルのContextカードのヘッダーにパーセンテージで表示されます。カードを開くと、ウィンドウを使用している内容をカテゴリ別に確認できます。
- 以前のレイアウト:モデルピッカーの横の使用状況リングをクリックします。そのポップオーバーにコンテキストウィンドウの使用状況が表示されます。
/contextと入力すると、このセッションのコンテキストウィンドウのカテゴリ別の内訳がチャットに出力されます。
どちらのレイアウトでも、使用状況リングはプロンプトボックスの下の行にあります。これをクリックするとプランの使用状況が表示されます。プランの使用状況はすべての Claude Code サーフェス全体で共有されます。
Claude にコンピューターを使わせる
コンピューター操作(computer use)を使うと、Claude がユーザーと同じようにアプリを開き、画面を操作し、マシン上で直接作業できます。CLI のないデスクトップツールの操作を Claude に依頼したり、GUI でしか行えない作業を自動化したりできます。iOS アプリの実行とテストについては、Desktop は画面を操作する代わりに専用の iOS Simulator ペインを開きます。このペインはコンピューター操作を有効にしなくても動作します。コンピューター操作が使われる場面
Claude がアプリやサービスとやり取りする方法はいくつかあり、コンピューター操作はその中で最も対象範囲が広く、最も低速な方法です。Claude は最も精密なツールから順に試します。- サービス用のコネクタがある場合、Claude はコネクタを使います。
- タスクがシェルコマンドの場合、Claude は Bash を使います。
- タスクがブラウザでの作業で、Claude in Chrome をセットアップ済みの場合、Claude はそれを使います。
- タスクが iOS アプリの実行やテストの場合、Claude は画面操作を使わない iOS Simulator ペインを使います。
- いずれにも該当しない場合、Claude はコンピューター操作を使います。
コンピューター操作を有効にする
コンピューター操作はデフォルトでオフになっています。オフの状態でコンピューター操作が必要な作業を依頼すると、設定でコンピューター操作を有効にすればそのタスクを実行できることを Claude が伝えます。デスクトップアプリを更新する
トグルをオンにする
- Settings メニューに This computer が表示されている場合: This computer > System に移動します
- それ以外の場合: Capabilities に移動します
- Windows: トグルがすぐに有効になり、セットアップは完了です
- macOS: 次のステップに進みます
macOS の権限を付与する
- アクセシビリティ: Claude がクリック、入力、スクロールできるようにします
- 画面収録: Claude が画面の内容を見られるようにします
アプリの権限
Claude が初めてアプリを使う必要があるとき、セッション内にプロンプトが表示されます。Allow for this session または Deny をクリックします。承認は現在のセッションの間、または Dispatch から起動されたセッションでは 30 分間有効です。 プロンプトには、そのアプリに対して Claude が得る操作のレベルも表示されます。これらのレベルはアプリのカテゴリによって固定されており、変更できません。- 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 で Option を、Windows で Alt を押しながらサイドバーのセッションをクリックするか、セッションを右クリックして Open in、Split view の順に選択します
- 独自のウィンドウで表示:macOS で Cmd を、Windows で Ctrl を押しながらセッションをクリックするか、セッションを右クリックして Open in、New window の順に選択します
セッションを独自の worktree で実行する
Git リポジトリであるプロジェクトでは、セッションを開始する前に Worktree をオンにすると、プロジェクトの分離されたコピーである独自の Git worktree でセッションを実行できます。デフォルトでは Worktree はオフで、Claude はプロジェクトフォルダ自体で作業します。現在のレイアウトでは、プロンプトボックスの下の行で Worktree をオンにします。- サードパーティプロバイダーを使用する場合:プロンプトボックスの下の行にプロジェクトフォルダのコントロールが表示されていて Worktree がない場合は、そのコントロールをクリックして Worktree をオンにします
- 保存済みのローカル環境または SSH 環境のデフォルトとして設定する場合:環境を作成または編集するときに Worktree を設定します
- 以前のレイアウト:プロンプトボックスの上にあるブランチ名の横の worktree チェックボックスを選択します
<project-root>/.claude/worktrees/に保存されます。これはカスタムディレクトリに変更できます:
- ローカルセッション:Settings > Code または Settings > Claude Code で Worktree location を設定します
- SSH セッション:SSH 接続で Worktree folder を設定します
.envなど)を新しい worktrees に含めるには、プロジェクトルートに.worktreeincludeファイルを作成します。worktree セッションがプロジェクト設定、フック、スキルをどこから読み取るかについては、worktree がメインのチェックアウトと共有するものを参照してください。
セッションにフォルダを追加する
フォルダはセッションの開始前または実行中に追加できます:- ローカルセッションの開始前:保存済み環境を作成または編集するときに Folders の下にフォルダを追加し、その保存済み環境からセッションを開始します。
- ローカルまたは SSH セッションの実行中:プロンプトボックスの横の + をクリックし、Add folder を選択します。Claude は worktree を使わず、そのフォルダ自体で作業します。
セッションをアーカイブする
worktree にコミットされていない変更があるセッションをアーカイブする前に、セッションのアーカイブ時にコミットされていない変更を保持するを参照してください。セッションをアーカイブするには、サイドバーでセッションにマウスを合わせてメニューを開き、Archive を選択します。セッションはアーカイブ済みセッションに移動します。 プルリクエストがマージまたはクローズされたときにセッションを自動的にアーカイブするには、Settings > Code または 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 が提案するタスクを開始する
現在のタスクの範囲外で修正する価値があるものに気付くと、Claude はその作業をタスクとして提案します。現在のレイアウトのローカルセッションと SSH セッションでは、提案はチャット内のカードとして表示され、そのボタンでタスクを開始するか、このセッション内で行うかを選べます:- Start:別のセッションでタスクを開始します。デフォルトでは、タスクは現在のセッションの環境で実行されます。その後、カードには開始されたセッションの状態が表示され、サイドバーでは開始されたセッションが現在のセッションの下に表示されます。
- Do it here:タスクをメッセージとして現在のセッションに送信します
- Options:Start をクリックする前に、環境、モデル、worktree、権限などの設定を確認または変更します
- Start all:カードに複数のタスクが表示されている場合、1 つのタスクの完了を待たずに、各タスクをそれぞれ独自のセッションで開始します
長時間実行されるタスクをクラウドで実行する
大規模なリファクタリング、テストスイート、マイグレーション、またはその他の長時間実行されるタスクの場合、セッションを開始するときに環境セレクターの Cloud の下にある環境を選択します。クラウドセッションはデフォルトで Anthropic が管理するインフラストラクチャで実行され、アプリを閉じたりコンピュータをシャットダウンしたりしても続行します。いつでも戻ってきて進捗を確認するか、Claude を別の方向に導くことができます。claude.ai/codeまたはClaude モバイルアプリからクラウドセッションを監視することもできます。 クラウドセッションは複数のリポジトリもサポートしています。リポジトリは次の場所で選択します:- 現在のレイアウト:クラウド環境を選択した後、プロンプトボックスの下の行で選択します。
- 以前のレイアウト:プロンプトボックスの上で選択します。別のリポジトリを追加するには、選択されたリポジトリの横の + をクリックします。
別のサーフェスで続行する
セッションを別の場所で続行するには、セッションタイトルの横のキャレット、またはサイドバーのセッションの行からセッションメニューを開き、Open inを選択します:- Cloudを選択すると、会話を要約として引き継いだうえで、セッションをクラウドセッションとして続行します。確定する前に、ファイルも移動するかどうか、およびクラウドセッションの準備ができた時点でこのセッションがアーカイブされるかどうかがダイアログに表示されます。SSH 経由または WSL で実行されるセッションは、この方法で移動できません。
- インストール済みのエディタまたはファイルマネージャーを選択すると、セッションのディスク上のフォルダをそこで開きます。
他のデバイスに表示するセッションを制御する
ローカルセッションは、Remote Control によって接続されると、他のデバイスに表示されます。接続されたセッションは、claude.ai/code のセッションリストと、claude.ai アカウントにサインインしているデバイス上の Claude アプリに表示されます。 ローカルセッションは、そのセッションで Remote Control をオンにしたとき、または開始時に自動的に接続されるときに接続されます:- そのセッションでオンにする:セッションの Remote Control スイッチを使用するか、プロンプトボックスに
/remote-controlと入力します。 - 開始時に接続される:Settings > Code または Settings > Claude Code で Connect new sessions to Remote Control がオンの間、新しいセッションは自動的に接続されます。ただし、管理設定で
remoteControlAtStartupがfalseの場合を除きます。Connect new sessions to Remote Control を一度も変更していない場合、Desktop はユーザー設定または管理設定のremoteControlAtStartupを使用します。どちらでも設定されていない場合、Desktop は組織のデフォルトを使用し、組織のデフォルトがない場合は Desktop 自体のデフォルトを使用します。
セッションを他のデバイスに表示しないようにする
1 つのセッション、このコンピュータ上のセッション、または管理するコンピュータに対して 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 > Code または Settings > Claude Code で Connect new sessions to Remote Control をオフにします。すでにオフと表示されている場合は、一度オンにしてからオフにすると、Desktop が選択を保存します。保存されると、
remoteControlAtStartupやデフォルトが接続を指定していても、新しいセッションは自動的に接続されなくなります。 - CLI を含む、このコンピュータ上のすべてのセッション:
~/.claude/settings.jsonでdisableRemoteControlをtrueに設定すると、セッションが接続されなくなります。ファイルを保存した時点ですでに接続されていたセッションは、そのセッションで Remote Control をオフにするまで接続されたままです。 - 管理するコンピュータ上の Desktop セッション:コンピュータの最も優先度の高い MDM ポリシーまたは管理設定ファイルで
remoteControlAtStartupをfalseに設定すると、サーバー管理設定でこのキーがtrueであっても、そのコンピュータ上のセッションは自動的に接続されなくなります。この目的にはユーザーレベルのHKCUレジストリ値を使用しないでください。ユーザーは引き続き自分でセッションの Remote Control をオンにできます。これを防ぐには、管理コンソールを使用してください。Claude Desktop v4.4212.0 以降が必要です。
Dispatch からのセッション
Dispatchは、Cowork 内に存在する Claude との永続的な会話です。Dispatch にタスクをメッセージで送信すると、それをどのように処理するかを決定します。 タスクは 2 つの方法で Code セッションになります:「Claude Code セッションを開いてログインバグを修正する」など直接要求するか、Dispatch がタスクが開発作業であると判断して自動的に生成するかです。通常 Code にルーティングされるタスクには、バグの修正、依存関係の更新、テストの実行、またはプルリクエストの作成が含まれます。リサーチ、ドキュメント編集、スプレッドシート作業は Cowork に留まります。Dispatch が開始したセッションを追跡する
Dispatch が開始したセッションは、Code タブのサイドバーに他のセッションと一緒に表示されます。サイドバーのデフォルトのグループ化と並べ替えでは、そのセッションが実行されているフォルダのグループ内で最も新しいセッションを探してください。完了したときまたは承認が必要なときに、電話でプッシュ通知を受け取ります。 コンピュータ使用が有効な場合、Dispatch が生成した Code セッションもそれを使用できます。これらのセッションのアプリ承認は 30 分後に期限切れになり、通常の Code セッションのようにセッション全体を続けるのではなく、再度プロンプトが表示されます。Dispatch をセットアップする
- プラン:Dispatch には Pro、Max、または Ultra プランが必要であり、Team または Enterprise プランでは利用できません
- セットアップ、ペアリング、Dispatch 設定:Dispatch ヘルプ記事を参照してください
Claude Code を拡張する
外部サービスの接続、再利用可能なワークフローの追加、Claude の動作のカスタマイズ、プレビューサーバーの設定を行えます。コネクタ、スキル、プラグインを一か所で管理するには、サイドバーの Customize をクリックします。デスクトップアプリの Cowork は、スキル、プラグイン、コネクタを CLI の~/.claude ディレクトリからではなく、claude.ai アカウントを通じて同期されるこの Customize の設定から取得します。
Claude Code は、同じアカウントでサインインしたターミナルセッションでも、claude.ai アカウントで有効になっているスキルとプラグインを読み込みます。claude.ai から同期されたスキルおよび claude.ai から同期されたプラグインを参照してください。
外部ツールを接続する
コネクタは、グラフィカルなセットアップフローを備えた MCP サーバーです。 Claude アカウントを使用するローカルセッションまたは SSH セッションでコネクタを追加するには、セッションの開始前または開始後に、プロンプトボックスの横にある + をクリックします。Add connectors を選択するとコネクタディレクトリが開きます。メニューに Connectors が表示される場合は、それを選択してから Browse connectors を選択します。- WSL セッションで Connectors がグレーアウトしている場合:ターミナルまたはコネクタが利用できない場合を参照してください
- クラウドセッション:コネクタが Claude Code に届く仕組みを参照してください
スキルを使用する
スキルは Claude ができることを拡張します。Claude は関連する場面でスキルを自動的に読み込みます。また、スキルを直接呼び出すこともできます。プロンプトボックスに/ と入力するか、+ ボタンをクリックして Slash commands を選択すると、利用可能なものを一覧できます。これには、組み込みコマンド、カスタムスキル、コードベースのプロジェクトスキル、インストール済みのプラグインのスキルが含まれます。いずれかを選択すると、入力フィールドにハイライト表示されます。その後にタスクを入力し、通常どおり送信します。
Claude の作業中でも、他のメッセージと同様にコマンドを送信でき、ターンが完了するとセッションはアイドル状態に戻ります。
ローカルセッションは、~/.claude/skills/ から個人用スキルを読み込みます。SSH セッションは、ユーザーのマシンではなく、リモートホストのホームディレクトリにある ~/.claude/skills/ を読み取ります。
ローカルセッションとクラウドセッションは、claude.ai アカウントで有効になっているスキルも読み込みます。ただし、組織が disableSideloadFlags を設定している場合のローカルセッションは除きます。クラウドセッションは、Cowork とクラウドセッションのスキルで説明しているとおり、~/.claude/skills/ の代わりにこれらのスキルを読み込みます。
プラグインをインストールする
プラグインは、スキル、エージェント、フック、MCP サーバー、LSP 設定を Claude Code に追加する再利用可能なパッケージです。ターミナルを使用せずに、デスクトップアプリからプラグインをインストールできます。 ローカルセッションまたは SSH セッションで、プロンプトボックスの横にある + をクリックし、Add plugins を選択するとプラグインブラウザが開きます。メニューに Plugins が表示される場合は、それを選択してから Browse plugins を選択します。プラグインを有効化、無効化、またはアンインストールするには Manage plugins を選択します。 プラグインのスコープは、ユーザーアカウント、特定のプロジェクト、またはローカルのみに設定できます。組織がプラグインを一元管理している場合、それらのプラグインは CLI と同じようにデスクトップセッションでも利用できます。ただし、デスクトップアプリがdisableSideloadFlags により保留するものは除きます。
プラグインブラウザはクラウドセッションでは利用できず、デスクトップアプリからインストールしたプラグインもクラウドセッションでは利用できません。また、セットアップから引き継がれるもので説明しているとおり、クラウドセッションは、リポジトリの .claude/settings.json で宣言されているプラグインもインストールしません。プラグインは WSL セッションでは利用できません。独自のプラグインの作成を含むプラグインの完全なリファレンスについては、プラグインを参照してください。
プレビューサーバーを設定する
Claude は開発サーバーのセットアップを自動的に検出し、セッション開始時に選択したフォルダーのルートにある.claude/launch.json に設定を保存します。プレビューはこのフォルダーを作業ディレクトリとして使用するため、親フォルダーを選択した場合、独自の開発サーバーを持つサブフォルダーは自動的に検出されません。サブフォルダーのサーバーを使用するには、そのフォルダーで直接セッションを開始するか、設定を手動で追加します。
サーバーの起動方法をカスタマイズするには(たとえば npm run dev の代わりに yarn dev を使用する場合やポートを変更する場合など)、.claude/launch.json を編集します。このファイルはコメント付きの JSON をサポートしています。
変更を自動検証する
autoVerify が有効になっている場合、Claude はファイルを編集した後にコードの変更を自動的に検証します。応答を完了する前に、スクリーンショットを撮り、エラーをチェックし、変更が機能することを確認します。
自動検証はデフォルトでオンになっています。プロジェクトごとに無効にするには、.claude/launch.json に "autoVerify": false を追加するか、Browser ペインの ⋮ メニューで Auto-verify changes をオフにします。
設定フィールド
configurations 配列の各エントリは、以下のフィールドを受け付けます。
program と runtimeExecutable の使い分け
パッケージマネージャー経由で開発サーバーを起動するには、runtimeExecutable と runtimeArgs を使用します。たとえば、"runtimeExecutable": "npm" と "runtimeArgs": ["run", "dev"] を組み合わせると npm run dev が実行されます。
node で直接実行したいスタンドアロンのスクリプトがある場合は、program を使用します。たとえば、"program": "server.js" は node server.js を実行します。追加のフラグは args で渡します。
特定の URL でプレビューを開く
デフォルトでは、プレビューはhttp://localhost:<port> を開きます。サーバーに別のアドレスが必要な場合は url を設定します。よくあるケースは、ローカル HTTPS が必要なサーバー、*.localhost サブドメインを使用するアプリ、リダイレクト経由でサインインさせるアプリです。
localhost、任意の *.localhost サブドメイン、127.0.0.1、::1 が含まれます。セキュリティ上の理由から、localhost の url はサーバーのオリジンのみで、パスやクエリを含めることはできません。そのポートはエントリのポートと一致している必要があります。特定のページを表示するには、プレビューが開いた後に Claude にそのページへ移動するよう依頼します。パス、クエリ、または一致しないポートを含む localhost の url は設定エラーとして報告され、その url と修正方法が表示されます。
それ以外のアドレスについては、プレビューがそのアドレスを初めて開くときに、プレビューで新しいサイトを閲覧する場合と同様に、Desktop が権限を求めます。外部アドレスにはパスを含めることができます。Always allow を選択すると、以降そのサイトについてのプロンプトがスキップされます。プレビューで外部サイトを制限する組織のポリシーは引き続き適用されます。
自分ですでに実行しているサーバーをプレビューするには、コマンドを指定せずに url を設定します。Claude はサーバーを起動する代わりに、実行中のサーバーにプレビューを接続します。
url は http または https である必要があり、ユーザー名やパスワードを含めることはできません。
ポートの競合
autoPort フィールドは、希望するポートがすでに使用中の場合の動作を制御します。
true:Claude は空いているポートを自動的に見つけて使用します。ほとんどの開発サーバーに適しています。false:Claude はエラーで失敗します。OAuth コールバックや CORS 許可リストなど、サーバーが特定のポートを使用する必要がある場合に使用します。- 未設定(デフォルト):以下の 1 つのケースを除き、
trueの場合と同様に、サーバーには次の空いているポートが割り当てられます。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
- 複数のサーバー
- Node.js スクリプト
環境設定
セッションを開始するときに選択する環境は、Claude が実行される場所と接続方法を決定します:- Local:マシンで実行され、ファイルに直接アクセスできます
- Cloud:デフォルトで Anthropic が管理するインフラストラクチャで実行されます。アプリを閉じても、セッションは続行されます。
- SSH:SSH 経由で接続するリモートマシンで実行されます。たとえば、独自のサーバー、クラウド VM、または dev コンテナなどです。実行中のタスクは Desktop が切断されている間も続行できますが、Claude アカウントの場合はサインインの期限が切れると停止することがあります。
- WSL(Windows):マシン上の WSL 2 ディストリビューション内で実行され、その Linux ツールチェーンとネイティブパスを使用します
保存済み環境を作成する
保存済み環境とは、Claude が実行される場所を記録した環境セレクター内のエントリで、以降のセッションをそこで開始できます。ローカル環境や SSH 環境には、Claude が作業するフォルダーも保持されます。保存済みのローカル環境と SSH 環境は現在のレイアウトの一部であるため、表示されない場合は、使用しているレイアウトと現在のレイアウトを入手する方法を確認してください。New environment ダイアログを開く
環境を保存する
Desktop が自動作成する環境
環境セレクターに自分で作成していないローカル環境や SSH 環境が表示されている場合、それらは Desktop が作成したものです。現在のレイアウトで初めて Code タブを開くと、Desktop は最大 8 つの環境を作成します。これらの環境は、過去 1 か月間に最も多く使用したローカルフォルダーと SSH フォルダーから作成されます。これらは編集または削除できます。保存済み環境を使用、編集、または削除する
環境セレクターで環境のエントリを探します。- セッションを開始する: エントリを選択します。
- 編集または削除する: エントリにカーソルを合わせ、歯車アイコンをクリックします。ローカル環境または SSH 環境を削除するには、Edit environment で Delete environment をクリックします。
- クラウド環境をアーカイブする: 環境をアーカイブするを参照してください。
ローカルセッションの環境変数
ローカルセッションに環境変数を設定するには、保存済みのローカル環境に追加してから、その環境で新しいセッションを開始します。PATH や CLAUDE_CONFIG_DIR などの変数には、それぞれ専用の手順があります。
export で設定した変数が Claude の実行するコマンドで欠落している、または誤っている場合は、Claude が実行するコマンドでエクスポートした変数が欠落している、または誤っているを参照してください。
ローカルセッションの環境変数を設定する
保存済みのローカル環境に変数を追加し、その環境からセッションを開始します。Desktop はAPI_TIMEOUT_MS などの一部の変数を自身で設定するため、それらの変数についてはユーザーの値ではなく Desktop の値がセッションに渡されます。
ローカル環境のフォームを開く
- 保存済みのローカル環境を作成するには: 環境セレクターのメニューの一番下にある New environment を選択し、Local タブを選択します
- 既存の環境を変更するには: 環境セレクターで Local の下にある保存済み環境にカーソルを合わせ、歯車アイコンをクリックして Edit environment を開きます
変数を入力する
KEY=value を入力して、Done を選択します。環境を保存する
~/.claude/settings.json ファイルの env キーに追加します。Desktop がセッションを開始する環境にその変数がすでに存在する場合、Claude Code はその値を無視します。サポートされている変数の一覧については、環境変数を参照してください。
開発サーバーの環境変数を設定する
シークレットをlaunch.json にコミットせずに開発サーバーに渡すには、次のいずれかの場所で設定してから Desktop を再起動します。
- macOS と Linux: シェルプロファイルでエクスポートします
- Windows: ユーザー環境変数またはシステム環境変数に追加します
- 任意のプラットフォーム: ローカル環境エディターを開ける場合は、そこに保存します
~/.claude/settings.json に追加した変数は、開発サーバーには渡されません。
ローカル環境エディターを使用する
ローカル環境エディターを開くには、保存済み環境のエントリではなく、自分のコンピューターのエントリにある歯車アイコンをクリックします。- プロンプトボックスの下にあるセレクター: Local の下の最初にある、自分のコンピューターのエントリにカーソルを合わせます。歯車アイコンが表示されたらクリックします。表示されない場合、エディターは利用できないため、ローカルセッションまたは開発サーバーの変数を別の方法で設定してください。
- プロンプトボックスの上にあるセレクター: Local にカーソルを合わせ、歯車アイコンをクリックします
KEY=value を入力し、Save changes を選択します。ここで保存した変数は、マシン上に暗号化されて保存されます。ローカルセッションにはこれらの変数が渡されますが、API_TIMEOUT_MS など Desktop が自身で設定する変数は除きます。開発サーバーに変数を渡すには、Desktop を再起動します。
Claude が実行するコマンドでエクスポートした変数が見つからない、または値が正しくない
macOS または Linux で Claude が実行するコマンドに、~/.zshrc または ~/.bashrc で export を使って設定した変数が渡されない場合や、誤った値が渡される場合は、次の手順を順番に試してください。
新しいセッションを開始する
Desktop を終了して再度開く
保存済みの変数を確認する
保存済み環境を使用する
PATH、CLAUDE_CONFIG_DIR、API_TIMEOUT_MS などの変数については、代わりに専用の手順に従ってください。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 コンテナ、または特定のハードウェアまたは依存関係を持つサーバーに存在するコードベースで作業するのに便利です。New environment ダイアログを開く
接続を追加する
- Name: この接続のわかりやすいラベル。
- SSH host:
user@hostname、または~/.ssh/configで定義されたホスト。 - SSH port: 空欄の場合はデフォルトで 22 になるか、SSH 設定のポートが使用されます。
- SSH key (optional):
~/.ssh/id_ed25519などの秘密鍵へのパス。SSH 設定または SSH エージェントを使用する場合は空欄のままにします。 - Worktree folder: 新しいセッションが worktree を作成する、
~/worktreesなどのリモートマシン上のフォルダー。リモートマシンのデフォルトを使用する場合は空欄のままにします。
接続でセッションを開始する
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>プロンプトが表示されます。 - サーバーでの
MaxSessions 1:sshd_configでMaxSessions 1が設定されているサーバーに接続するには、次のいずれかを行います。- コンピューターが macOS または Linux の場合: Claude Desktop v3.1623.0 以降に更新します
- コンピューターが Windows の場合: Desktop の組み込み SSH クライアントはそのサーバーに接続できないため、Desktop が OpenSSH クライアント経由で接続するようにします
- サーバーを変更できる場合:
MaxSessionsを、たとえば OpenSSH のデフォルトである 10 に引き上げます
MaxSessions 1でのログイン: SSH エージェントが保持する鍵など、プロンプトなしで機能するログインを使用してください。Desktop は接続または再接続のたびに少なくとも 2 回ログインします。さらに、ターミナルタブごと、および!で始まるコマンドを実行する Desktop セッションごとに、少なくとも 1 回のログインが追加で発生します。Claude が実行するコマンドではログインは発生しません。MaxSessions 1でのワンタイムコード: ワンタイムコードのようにログインのたびにプロンプトが表示される場合、!コマンドは失敗します。代わりに、それらのコマンドはターミナルタブで実行してください。ターミナルタブでは、独自のペインでプロンプトが表示されます。- インストールフォルダ:Desktop は、ホームディレクトリの
~/.claude/remote/の下にヘルパープログラムと Claude Code をインストールします。そこからそれらを実行するため、そのフォルダをnoexecでマウントされたファイルシステム上に置くことはできません。接続する各ユーザーのホームディレクトリに約 1 GB のディスク容量を確保してください。そのフォルダに含まれる内容については、リモートマシン上のファイルとプロセスを参照してください。 - シェル:リモートマシン上のアカウントに設定されているシェルは、Bash、Zsh、
shと同様に、SSH 経由で送信されたコマンドを実行できる必要があります - ネットワーク: Claude Code はリモートマシン上で実行され、そこからネットワークリクエストを送信するため、マシンには Claude Code が必要とするネットワークアクセスが必要です。マシンが Claude Code をダウンロードできない場合、Desktop が自分のコンピューターでダウンロードしてアップロードします。Claude Code のその他のリクエストは引き続きリモートマシンから送信されます。Linux のリモートマシンでプロキシや CA 証明書が必要な場合は、SSH セッション用に設定してください。
リモートマシンのホスト鍵を確認する
ホスト鍵とは、リモートマシンが自分がどのマシンであるかを証明するために提示する鍵で、フィンガープリントはその鍵を短くした形です。鍵を信頼すると、コンピューターはその鍵を保存し、以降はその鍵を提示する相手に確認なしで接続します。何かが接続を傍受している可能性があるため、信頼する前に鍵を確認してください。 まず、フィンガープリントが表示された場所から、その鍵がどのマシンのものかを特定します。- Desktop が
Connect to <host> for the first time?と尋ねた場合、または Review new key を選択した場合: Desktop が示すマシン<host> - Desktop が
Connect through <jump host> for the first time?と尋ねた場合: 踏み台ホスト。これは接続が経由するマシンで、接続先のマシンではありません - ターミナルで
sshが尋ねるか警告した場合: メッセージに示されたマシン。入力したマシンとは異なる場合があります
- 他の人がマシンを管理している場合: ホスト鍵のフィンガープリントを問い合わせます
- 自分が管理していて、Linux または macOS を実行している場合: マシンのコンソールで、またはすでに信頼している接続経由で、
ssh-keygen -lf /etc/ssh/ssh_host_<type>_key.pubを実行します。<type>には、Desktop またはsshがフィンガープリントの横に表示する鍵の種類を小文字で指定します。たとえばED25519やssh-ed25519ならed25519です。
- 一致する場合: 鍵を信頼します。Desktop では Trust and connect または Trust new key を選択し、ターミナルでは
yesと答えます。 - 一致しない、または確認できない場合: 接続しないでください。Desktop では Cancel を選択し、ターミナルでは
noと答えます。他の人がマシンを管理している場合は、表示されたフィンガープリントを伝えてください。
SSH セッションのプロキシまたは CA 証明書を設定する
Linux のリモートマシンがプロキシ経由でインターネットに接続する場合、または CA 証明書が必要な場合は、そのマシン上の~/.claude/settings.json の env にプロキシと CA の変数を追加してください。そのマシンの ~/.profile、~/.bash_profile、~/.zprofile、または ~/.zshrc ですでにエクスポートしている場合でも追加してください。
SSH セッションでは、そのマシンのターミナルで実行する claude には変数が渡される場合でも、Claude Code にはこれらのファイルの変数が渡されません。その結果、セッションがハングしたり、The connection from … to the API failed、Authentication failed、Claude Code on … couldn’t verify the API connection’s certificate と表示されたりすることがあります。再度サインインしても解決しません。
変数を追加する
NODE_EXTRA_CA_CERTS を使用してください。Claude Code は ~/.claude/settings.json の SSL_CERT_FILE に指定された CA を信頼しないためです。次の例では、プロキシと CA ファイルを設定します:メッセージを再送信する
リモートマシンの別の場所で設定されたプロキシまたは CA の変数を見つける
Linux のリモートマシンがプロキシまたは CA の変数を別の場所で設定していないか確認してください。セッションはその値を使用し、どの設定ファイルの値も無視するためです:リモートマシンが設定する変数を一覧表示する
ssh devbox env を実行します。変数が設定されている場所で変更する
~/.zshenv、/etc/environment、~/.bashrc など、その変数を設定しているファイルで変更します。セッションに新しい値を渡す
SSH 設定を使用する
Desktop が自分のコンピューター上の OpenSSH クライアント経由で接続する場合、macOS、Linux、Windows で SSH 設定を使用できます。-
macOS と Linux: Desktop は自分のコンピューター上で OpenSSH クライアントを実行して接続するため、
~/.ssh/configを使用します。OpenSSH クライアント経由で接続するには、Claude Desktop v1.37937.0 以降が必要です。 -
Windows: Desktop が OpenSSH クライアント経由で接続する場合、
%USERPROFILE%\.ssh\configを使用します。サードパーティプロバイダーではなく Claude アカウントを使用している場合、OpenSSH クライアント経由で接続するには、次のすべてが必要です。- Claude Desktop v2.2553.0 以降。バージョンを確認するには、バージョンを確認するを参照してください。
- Microsoft の OpenSSH 9.4 以降
- このページ上部のダウンロードボタンでインストールした Desktop。Microsoft Store 版の Desktop は OpenSSH クライアント経由で接続しないためです
Host 名を入力します。Desktop は、その Host エントリの HostName、User、IdentityFile、CertificateFile、ProxyJump、ProxyCommand などの設定を使用します。
接続を追加する前に、コンピューターのターミナルでクライアントとエントリを確認してください:
- macOS と Linux でのクライアントのバージョン:
ssh -Vを実行します。クライアントは OpenSSH 7.6 以降である必要があります。 - Windows でのクライアントのバージョン: Desktop は最初に
PATH上のsshを試すため、ssh -Vを実行します。出力にOpenSSH_for_Windows_と 9.4 以降が表示されれば、そのクライアントは要件を満たしています。満たしていない場合は、Desktop が次に試す 2 つのフォルダーを確認します。C:\Windows\System32\OpenSSHで.\ssh.exe -Vを実行し、次にC:\Program Files\OpenSSHで実行します。 - Windows で要件を満たすクライアントがない場合: Windows で OpenSSH Client オプション機能を追加して保留中の Windows 更新プログラムをインストールするか、Microsoft の新しいビルドをインストールします。その後、Desktop を終了して再度開きます。Desktop が使用可能な OpenSSH クライアントを見つけたかどうかを確認するには、
ssh.logでWindows OpenSSH client:とバージョン、またはno usable Windows OpenSSH clientを探します。 - エントリ: Windows では、バージョンチェックで要件を満たしたクライアントを使用します。
ssh devboxのように、Host名を指定してsshを実行します。失敗する場合は、先にエントリを修正してください。
- SSH port:ここに入力した値は、エントリの
Portを上書きします - SSH key (optional): OpenSSH クライアントでは、Desktop はエントリの
IdentityFileと SSH エージェント内の鍵に加えて、ここで選択した鍵ファイルを提示します。Windows では、sshは PuTTY の.ppkファイルを読み込まないため、OpenSSH 形式の鍵を選択してください。
OpenSSH クライアントを使用せずに Windows で接続する
Windows では、コンピューターが OpenSSH クライアントの要件を満たしていない場合、Desktop の組み込み SSH クライアント経由で接続します。サードパーティプロバイダーの場合、どのクライアント経由で接続するかは、Desktop のバージョンと管理者の設定にも依存します。SSH remote sessions in Claude Desktop on 3P を参照してください。 組み込みクライアントでも、PATH に ssh コマンドがあれば、SSH host フィールドに SSH 設定の Host 名を入力できます。ただし、次の制限があります。
- エントリの設定: Desktop は
HostName、User、Port、IdentityFile、ConnectTimeoutを使用します。PATHにshシェルがある場合はProxyCommandも使用します。 - SSH key (optional): ここで選択した鍵ファイルは
IdentityFileを置き換えるため、エントリのIdentityFileを使い続けるにはこのフィールドを空欄のままにします CertificateFileとProxyJump: Desktop はCertificateFileを無視し、エントリでProxyJumpが設定されていると接続は失敗します。いずれかの設定を使用するには、OpenSSH クライアント経由で接続してください。
ジャンプホストの背後にあるマシンに接続する
ジャンプホスト(踏み台、バスティオンとも呼ばれます)の背後にあるマシンに接続するには、エントリでProxyJump または ProxyCommand を設定します。次のエントリは、bastion.example.com を経由して devbox.internal.example.com に接続します:
devbox と入力します。
管理者が SSH ホストを制限している場合は、ジャンプホストもリストに含まれている必要があります。コンピューターのターミナルで ssh -G bastion.example.com を実行し、出力される hostname を許可するよう管理者に依頼してください。
リモートマシン上のコンテナに接続する
SSH ポートを公開していないコンテナ内でセッションを実行するには、ProxyCommand を使用してコンテナに接続してください。Desktop は接続先エントリの RemoteCommand を実行しないためです。エントリで RemoteCommand を使用してコンテナに入っている場合、セッションはコンテナ内ではなく、エントリがログインするマシン上で実行されます。
エントリを追加する
~/.ssh/config の末尾、または最初の Host * エントリがある場合はその直前に、次のエントリを追加します。Docker コンテナ devbox、そのユーザー dev、マシン build.example.com を自分のものに置き換えてください。エントリのコマンドは、接続ごとにコンテナ内で SSH サーバーを起動します。コンテナを準備する
- OpenSSH サーバーをインストールし、イメージを再ビルドしたりコンテナを再作成したりしても変わらないホスト鍵を用意します
Userで指定したアカウントに、authorized_keysファイルなどのログイン手段を用意します- コンテナがリモートマシンの要件を満たしていることを確認します
許可リストを確認する
ssh -G devbox-container を実行します。出力される hostname(ここでは devbox-container)を sshHostAllowlist で許可するよう管理者に依頼してください。管理者がその名前を許可すると、エントリの ProxyCommand が接続する先はどこであっても許可されることになります。エントリをテストしてから接続する
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を追加します。
devbox-container と入力します。ProxyCommand でシェルの変数を使用する
macOS と Linux で、ProxyCommand または Match exec コマンドで独自の環境変数を使用するには、~/.zshrc などのシェル起動ファイルでエクスポートします。その後、Desktop を終了して再度開きます。Desktop は起動時にログインシェルがエクスポートする内容を読み込み、終了するまでその値を保持します。
これには Claude Desktop v2.37337.0 以降と、-0 を受け付ける env コマンドが必要です。これはコンピューターのターミナルで env -0 を実行して確認できます。
AWS_* 変数をエクスポートする代わりに、AWS CLI にプロファイルを指定してください。macOS と Linux で 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 から読み取るプロファイルを指定します:
リージョンと認証情報の取得元を持つプロファイルを追加する
corp という名前のプロファイルを追加します:region:接続先マシンの AWS リージョンを指定しますcredential_process:AWS がドキュメントで定めている JSON 形式で認証情報を出力するプログラムのフルパスを指定します。AWS CLI は、不在中の再接続を含め、接続のたびにこのプログラムを実行するため、ユーザーの入力を必要としないプログラムを選んでください。- IAM Identity Center:
credential_processの代わりに、プロファイルの IAM Identity Center 設定を追加します。接続する前と、そのサインインの期限が切れたときに、ターミナルでaws sso login --profile corpを実行します。
ProxyCommand でプロファイルを指定する
--profile を追加します:再度接続する
ssh を実行し、エントリがそこで引き続き接続できることを確認してから、Desktop から接続します。SSH 接続のタイムアウトを延長する
ジャンプホストまたはProxyCommand 経由での接続中にセッションがタイムアウトする場合は、~/.ssh/config のリモートマシンのエントリで ConnectTimeout を引き上げます。90 秒より長い値を使用してください。ログインプロンプトや電話へのプッシュ通知など、ジャンプホストまたは ProxyCommand がユーザーを待つ時間も加算します。
ssh はホストに対して最初に見つかった値を使用するため、このエントリは ConnectTimeout を設定する Host * エントリよりも上に配置してください。確認するには、コンピューターのターミナルで ssh -G devbox を実行します。その出力には connecttimeout 120 が含まれます。値を変更した後は、Desktop を終了して再度開いてください。
SSH 設定でホストに ConnectTimeout が設定されていない場合、Desktop は ssh に接続のための 30 秒を与えます。ジャンプホストまたは ProxyCommand 経由の場合、その時間には経路の接続にかかる時間も含まれます。
ConnectTimeout にかかわらず、45 秒以内に承認してください。Desktop が ServerAliveInterval と ServerAliveCountMax を自身で設定しており、リモートマシンがその時間何も送信しないログインを ssh が閉じるため、この制限は引き上げられません。
Desktop だけが適用する Match host ブロックを修正する
ターミナルの ssh devbox では使用されない設定を Desktop が使用する場合は、エントリの HostName 行より上にある Match host ブロックを探してください。ターミナルでは、ssh はその位置のブロックを HostName 行より前に読み取るため、ブロックを devbox と比較します。Desktop はコマンドラインで ssh に HostName の値を渡すため、ssh はブロックをその値と比較します。
確認するには、Desktop と同様に、エントリの HostName と User の値をコマンドラインで指定して、コンピューターのターミナルで ssh -G を実行します:
ssh -G devbox の出力と比較します。proxycommand などのブロックの設定が最初の出力にのみ表示される場合、そのブロックは Desktop でのみ有効になります。Desktop でもスキップされるようにするには、その Match 行に !originalhost devbox を追加します:
Desktop がオフにする転送設定
リモートマシンへの接続では、SSH 設定でオンになっている場合でも、Desktop はForwardAgent、ForwardX11、LocalForward、RemoteForward、DynamicForward、Tunnel をオフのままにします。ターミナルや ! コマンドでは、Desktop がそれらの設定に従う別の ssh を起動することがあるため、転送設定は一部の場合にのみ適用されると考えてください。
- リモートマシン上のポートに接続するには:自分で転送します
- リモートマシンから自分の鍵を使用するには:
git push用など、リモートマシン自体に認証情報を設定します
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 を実行します:
-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 以降が必要です。- スリープまたはネットワーク切断の後:プロセスがまだ実行されており、Desktop がプロンプトなしでログインできる場合、実行中のタスクに戻れます。ログインできない場合は、メッセージを送信してください。
- 終了の後: タスクは実行を続けますが、Desktop がそのプロセスに再参加できない限り、セッションを再度開いたときにタスクは失われます。終了する前に Desktop が再参加できる場合を確認してください。タスクが失われた場合は、メッセージを送信して続行します。
- サインインページ: サインインします。タスクが停止していた場合は、メッセージを送信して続行します。Enterprise プランでは、組織が、アクティブかどうかにかかわらずサインインから一定日数後にサインアウトさせる設定にしている場合があります。Claude アカウントの場合、サインアウト中は Desktop がタスクのサインインを更新しないため、タスクが停止することがあります。
- Desktop が再接続できない:セッションにその理由が表示され、通知でも知らされることがあります。Desktop はログインを必要とする場合があります。
- 認証エラー:サインイントークンまたは認証情報の期限が切れている可能性があります。Claude アカウントの場合は、メッセージを送信して続行します。サードパーティプロバイダーの場合は、SSH remote sessions in Claude Desktop on 3P を参照してください。
- 待機中のリクエスト:それに応答します
- いずれにも該当しない:メッセージを送信して続行します
長いタスクを準備する
- 先に更新する: 長時間のタスクを開始する前に Desktop を更新してください。macOS と Windows では、Desktop はダウンロード済みの更新をインストールするために自動的に再起動することがあります。この再起動は、Claude が SSH タスクで作業している間は待機します。デフォルトでは、更新が 72 時間待機した後、Desktop がその後タスクに再接続できる場合は、タスク中でも再起動が実行されることがあります。
- 終了する前に確認する: 終了や再起動の後、たとえば一部の Desktop の更新後などには、実行中のタスクに必ず戻れるとは限りません。該当するケースについては、Desktop を終了した後にセッションを再度開くを参照してください。
- 古いバージョンでは Desktop を開いたままにする: Windows で v3.1623.0 より前の Claude Desktop を使用している場合、Desktop が終了または再起動すると、実行中のタスクに戻れません。macOS または Linux で 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 プロセスを終了します。それまでに接続してください。
- 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 での編集が引き続き機能する場合
worktree での編集が引き続き機能する場合
- 組み込み SSH クライアント: Microsoft Store 版のインストールや、Microsoft の OpenSSH 9.4 以降がない Windows コンピューターなどで、Desktop が組み込み SSH クライアントを使用している場合
- リポジトリの場所:リポジトリがホームディレクトリ、その上位のフォルダ、または
~/.claudeである - macOS のパス:macOS のリモートマシンで、リポジトリが
/Volumesの下にある、またはリポジトリもしくは worktree のパス内のフォルダ名に~または非 ASCII 文字が含まれている - フォルダの制限:組織がセッションで使用できるフォルダを制限している
- 企業ランチャー:Claude Desktop v2.37337.0 より前で、Claude アカウントでサインインしており、組織が企業ランチャーを介してリモートマシンで Claude Code を起動している
不在中に届いたリクエストに対応する
Desktop が切断されている間に Claude が承認を必要とするか質問をした場合、Claude はリモートマシン上で待機します。この待機自体には時間制限はありません。Desktop がプロセスに再参加すると、リクエストが表示されます。Desktop が代わりに新しいプロセスを開始した場合、リクエストは失われます。 戻ったときに待機していたリクエストがなくなっている場合、原因の 1 つとして、アップデートのインストールなどのために Desktop が自動的に再起動したことが考えられます。再起動後もリクエストが保持されるのは Desktop がプロセスに再参加できる場合のみであるため、タスクを実行したままにする前に Desktop が再参加できる場合を確認してください。 リクエストが失われた場合は、メッセージを送信して続行してください。 タスクがユーザーを待つために停止する頻度を減らし、不在中にタスクからの知らせを受け取るには、離れる前に次のいずれかを設定してください:- auto モード:利用可能な場合は auto モードを選択します。ブロックが繰り返されると、再度確認が求められます。
- 許可ルール:リモートマシン上のユーザー設定ファイル
~/.claude/settings.jsonに、タスクに必要なコマンドの許可ルールを追加します。組織が管理設定からの権限ルールのみを受け入れる場合は、リモートマシンに適用される管理設定にそれらを追加するよう管理者に依頼してください。プロジェクトの.claude/settings.jsonの許可ルールについては、プロジェクトの許可ルールとワークスペースの信頼を参照してください。 - 応答するフック:リモートマシン上の
~/.claude/settings.jsonにPermissionRequestフックを設定し、ユーザーに代わってリクエストを許可または拒否します - 通知するフック:同じファイルに
permission_promptmatcher を使用したNotificationフックを設定し、リクエストが待機しているときに自分宛てにメッセージを送信します - Claude の完了を知らせるフック:同じファイルに
Stopフックを設定し、Claude が応答を終えたときに自分宛てにメッセージを送信します。API エラーによってターンが終了した場合は実行されません。その場合は、StopFailureフックを設定してください。
スリープまたはネットワーク切断の後に再接続する
戻ったときに Desktop が再接続していない場合は、セッションでメッセージを送信してください。Desktop が自動的に再接続するのは、SSH エージェントが保持する鍵などを使用して、プロンプトなしでログインできる場合のみです。- 記憶されたパスワード:Desktop に記憶させたパスワードもプロンプトなしで機能しますが、長期間不在にする場合は SSH エージェントが保持する鍵を使用することをお勧めします。そのパスワードでのサインインが途中で切れたり応答しなくなったりする場合、Desktop は再接続を停止してユーザーを待つことがあります。
- その他のプロンプト:リモートマシンがワンタイムコードなど、その他の入力を求める場合、コンピューターに通知が届くことがあります。通知をクリックするか、セッションでメッセージを送信すると、Desktop にプロンプトが表示されます。
ジャンプホストがサインインを求める場合、切断が長時間に及ぶ場合、メッセージが送信されない場合、出力が欠落している場合、またはプロセスがなくなっている場合
ジャンプホストがサインインを求める場合、切断が長時間に及ぶ場合、メッセージが送信されない場合、出力が欠落している場合、またはプロセスがなくなっている場合
- ジャンプホスト、不在中にプッシュ通知が止まる:これは、ジャンプホストのサインイン(スマートフォンへのプッシュ通知など)に誰も応答しない場合に、macOS または Linux の Desktop で発生することがあります。その場合、Desktop はコンピューターの前に誰もいない間は再接続を停止します。コンピューターのロックを解除するか使用すると、Desktop が再試行できるため、別のプッシュ通知が届くことがあります。応答のない試行が 3 回続くと、ユーザーが再試行するかメッセージを送信するまで待機します。
- ジャンプホスト、プッシュ通知が届き続ける:Windows の Desktop のように、Desktop が誰も応答していないことを判別できない場合、再参加するプロセスがある間は、そのプロセスがまだ実行中かどうかにかかわらず試行を続けます。試行のたびに別のプッシュ通知が届くことがあります。試行を終了するには Desktop を終了しますが、その場合は実行中のタスクが失われる可能性があります。
- 長時間の切断: Desktop は約 5 分に 1 回の試行まで頻度を下げます。より早く再接続するには、セッションで再試行するかメッセージを送信します。Desktop は接続するとすぐにメッセージの配信を試みます。
- メッセージが送信されない: メッセージの下に
Your organization's settings haven't loaded, so your message to <host> wasn't sent. Retry to send it.という行が表示される場合、Desktop は再接続しましたが、組織の設定がまだ読み込まれていなかったためメッセージを保留したことを意味します。Retry を選択すると、今すぐメッセージを送信します。何もしない場合、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 で、v3.1623.0 より前のバージョンで開始したタスク: その後 Desktop が更新されていても、タスクには戻れません。Desktop の起動時にセッションが開くことがあり、セッションが開くとタスクは停止するため、タスクが完了していると予想される時点になってから Desktop を再度起動してください。どのバージョンでタスクを開始したかわからない場合も、タスクが完了していると予想される時点まで待ってください。
- macOS または Linux のサードパーティプロバイダーで、v2.42304.0 より前のバージョンで開始したタスク: タスクには戻れません。タスクが完了していると予想される時点になってから Desktop を再度起動してください。
- その他のタスク: Desktop を起動してセッションを開くと、Desktop が再接続できればタスクは続行されます。一部の Desktop の更新後など、常に再接続できるとは限らないため、長時間のタスクの前に更新してください。
Restarting Claude Code on <host>… が表示されることがあります。また、待機していた承認や質問も失われます。Claude が自動的に続行しない場合はメッセージを送信してください。Claude は会話の保存済み履歴から続行します。
サードパーティのデプロイについては、SSH remote sessions in Claude Desktop on 3P を参照してください。
SSH セッションの worktree の作成場所を選択する
組織がセッションで使用できるフォルダーを制限していない限り、新しい SSH セッションは、次の場所のうち設定されている最初の場所に worktree を作成します。- SSH 接続の Worktree folder
- リモートマシン上の
~/.claude/settings.jsonにあるworktree.location - デフォルトの
<project-root>/.claude/worktrees/
~/worktrees を設定した場合、worktree のパスは ~/worktrees/<project>-<id>/<worktree-name> になります。設定したフォルダがプロジェクト内にある場合、Desktop はそのプロジェクトではそのフォルダを無視し、デフォルトを使用します。Windows リモートマシンでは、Desktop は常にデフォルトを使用します。
既存の接続で worktree フォルダーを設定する
以前に追加した接続、または組織が管理する接続の設定で Worktree folder を設定します。このフィールドには Claude Desktop v1.44121.0 以降が必要です。組織がセッションで使用できるフォルダーを制限している場合、Desktop はこのフィールドを非表示にし、worktree をプロジェクト内に保持します。接続を見つける
接続の設定を開く
フォルダーを設定する
~/worktrees などのリモートマシン上のフォルダーを入力し、Save changes を選択します。リモートマシン上のファイルとプロセス
Desktop は、Linux または macOS のリモートマシンに接続する各ユーザーのホームディレクトリの~/.claude/remote/ の下に、ヘルパープログラムと Claude Code をインストールします。ヘルパーはどのネットワークポートもリッスンしませんが、Claude Code と、MCP サーバーや開発サーバーなど Claude Code が起動するプログラムはリッスンすることがあります。
pgrep -fl "$HOME/.claude/remote/" を実行するか、$HOME の代わりにそのユーザーのホームディレクトリを指定して実行します:
- ヘルパー:接続するコンピューターごとに 1 つ以上の
serverプロセス - Claude Code:ヘルパーがユーザーのセッションのために起動するプロセス。それぞれ
2.1.295-…のように、バージョンにちなんだ名前のファイルから起動されます
~/.claude/remote/run/ の下にあるヘルパーのフォルダ内の Unix ソケット rpc.sock を経由してヘルパーに到達します。ソケットのモードは 600、そのフォルダのモードは 700 であるため、root を除き、マシン上の他のユーザーはそのソケットに接続できません。
ヘルパーが自動的に停止する場合については、Desktop の切断中の制限を参照してください。
1 人のユーザーのヘルパーと Claude Code を削除するには:
Desktop を終了する
プロセスを終了する
pgrep が一覧表示する各 Claude Code プロセスの ID を指定して kill を実行します。それらが一覧から消えたら、各 server プロセスの ID を指定して kill を実行します。先に server プロセスを終了すると、Claude Code が実行中のコマンドが実行を続けることがあります。次に、ps -u "$(id -un)" -f などでユーザーの残りのプロセスを一覧表示し、Claude Code が起動したと分かるものを終了します。Claude Code がバックグラウンドに残したプログラムは、pgrep の一覧に含まれないまま、Claude Code の終了後も実行を続けることがあります。フォルダを削除する
~/.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 が接続するたびに記録されます。 サーバーがMaxSessions 1 を設定している場合、Desktop が接続または再接続するたびに少なくとも 2 つのエントリが記録されます。さらに、ターミナルタブごと、および ! で始まるコマンドを実行する Desktop セッションごとに、少なくとも 1 つずつ追加されます。
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 が接続を閉じる前にサーバーのグリーティングが届いた場合は、代わりに最後の列の行が表示されることがあります。
sshd_config で LogLevel VERBOSE を設定し、root として sshd -T | grep -i loglevel を実行します。loglevel VERBOSE と出力された場合は、SSH サーバーをリロードします。その後、テストの行の前にある Connection from 203.0.113.7 port 51234 を含む行を探してください。
SSH サーバー自体がアドレスを拒否しているかどうかを確認する
Desktop を使用する多数のコンピューターが共有するアドレスからの接続が拒否される場合は、SSH サーバーのログで次のように終わる行を探してください。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 を実行します。
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 を指定し、プロンプトを入力します:
ssh_host のみです:
~/.ssh/config のエイリアスは、そのエントリを持っているユーザーに対してのみ ssh_host として機能します。ユーザーがすでに持っている接続と一致させるには、その接続と同じユーザー、ホスト、ポートをリンクに指定します。
リンクを開くと、Desktop は接続を選択する前に確認を求めます:
- 既存の接続:ホスト、ユーザー、ポートが既存の接続のいずれかと一致する場合、Desktop はその接続を使用するかどうかを確認し、接続の名前とホスト、およびリンクでフォルダが指定されている場合はそのフォルダを表示します。
- 新しい接続:それ以外の場合、Desktop は SSH 接続を追加するダイアログを開きます。接続を追加すると、Desktop は何かを保存する前に接続するかどうかを確認し、リンクのホスト、およびリンクでポートとフォルダが指定されている場合はそれらを表示します。
- 確認する前に:ホストとフォルダを確認します。
- 送信する前に:プロンプトと選択されている環境を確認します。
/ や !、@ によるファイルメンションは、コマンドやメンションとして機能しません。キャンセルした場合、プロンプトはボックスに残り、選択していた環境は変更されません。
リンクによって sshHostAllowlist を回避することはできません。Desktop は接続時に許可リストを確認します。
リンクを開いても接続に関するダイアログが表示されずに Desktop が開く場合は、次のいずれかの原因を確認してください:
- サインアウトしている:サインインしてから、もう一度リンクを開きます。
- 別のダイアログが開いている:そのダイアログを閉じてから、もう一度リンクを開きます。
- リンクが無効である:Desktop は修正すべき点を示すメッセージを表示し、プロンプトは入力しません。
- Desktop が v2.110.0 より古い:以前のバージョンは SSH パラメータを無視し、プロンプトのみを入力した状態で新規セッションページを開きます。
- SSH セッションがオフになっている:管理者が許可リストを空の配列に設定している場合、Desktop は SSH リンクを拒否します。
コマンドから SSH 接続を作成する
コマンドラインツールでリモートマシンをオンデマンドで作成している場合は、そのコマンドを~/.claude/settings.json の sshHostCommands に追加します。すると環境セレクターに、Create Dev box のようにエントリー名を含む項目が表示されます。それを選択すると、Desktop はコンピューター上でコマンドを実行し、コマンドが出力したホストを SSH 接続として保存して接続します。
acme-dev create は独自のツールを表し、~/project はコマンドが作成した各マシンで Desktop が選択するフォルダーです。
acme-dev のような名前のみの指定は機能しないため、プログラムのフルパスでコマンドを始めてください。
各エントリーは次のフィールドを受け付けます。id、name、command は必須です。
コマンドを記述する
Windows では、まず Windows でコマンドを記述するを参照してください。そこでは、以下のルールのうちどれが Windows に適用されるかを説明しています。 macOS と Linux では、Desktop はシェルもターミナルも使わずに、プログラムを直接起動します。- プログラム: 名前、または
/から始まるフルパスを記述します。Desktop は名前のみの指定を、ログインシェルがエクスポートするPATH上で探します。./acme-devのような相対パス、~で始まるパス、シェルのエイリアスや関数は機能しません。 - パス内のスペース:
'/Users/you/My Tools/make-devbox' createのように、プログラムのフルパスを単一引用符で囲みます。引用符(単一引用符または二重引用符)には Claude Desktop v4.16336.0 以降が必要で、プログラムのパスを囲む場合にのみ機能します。 - 引数: 引数はスペースで区切ります。引用符の外では、コマンドに含められるのはスペース、ASCII 英字、数字、および文字
+,-./:=@_~のみで、どの単語も~で始めることはできません。引用符で囲んだパスには、(、)、&など、他のいくつかの文字も含められます。 - スクリプト: 引用符で囲んだ引数、パイプ、変数、
?や&を含む URL など、それ以外のものがコマンドに必要な場合は、スクリプトに記述します。スクリプトを実行可能にし、#!行で始め、commandに/Users/you/bin/make-devboxのようなフルパスを設定します。macOS では、macOS がブロックする可能性があるため、スクリプトを書類、デスクトップ、ダウンロードフォルダーに置かないでください。 - 入力: プログラムには入力もターミナルも与えられないため、そこでユーザーに入力を求めることはできません。ツールがブラウザーやプロンプトを通じてサインインする場合は、事前にターミナルからサインインし、そのサインインが期限切れになるたびに再度サインインしてください。
- 環境: プログラムはホームディレクトリで、ログインシェルがエクスポートする変数を使って実行されます。Desktop は
ProxyCommandの場合と同様に起動時にこれらの変数を読み込むため、変数を変更した後は Desktop を終了して再度開いてください。 - 制限時間: Desktop は 10 分経過してもまだ実行中のプログラムを停止します。Desktop の進行状況メッセージにはプログラムの出力は表示されません。プログラムをより早く停止するには、そのメッセージの横にある Cancel を選択します。
- 1 行:
hostまたはuser@host。SSH リンクのssh_hostと同じ形式で記述します。ポートを指定するには JSON 形式を使用します。 - 1 つの JSON オブジェクト:
sshHostと、オプションで数値のsshPortおよびエントリーの値を置き換えるstartDirectory。例:{"sshHost": "dev@devbox-1234.example.com", "sshPort": 2222}
Windows でコマンドを記述する
Windows では、command を、ドライブ文字から始まる .exe、.cmd、または .bat ファイルのフルパスで始めます。Desktop は名前のみの指定を PATH 上で探さないため、command が acme-dev create のエントリはグレー表示になります。
%USERPROFILE%\.claude\settings.json の次のエントリは、引数 create を指定して C:\Program Files\Acme\acme-dev.exe を実行します。JSON では、各バックスラッシュを 2 回記述するか、代わりに / を記述します。パスにスペースが含まれているため、単一引用符で囲んでいます。
- プログラム:
\\server\shareのようなネットワークパス、%USERPROFILE%のような変数、ASCII 以外の文字を使用しないでください。パスにこれらのいずれかが含まれていると、エントリはグレー表示になります。ユーザーフォルダーの名前にそのような文字が含まれている場合は、プログラムをそのフォルダーの外に置いてください。 - 引数: 「コマンドを記述する」の「引数」のルールに従います。コマンドには
\も含められますが、どの単語も\で終えることはできません。 - スクリプト:
.cmdまたは.batファイルを使用します。Desktop はこれをcmd.exe経由で実行します。引用符で囲んでいても、ファイルのパスに&、^、;を含めることはできません。自分で作成するファイルでは、引数を%*で読み取ってください。%1から%9は、引数を,と=で分割するためです。 - 環境: プログラムには、シェルプロファイルの環境変数ではなく、Desktop アプリの環境変数が渡されます。変数を変更した後は、Desktop を終了して再度開いてください。
- テスト: Desktop が読み取る出力を確認するには、コマンドプロンプトでコマンドを実行します。
"C:\Program Files\Acme\acme-dev.exe" create < NUL > host.txtのように、スペースを含むパスは二重引用符で囲み、入力なしにはNULを使用します。ファイルにはホストのみが含まれている必要があります。このテストでもマシンが作成されるため、後でツールを使って削除してください。
他の行を出力する Windows ツールをラップする
ツールが進行状況メッセージなど、ホストの前に他の行を出力する場合は、ホストのみを出力するバッチファイルでツールをラップします。次のファイルは、ツールの出力の最終行を出力し、ツールが失敗した場合はツールのコードで終了します。command には、JSON で C:\\tools\\make-devbox.cmd のように、ファイルのフルパスを設定します。最後の 2 行は、ホストをコマンドとして実行せずに出力するためのものなので、そのまま残してください。
新しいホストに接続する
新しいホストに初めて接続するときは、2 つの質問に答えます。- ホストキー: OpenSSH のデフォルトのホストキーチェックでは、キーのフィンガープリントを確認してから、接続するかどうかを選択します。この質問を省略するには、ホストを出力する前に、コマンドでキーを
~/.ssh/known_hosts(Windows では%USERPROFILE%\.ssh\known_hosts)に追加させます。- ツールがマシン作成時に取得したキーを使用します
- 22 以外のポートの場合は、行を
[host]:portで始めます - ツールがホスト名を再利用する場合は、古いキーの行も削除します
- フォルダー: そのホストで開くフォルダーを信頼するかどうかを選択します。
known_hosts ファイルを保持してください。StrictHostKeyChecking が no または accept-new で、かつ UserKnownHostsFile が /dev/null または none の場合、キーはどこにも記録されません。その状態でツールが名前を再利用すると、警告なしに別のマシンに接続してしまう可能性があります。
Desktop はこれらのホストに自動的に接続するため、コンピューターの前に誰もいない場合にも、名前の再利用は問題になります。たとえば、ホストに到達できない間に送信したメッセージは、ホストが応答した時点で配信されます。ホストキーチェックがオンであっても、次の場合にはメッセージがその名前の新しいマシンに届く可能性があるため、マシンが削除される前にマシンの使用を停止してください。
- ユーザー、コマンド、または別のプログラムが新しいキーを
known_hostsに追加した、または古いキーの行を削除した(コマンドがホストキーを追加する場合はコマンドがこれを行います) - ツールのマシンがホストキーを共有している
- ツールのマシンが、
known_hostsが信頼する認証局を共有している - ユーザーまたは管理者が
KnownHostsCommandまたはVerifyHostKeyDNS yesを設定しているため、SSH がknown_hosts以外からのキーを受け入れる
別のマシンを作成する
Create another Dev box を選択した後も、以前のマシン上のセッションは引き続き機能し、新しいセッションは新しいマシンを使用します。新しいマシンを作成する場合や、なくなったマシンを置き換える場合は、環境セレクターでこの項目を選択します。新規セッションページでは、Desktop がホストに到達できないことを示すメッセージからも選択できます。- 以前のマシン上のセッション: セレクターには Dev box の現在のマシンが表示され、以前のマシンは表示されないため、サイドバーからセッションを続行します。Desktop は、たとえば起動時などに、それらのマシンに自動的に接続することがあるため、使用を終えたらマシンの使用を停止してください。
- Claude Desktop v4.4212.0 より前に置き換えたホスト: これらのバージョンでは Replace Dev box’s host が表示され、置き換えられたホストへの接続を停止します。そのホスト上のセッションを続行するには、セッションを開いて Add SSH connection を選択し、Desktop が入力した接続を保存します。別のホストを置き換える前に Desktop を更新してください。
- 2 台のマシンでの新しいセッション:
sshHostCommandsに 2 つ目のエントリを追加します - まだ応答しない新しいホスト: 新規セッションページが接続を試行し続けている間、最大 10 分間ページを開いたままにします。それでもホストが応答しない場合は、ページのメッセージで Create another Dev box を選択します。
- 直後に別のマシンを作成する: 1 時間以内にコマンドを何度か実行した後は、それ以降の実行ごとに、Desktop が開くコマンドを表示するダイアログで確認します
マシンの使用を停止する
コマンドが作成したマシンに Desktop が自動的に接続しないようにするには、そのマシン上のすべてのセッションをアーカイブします。- サイドバーでそのマシンのセッションを探します。セッションの詳細パネルには、セッションが実行されているホストが表示されます。
- 各セッションをアーカイブし、アーカイブしたままにします。
- このマシンを作成した後に同じ
sshHostCommandsエントリから別のマシンを作成していない場合は、別のマシンを作成するか、エントリを削除もします。それまでは、このマシンがエントリの保存済み接続であり、その接続が選択された状態で新規セッションページを開くと、Desktop がこのマシンに接続する可能性があります。 - アプリでそのマシンへの他の SSH 接続を削除するか、その
sshConfigsエントリを削除します。 - Desktop を終了して再度開きます。これにより、マシンへの接続が閉じられ、到達の試行が終了します。
- ツールでマシンを削除します。
エントリを削除する
設定ファイルからエントリを削除したり、そのid を変更したりした後も、そのマシン上のセッションは残るため、Desktop は引き続きそれらのマシンに接続できます。たとえば、セッションの実行中のプロセスに再接続したり、送信待ちだったメッセージを配信したりするために、コンピューターの前に誰もいなくても接続することがあります。これを停止するには、マシンの使用を停止するで説明するとおりにセッションをアーカイブします。
管理者が管理対象のエントリを削除した場合も、ユーザーのセッションは残り、各ユーザーが自分のセッションをアーカイブする必要があります。エントリのマシンを管理者側でブロックするには、ユーザーが引き続き必要とするホストには一致し、マシンのホスト名には一致しない sshHostAllowlist を設定します。これができるのは、パターンで両者を区別できる場合のみです。
コマンドをチームに配布する
チームに接続を提供するには、デスクトップアプリ独自のデバイス管理ポリシーではなく、各コンピューター上の Claude Code の管理設定ファイルまたは MDM ポリシーでsshHostCommands を設定します。ユーザーには自分のエントリーと並んで管理者のエントリーが表示されます。アプリには、ユーザーのものであれ管理者のものであれ、エントリーを編集または削除する手段はありません。
次の管理設定ファイルは、Dev box という名前の接続をユーザーに提供し、ユーザー独自のエントリーを、ユーザー設定、プロジェクト設定、ローカル設定の Claude Code フックとあわせてオフにします。
- キーの配置場所: Claude Code 用の MDM ポリシーですでにポリシーキーを設定している場合は、そこに配置します。そうでない場合は、管理設定ファイルに配置します。デフォルトでは、そのようなポリシーはファイルより優先され、その場合 Desktop はファイル内のエントリーを無視します。サーバー管理設定が適用される環境でも、コンピューター上で設定してください。Desktop はサーバー管理設定、およびプロジェクト設定とローカル設定にあるこのキーを無視します。
id: ユーザーのsshHostCommandsエントリが管理者のidを持っている場合、管理者のエントリのみが機能します。ユーザーのsshConfigsにあるものなど、他の SSH 接続がその ID を持っている場合、管理者のエントリはグレー表示になります。ユーザーが選びそうにないidを選んでください。- プログラム: フルパスを指定します。macOS と Linux では Desktop は名前のみの指定を各ユーザーの
PATH上で探し、Windows では名前のみの指定のエントリはグレー表示になるためです。プログラムは、そのユーザーの変数を使用して、そのユーザーとして実行されます。 - 各プラットフォーム: Windows コンピューターと、macOS および Linux コンピューターに、それぞれ別のエントリをデプロイします。Windows のパスを含むエントリは macOS と Linux ではグレー表示になり、macOS または Linux のパスを含むエントリは Windows ではグレー表示になります。
- ユーザー独自のエントリー: どちらもコンピューター上でプログラムを実行するため、Desktop はユーザーのエントリーをフックと同様に扱います。管理者のエントリーのみを許可するには、
strictPluginOnlyCustomizationを["hooks"]に設定するか、そのリストに"hooks"を追加します。これにより、ユーザー設定、プロジェクト設定、ローカル設定の Claude Code フックも停止され、それらを維持する方法はありません。代わりにこのキーまたはallowManagedHooksOnlyをtrueに設定すると、各キーの項目に記載されているとおり、より多くのものがブロックされます。 - すべてのエントリ: 管理者のエントリもオフにするには、管理設定で
disableAllHooksを設定します。disableDesktopLocalSessions、またはどのホストも許可しないsshHostAllowlistを設定した場合、セレクターには Create や Create another の項目は表示されません。 - ロックが有効になる場所: これらのエントリーについて、Desktop は
allowManagedHooksOnly、strictPluginOnlyCustomization、disableAllHooksをサーバー管理設定とコンピューター自身のファイルまたはポリシーから読み取り、より厳しい結果を適用します。組織にサーバー管理設定がない場合でも、Desktop が claude.ai でサーバー管理設定を確認するまで、すべてのエントリーはグレー表示のままです。 - 許可されたホスト:
sshHostAllowlistを設定する場合は、ツールが出力する各ホスト名にいずれかのパターンが一致するようにし、パターンにはuser@を含めないでください。Desktop が出力された名前を確認するのはコマンドの実行後であるため、リストで拒否されたマシンはすでに存在しており、ユーザーはツールを使ってそれを削除する必要があります。各接続時には、解決後のHostNameも一致する必要があります。
コマンドが表示されない、またはグレー表示になる場合
次の場合、環境セレクターには Create や Create another の項目が表示されません。- ファイル:
~/.claude/settings.jsonに無効な JSON またはスキーマで拒否される値がある、キーのスペルを間違えている、またはプロジェクトの設定にキーを記述している。ファイルを修正してください。 - アカウント: Claude アカウントではなくサードパーティプロバイダーを使用している。各ホストを自分で SSH 接続として追加してください。
- Windows: Desktop が v4.16336.0 より古い、または OpenSSH クライアント経由で接続していない。Desktop を更新し、OpenSSH クライアントの要件を満たしてから、Desktop を終了して再度開いてください。
- 組織の設定: 管理者がローカルセッションをオフにしている、または SSH セッションをオフにしている。コマンドを使用できるかどうか管理者に確認してください。
sshプログラムがない: Desktop がコンピューター上の OpenSSH クライアントを起動できなかった。インストールするか、管理者に許可を依頼してから、Desktop を再起動してください。
- エントリの誤り: メッセージが示すフィールドまたはコマンドを修正します。
idが使用中の場合は、エントリに別のidを付けます。Windows では、コマンドをプログラムのフルパスで始める必要があります。 - 壊れた設定ファイル: 自分の設定ファイルが壊れている間、管理者のエントリーが、ファイル名を示すメッセージとともにグレー表示になることがあります。ファイルを修正してください。
- 新しいホスト: Desktop がホストを保存してから 1 分間、Create another はグレー表示になります。1 分経過後に選択してください。Claude Desktop v4.4212.0 より前では、Replace Dev box’s host が 10 分間グレー表示になります。
- フックがオフまたは制限されている: 自分のエントリーは、自分のフックが実行できる場合にのみ機能します。設定から
disableAllHooksを削除するか、管理者に相談してください。 - 設定がまだ読み込み中: Desktop が組織のサーバー管理設定を読み込むまで(通常は起動から数秒)、すべてのエントリーはグレー表示になります。エントリーがグレー表示のままの場合は、claude.ai への接続を確認してください。
チームの SSH 接続を事前設定する
管理者は、管理設定でsshConfigs を設定することで、チームメンバーに SSH 接続を配布できます。
- ユーザーに表示される内容:この方法で定義された接続は、各ユーザーの環境セレクターに自動的に表示されます。
- ユーザーが変更できる内容:ユーザーは管理対象の接続を選択し、その接続に対して独自の Worktree folder を設定できます。その他のフィールドを編集したり、アプリ内で削除したりすることはできません。
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 の下のすべてのホストと、単一の名前付きバスティオンホストへの接続を許可しています:
* は任意のホストに一致し、*.example.com は example.com とその任意のサブドメインに一致します。それ以外は完全一致です。チェックは ssh -G による ~/.ssh/config の解決後のホスト名に対して行われるため、Host エイリアスは解決後の HostName が一致する限り許可されます。セッションのジャンプホストも一致する必要があります。
sshHostAllowlist は管理設定からのみ読み取られます。ユーザーまたはプロジェクト設定の値は無視されます。Claude Desktop アプリのみがこの設定を尊重します。Claude Code CLI と IDE 拡張機能はこれを読み取らず、Bash ツールを通じて実行される ssh コマンドを制限しません。これは Desktop アプリが接続するホストを管理し、ネットワーク出力ではないため、ハード境界が必要な場合は組織のネットワークまたはゼロトラストコントロールと組み合わせてください。
ジャンプホストを許可する
Desktop がチェックする各ジャンプホストを、それ自体の解決後のHostName で sshHostAllowlist に追加してください。ユーザーが Claude Desktop v3.1623.0 以降に更新する前にジャンプホストを追加しておかないと、ユーザーはそれらを経由して接続できなくなります。
Desktop は、ユーザーの ~/.ssh/config がセッションのホストに設定している ProxyJump、または ssh -W %h:%p <host> の形式で記述された ProxyCommand 内のジャンプホストをチェックします。Desktop がセッションを接続または再接続する際に、チェック対象のジャンプホストがリストにない場合、接続は失敗します。ユーザーがセッションを開始したりメッセージを送信したりすると、エラーの詳細にそのジャンプホストの HostName が表示されます。これが追加すべき名前です。
managed settings on this computer と表示される場合は、ユーザーのコンピューター上のリストにその名前を追加してください。複数のジャンプホストが不足している場合、エラーは 1 つずつ名前を示します。ユーザーが更新する前にすべての名前を見つけるには、ユーザーのコンピューターでターミナルを使用します。
経路を確認する
ssh -G を実行します(例: ssh -G devbox)。proxyjump 行、または ssh -W %h:%p <host> の形式で記述された proxycommand 行を探します。コマンドに -l、-p、-J、-q、-v、-N、-T、-x、-a のいずれかが含まれていても対象となり、-J の後のホストもジャンプホストです。proxycommand 行が ssh 以外のプログラムを実行している場合、その行については何も追加しません。各ジャンプホストを調べる
:port を付けずに ssh -G を実行し、出力される hostname を控えます。その行の最初のジャンプホストの出力にいずれかの種類の行がある場合は、それについてこの手順を繰り返します。2 番目以降のジャンプホストの出力にあるそのような行は無視してください。名前を追加する
sshHostAllowlist に追加します。Desktop は起動時にサーバー管理設定を取得するため、その後ユーザーに Desktop を終了して再度開いてもらいます。ローカルセッションをオフにして SSH 接続を配布する
ローカルセッションをオフにし、SSH セッションを選択したホストに制限するには、disableDesktopLocalSessions、sshConfigs、sshHostAllowlist を一緒にデプロイします。
sshHostAllowlist を設定するとオンにできます。これらのキーをデプロイする前に、SSH remote sessions in Claude Desktop on 3P をお読みください。- CLI:どのキーも、開発者が自分のコンピューターで Claude Code CLI を実行することを妨げません
- Cowork:どのキーも Cowork セッションや Cowork のスケジュールタスクには適用されません
- クラウドセッション:どのキーもクラウドセッションを利用できるかどうかを変更しません。クラウドセッションをオフにするには、Admin console controls の Cloud sessions 設定を使用します。
- ホスト名:
sshHostAllowlistのパターンが、user@を除いた各sshConfigsエントリのホスト名に一致していることを確認してください。一致していないと、開発者はそのホストに接続できません。また、そこに至る途中で Desktop がチェックする各ジャンプホストに一致するパターンも追加してください。Desktop がホスト名を照合する方法については、ユーザーが接続できる SSH ホストを制限するを参照してください。 - バージョン:
disableDesktopLocalSessionsには Claude Desktop v1.37937.0 以降が必要です - ファイルの権限:コンピューター上の各開発者のアカウントが管理設定ファイルを読み取れることを確認してください。アカウントが読み取れないファイル内のキーは Desktop によって適用されず、Claude Code もそれらのキーなしで起動します。
環境セレクターを確認する
- そのコンピューターのエントリがグレー表示されている
- SSH の下に Shared Dev VM がある。そこに表示されていない場合は、単一の SSH 行、またはグループ末尾の More をクリックしてください。
- Desktop のバージョン:v1.37937.0 より前の場合は Desktop を更新してください。
- 管理設定ファイル:ファイルが有効な JSON であることを確認してください。
- 管理ソース:キーを保持している管理ソースをコンピューターが読み取っていることを確認してください。
許可リストにないホストを追加する
other.example.com など、許可リストにないホスト名で SSH 接続を追加します。Desktop は接続を保存しますが、接続は拒否し、組織の設定でその接続が許可されていないことを表示します。エンタープライズ設定
Team または Enterprise プランの組織は、管理コンソールコントロール、管理設定ファイル、およびデバイス管理ポリシーを通じてデスクトップアプリの動作を管理できます。管理コンソールコントロール
これらの設定は管理設定コンソールを通じて設定されます:- Desktop:組織内のユーザーがデスクトップアプリで Claude Code にアクセスできるかどうかを制御します
- Cloud sessions:組織のクラウドセッションを有効または無効にします
- Remote Control:組織のRemote Controlを有効または無効にします
OTEL_*環境変数として渡すため、Claude Code がそのセッションで管理コンソール設定をフェッチしない場合でも、フォームは有効になります。Code タブセッションからテレメトリをエクスポートするには、Claude Code 管理設定のenvブロックでCLAUDE_CODE_ENABLE_TELEMETRYとOTEL_*変数を設定します。監視用の管理者設定に示されているとおりです。ローカル、クラウド、SSH セッションは、それぞれ異なるソースから管理設定を読み取ります。クラウドセッションが到達できるホストについては、ネットワークアクセスを参照してください。Code タブセッションが報告するservice.nameについては、サービス情報を参照してください。SSH セッションがどのリモートマシンで実行されたかを確認するには、テレメトリを Desktop SSH セッションに関連付けるを参照してください。管理設定
管理設定はプロジェクトおよびユーザー設定を上書きし、Desktop の Claude Code セッションに適用されます。これらのキーを組織の管理設定ファイルで設定するか、管理コンソールを通じてリモートでプッシュできます。ただし、キーの行に別の記載がある場合を除きます。browserExternalPageTools、disableMobileSimulatorTools、disableBrowserExternalNavigation:Claude Desktop v4.4212.0 以降が必要ですdisableRemotePreviewScripts:Claude Desktop v5.1231.0 以降が必要です
HKCUレジストリ値を使用しないでください。機能をオンに戻すには、値を設定した場所からその値を削除してください。
Desktop セッションがどこで実行されるかに応じて、どの管理設定がそのセッションに到達するかが異なります。availableModelsなどのモデル制限は、Desktop の Claude Code セッションでターミナル CLI と同じ方法で適用されます。surface coverageを参照してください。
- このマシン上のローカルセッション:ディスクにデプロイされた管理設定ファイルが適用されます。管理コンソールを通じてリモートでプッシュされた管理設定は、セッションが適格なログインで認証する場合、Anthropic の API でこれらのセッションに到達します。ターミナル CLI と同じ設定の優先順位に従います。
- クラウドセッション:サーバー管理設定を受け取ります。デバイスにデプロイされたファイルはこれらのセッションに到達しません。Anthropic が管理する VM で実行されるためです。自己ホスト環境にルーティングされたセッションは、ランナーイメージ内の管理設定ファイルも読み取ります。Claude Code が管理ソースを組み合わせる方法は、そのファイルが適用される場合を示しています。
- SSH セッション:セッションはリモートホストから管理設定ファイルを読み取ります。Desktop 自体は、ローカルマシン上で
sshConfigs、sshHostAllowlist、disableSshSavedPasswords、およびdisableDesktopLocalSessionsを読み取ります。複数の管理ソースを配信する場合、Desktop はデフォルトではそのうち 1 つからこれらを読み取ります。ローカルマシンで有効な管理設定でpermissions.disableBypassPermissionsModeまたはdisableAutoModeを設定すると、リモートホストの設定に関係なく、SSH セッションのモードセレクタにはそのモードが表示されません。 - Coworkセッション:このマシン上の Cowork セッションでは、ユーザーが Team または Enterprise アカウントでサインインしている場合でも、Claude Code は管理コンソール設定をフェッチしません。マシンにデプロイされたポリシーを読み取ります。ただし、Claude Desktop 設定が
requireCoworkFullVmSandboxを設定している場合を除きます。リモート Cowork セッションはどちらも受け取りません。ポリシーが適用される場所と時期を参照して、どのデバイスファイルが Cowork に到達するかを確認してください。MCP 権限ルールを参照して、BashおよびWebFetchルールが Cowork のツールにどのように適用されるかを確認してください。
managed-mcp.jsonはこれらのコネクタに到達しません。使用する設定ソースまたはファイルの場所に関係なく。これらのセッションでコネクタのツールをブロックするには、組織のコネクタツールコントロールを使用してください。コネクタが Claude Code に到達する方法は、各種類のセッションでコネクタを管理する設定を示しています。
permissions.disableBypassPermissionsModeとdisableAutoModeはユーザーおよびプロジェクト設定でも機能しますが、管理設定に配置するとユーザーがそれらを上書きするのを防ぎます。
管理ソースのみが設定できる権限、プラグイン、および配信キーについては、管理設定のみが設定できるキーを参照してください。
Code タブで動作が異なる Claude Code 設定
ローカルセッションでは、Code タブがターミナルインターフェースを置き換えるため、以下のキーをはじめとする一部のキーは、効果が異なるか、目に見える効果がありません。これらのキーはターミナルでは引き続き適用されるため、設定したままにしておいてかまいません。デバイス管理ポリシー
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 の管理設定ファイルとは別のファイルです。
組織へのサインインを制限する
Claude Desktop にサインインできる claude.ai 組織を制限するには、Claude Desktop ポリシーでforceLoginOrgUUIDを設定します。
このキーには Claude Desktop v1.2581.0 以降が必要です。
Linux では、このキーのみを設定するポリシーファイルは次のようになります:
forceLoginOrgUUID設定が受け取るものと同じ ID です。このキーを設定する macOS および Windows のサンプルについては、HIPAA 対応組織向け Cowork ガイドのDeploy the Claude Desktop policyを参照してください。
Claude Code の管理設定でforceLoginMethodとforceLoginOrgUUIDを設定しても、Claude Desktop のサインイン画面は変わりません。ユーザーは引き続き、自分の Claude API キーまたはClaude Console アカウントで Claude Desktop を使用し、その方法で Code タブセッションを実行できます。
これを防ぐには、Claude Desktop ポリシー(Windows ではHKLM)にも、claude.ai 組織 ID を指定してforceLoginOrgUUIDをデプロイしてください。ポリシー自体がClaude API を選択している場合を除き、Claude Desktop はアプリの次回起動時から、ユーザー自身の API キーまたは Console アカウントを使用しなくなります。
デプロイする前に、次の 3 つのケースを確認してください:
- Claude Console 組織:Claude Console 組織の ID を指定して
forceLoginOrgUUIDを単独でデプロイしないでください。そうすると、組織のメンバーが Claude Desktop を使用できなくなります。代わりにWhich devices offer the Claude API account sign-inを参照してください。 - Enterprise Admin Console:これがコンピューターの Claude Desktop 設定を配信している場合は、先にそれらのコンピューターを Claude Desktop v2.37337.0 以降に更新してください。それより前のバージョンでは、このキーが設定されるとその設定が無視されるためです。Keep a device on its managed profileを参照してください。
- サードパーティプロバイダー:ユーザーがアプリ内で独自のサードパーティ推論設定を行っている場合、このキーをデプロイした後の次回起動時から、Claude Desktop はその設定を無視します。ユーザーが Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry、または LLM ゲートウェイを引き続き使用できるようにするには、同じ Claude Desktop ポリシーで、ユーザーのコンピューターに設定をデプロイしてください。
ネットワークアクセス要件
Desktop はアプリケーションコードとユーザーコンテンツを Anthropic CDN ホストから読み込みます。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を参照してください。
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 を追加します:
Opening session <session-id> in Claude Desktop を出力し、セッションはアプリで開き、コマンドは終了します。セッション名は ID の代わりに機能しません。Claude Code は別のターミナルで開いているセッションや、バックグラウンドで実行中のセッションを移動しません。Claude Desktop がインストールされていない場合、コマンドはダウンロードリンクを出力して終了します。
Desktop 内から CLI セッションを再開することもできます。/resume を使用します。このコマンドはローカルセッションで利用可能で、SSH、WSL、またはクラウドセッションでは利用できません。
Desktop でターミナルセッションを続行するには:
- ターミナルでセッションを閉じます。
- Desktop のプロンプトボックスで
/resumeと入力します。Desktop は、このコンピューターで CLI から開始したセッションをリストアップします。タイトル、フォルダ、またはブランチで検索し、各セッションがどこで終了したかをプレビューします。 - セッションを選択します。アプリで完全な会話とコンテキストとともに続行されます。
claude --resume を実行すると、その後も見つかります。
CLI フラグの同等物
このテーブルは、一般的な CLI フラグの Desktop アプリの同等物を示しています。リストされていないフラグは、スクリプトまたは自動化用に設計されているため、Desktop の同等物がありません。共有設定
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 を読み込みません。macOS と WSL では、claude mcp add-from-claude-desktop を実行して、それらのサーバーを ~/.claude.json にコピーします。Claude Desktop から MCP サーバーをインポートを参照して、インポートフローとスコープオプションを確認してください。機能比較
このテーブルは、CLI と Desktop の主要機能を比較しています。CLI フラグの完全なリストについては、CLI リファレンスを参照してください。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は 設定 > Code または 設定 > Claude Code を開きます。
トラブルシューティング
以下のセクションでは、デスクトップアプリに固有の問題について説明します。チャットに表示される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 コマンドとはバージョンが異なる場合があり、一方を更新してももう一方は更新されません。
使用しているレイアウトを確認する
新しいセッションで環境がプロンプトボックスの下ではなく上に表示される場合は、以前のレイアウトを使用しています:- v2.37337.0 より前の Desktop:更新すると現在のレイアウトになります。macOS では Claude > Check for Updates…、Windows では Help > Check for Updates… を選択します。
- サードパーティプロバイダーでセッションをコンピューター上で実行している場合:現在のレイアウトには Claude Desktop v3.1623.0 以降が必要なため、バージョンを確認してください。更新するには、macOS では Claude > Check for Updates…、Windows では Help > Check for Updates… を選択します。組織が自動更新をオフにしている場合、Check for Updates… は非表示になるため、管理者に v3.1623.0 以降を依頼してください。
- サードパーティプロバイダーでセッションを組織のインフラストラクチャ上で実行している場合:現在のレイアウトには Claude Desktop v4.29.0 以降が必要なため、バージョンを確認してください。それより古いバージョンを使用している場合は、管理者に v4.29.0 以降を依頼してください。セッションがどこで実行されているかわからない場合は、管理者に確認してください。
Code タブの 403 またはエラー認証エラー
Code タブを使用するときにError 403: Forbiddenまたはその他の認証エラーが表示される場合:
- アプリメニューからサインアウトして再度サインインします。これが最も一般的な修正です。
- アクティブな有料サブスクリプション(Pro、Max、Ultra、Team、または Enterprise)があることを確認します。
- CLI は機能するが Desktop は機能しない場合、デスクトップアプリを完全に終了し(ウィンドウを閉じるだけではなく)、再度開いてサインインします。
- インターネット接続とプロキシ設定を確認します。
起動時に空白または停止画面
アプリが開いても空白または応答しない画面が表示される場合:- アプリを再起動します。
- 保留中の更新を確認します。macOS と Windows ではアプリは起動時に自動更新されます。Linux では、Claude Desktop on Linuxで説明されているように apt を使用して更新します。
- マネージドネットワーク上では、ファイアウォールがネットワークアクセス要件の CDN ホストを許可していることを確認します。
- 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 host key verification failed
以下のいずれかのメッセージは、Desktop がホストキーを拒否したことを意味します:Couldn't connect to <host>カードの View details に表示されるSSH host key verification failedまたはHost denied (verification failed)- プロンプトボックスの横、または Test connection の後に表示される
Connection failed: Host key changed or not trusted - 切断されたセッションに表示される
<host>'s host key is not trustedまたは<host>'s host key has changed
- Windows を使用していて、Desktop に
Connection failed: Host key changed or not trustedと表示される場合:まず OpenSSH クライアントがない可能性を除外します - Desktop が
UserKnownHostsFileを設定するよう指示する場合:~/.ssh/configでこれを~/.ssh/known_hostsに設定してから、ターミナルからキーを確認します - Review new key ボタンが表示される場合:それを選択し、Desktop が表示するフィンガープリントをそのマシン自体のフィンガープリントと比較します。一致する場合は Trust new key を選択して保存済みのキーを置き換えます。一致しない場合は Cancel を選択します。
- Review new key ボタンが表示されない、Desktop に
Couldn't show the new keyと表示される、または Trust new key の後も Desktop がキーを再び拒否する場合:ターミナルからキーを確認します
ターミナルからホストキーを確認する
Desktop の SSH 接続の SSH host の値を使用して、コンピューター上でssh <SSH host> を実行します。接続に SSH port の値がある場合は -p <SSH port> を追加します。Windows では PowerShell を使用してください。Desktop は Git Bash や WSL の ssh では接続しないためです。PowerShell で ssh が見つからない場合は、Microsoft の OpenSSH クライアントをインストールします。
ssh がメッセージ内でどのマシンを示しているかを確認します(<SSH host> ではなくジャンプホストの場合もあります)。その後、該当するケースに従います:
sshが接続を続行するかどうか尋ねる場合:表示されるフィンガープリントをそのマシン自体のフィンガープリントと比較します。一致する場合にのみyesと答えます。sshがホストキーが変更されたと警告する場合:警告のフィンガープリントをそのマシン自体のフィンガープリントと比較します。一致する場合にのみ、Offending <type> key in <file>:<line>が示す行を削除してsshを再実行します。sshが別の行について再び警告する場合は、同様に比較、削除、再実行を行います。sshが尋ねることなく未知のキーを拒否する場合:そのマシンのknown_hosts行を、確認対象の接続経由ではなく、そのマシンの管理者から入手します。sshのメッセージに含まれる名前をホスト名としてその行をknown_hostsファイルに追加し、sshを再実行します。sshがホストキーについて尋ねずにそのままサインインに進む場合:まだパスワードを入力しないでください。sshがすでに信頼しているキーを確認します。
ssh が受け入れたら、Desktop で再試行します。Desktop が再びキーを拒否する場合は、SSH の問題について Desktop のログを取得するを参照してください。
ssh がすでに信頼しているキーを確認する
同じ ssh コマンドに -v -S none を追加して再実行します。出力では、Server host key: 行にフィンガープリントが表示され、次の Host '<name>' is known 行にそのフィンガープリントが属するマシンが示されます。見つかった各フィンガープリントを、そのマシン自体のフィンガープリントと比較します。
- ジャンプホストに
Server host key:行がない場合:ssh -v -S none <jump host>も実行し、そのフィンガープリントも同じ方法で比較します。 - フィンガープリントが一致しない、または確認できない場合:再度接続しないでください。保存されているキーを削除します。
Host '<name>' is knownの下にあるFound key in <file>:<line>行に、そのキーを保持するファイルが示されています。ssh-keygen -R "<name>" -f <file>を実行します。ホストキーを複数のファイルに保存している場合は、それぞれのファイルからキーを削除します。ファイルを変更できない場合は、コンピューターの管理者に伝えてください。 - すべてのフィンガープリントが一致する場合:Desktop で再試行します。Desktop が再びキーを拒否する場合は、SSH の問題について Desktop のログを取得するを参照してください。
OpenSSH クライアントがない Windows で SSH ホストキーが拒否される
OpenSSH クライアントがない Windows では、Desktop は正しいホストキーであってもConnection failed: Host key changed or not trusted と表示して拒否します。Desktop は保存済みのキーを検索するためにこのクライアントを必要とします。クライアントがあるかどうかを確認するには、PowerShell で ssh を実行します。PowerShell が ssh を認識しない場合は、Microsoft の OpenSSH クライアントをインストールして Desktop を再起動します。
その後、再度接続します。Desktop が初回接続を行うかどうか尋ねてきた場合は、信頼する前にマシンのホストキーを確認してください。それでも Desktop がキーを拒否する場合は、SSH host key verification failed のその他のケースに従ってください。
ログイン後に SSH 接続が失敗する
カードのタイトル、またはエラーメッセージの末尾にあるコードをこの表で探し、最後の列の指示に従ってください。メッセージを確認するには、失敗カードで View details を選択します。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:ヘルパーの最新の実行のログです。remote-server.log.old(存在する場合):その前の実行のログです。Desktop が次回接続してヘルパーを再起動する必要が生じると失われるため、できるだけ早くコピーしてください。
アプリが終了しない
- 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 を選択してから、ローカルでフェッチします:まだ立ち往生していますか?
- デスクトップアプリで Help → Get Support を開くか、Claude サポートセンターに直接アクセスします
- スタンドアロン
claudeCLI でも再現される問題については、GitHub Issuesでバグを検索またはファイルします