claude-cli:// URL で、Claude Code を新しいターミナルウィンドウで開きます。URL には作業ディレクトリとプリフィルするプロンプトを含めることができます。
これにより、タスクのワンクリック開始点を共有できます。Claude Code がインストールされている人がリンクをクリックすると、プロンプトが既に入力された状態でセッションが開きます。プロンプトは入力されていますが、Enter キーを押すまで送信されません。
ディープリンクは URL なので、リンクが使える場所ならどこにでも配置できます。
- インシデントランブックのステップで、影響を受けたサービスのリポジトリを診断プロンプト付きで開く
- モニタリングアラートやダッシュボードで、特定のメトリクスの調査プロンプトにリンクする
- README やウィキページでプロジェクトをオンボーディングプロンプト付きで開く
- CI 失敗通知で失敗したジョブの名前をプリフィルする
ディープリンクの仕組み
claude-cli:// プレフィックスはカスタム URL スキームで、Claude Code がオペレーティングシステムに登録します。これは mailto: リンクがメールクライアントを開く方法と似ています。ディープリンクをクリックすると以下のことが起こります。
- ブラウザまたはアプリが URL をオペレーティングシステムに渡します。
- オペレーティングシステムが
claude-cli://プレフィックスを認識し、マシン上で Claude Code を起動します。 - 新しいターミナルウィンドウが開き、Claude Code がリンクで指定されたディレクトリで実行され、リンクのプロンプトテキストが既に入力ボックスに入っています。
- プロンプトを読み、必要に応じて編集し、Enter キーを押して送信します。
起動されたセッションが表示するもの
ディープリンクは単独では何も実行しません。リンクはディレクトリを選択し、プロンプトボックスを埋めるだけです。信頼していないページからリンクをクリックしても、プロンプトは依然として無害です。入力されたものを読んで Enter キーを押すまで、何もモデルに到達しません。 セッションが開くと、入力ボックスの下の警告行にPrompt from an external link と表示され、プロンプトを送信またはクリアするまで表示されたままになります。プロンプトが 1,000 文字を超える場合、警告には文字数が含まれ、長いプロンプトは指示を画面外に押し出す可能性があるため、Enter キーを押す前に全文をスクロールして確認するよう指示します。権限ルール、CLAUDE.md、および選択されたディレクトリの信頼プロンプトは、他のセッションと同じように適用されます。
リンクを構築する
すべてのディープリンクはclaude-cli://open で始まります。これはハンドラーが受け入れる唯一のパスで、その後にオプションのクエリパラメーターが続きます。最小形式は Claude Code をホームディレクトリで開き、空のプロンプトを表示します。
cwd と repo は作業ディレクトリを設定する 2 つの方法です。両方を渡す場合、cwd が優先され、cwd パスが存在しない場合でも repo は無視されます。
次のリンクは acme/payments というリポジトリを指し、2 行の診断プロンプトを含みます。独自のリンクを構築するときは、acme/payments をリポジトリの owner/name スラッグに置き換えてください。
acme/payments のローカルクローンで起動し、プロンプトボックスがデコードされたテキストで埋められます。
cwd と repo の選択を参照してください。
cwd と repo の選択
リンクをクリックするすべての人がプロジェクトを同じ絶対パスに持っている場合(標準化された devcontainer または VM イメージなど)は cwd を使用します。
リンクが共有され、各人がクローンを別の場所にクローンする場合は repo を使用します。Claude Code はスラッグをローカルパスに解決します。
repoは、リンクされたリポジトリのクローンまたはワークツリーを開きます。ここで最近claudeを実行しました。claudeを Git リポジトリで実行するたびに、Claude Code はそのディレクトリのパスをリポジトリの GitHubowner/nameスラッグに対して記録します。Claude Code はクローンとワークツリーを個別に追跡します。- リンクはどのブランチがチェックアウトされているかを変更しません。セッションはそのディレクトリが現在ある状態で開きます。
例
以下のセクションでは、ディープリンクを使用する 2 つの一般的な方法を示します。ドキュメント内の Markdown リンクとしてと、スクリプトまたはシェルエイリアスのコマンドとしてです。ランブックにリンクを埋め込む
ランブック内のディープリンクは、トリアージを行う人に、正しいリポジトリで準備されたプロンプトを使って調査を開始するワンクリック方法を提供します。ランブックをレンダリングするプラットフォームはカスタム URL スキームを許可する必要があります。GitHub でレンダリングされた Markdown はclaude-cli:// を許可しないため、GitHub README、issue、wiki のディープリンクはラベルのみを表示し、クリック可能なリンクはありません。回避策については、トラブルシューティングノートを参照してください。
プロンプトは URL の一部であり、URL エンコードする必要があります。エンコードされた値を生成するには、ブラウザコンソールまたは任意の URL エンコーダーで encodeURIComponent を使用してプロンプトテキストを渡します。
以下の例は、web-gateway というサービスのインシデントランブックに調査エントリポイントを追加します。
acme/web-gateway をサービスのリポジトリスラッグに置き換えます。これにより、Claude Code がインストールされており、そのリポジトリのローカルクローンを持つエンジニアがステップ 2 をクリックして、プロンプトを送信する準備ができた状態で調査を開始できます。
シェルからリンクを開く
クリックする代わりに、シェルスクリプト、エイリアス、または自動化からディープリンクを開くこともできます。オペレーティングシステムの URL を開くコマンドをリンクを引数として呼び出します。これらのコマンドは、Claude Code がインタラクティブセッションの最初のプロンプトを送信するときにマシンに登録するハンドラーに依存しています。- macOS
- Linux
- Windows
組み込みの 成功すると、Claude Code が実行されており、プロンプトが事前に入力された新しいターミナルウィンドウが開きます。
open コマンドは URL を登録された claude-cli:// ハンドラーに渡します。登録とサポートされているプラットフォーム
Claude Code は、macOS、Linux、Windows で対話的セッションの最初のプロンプトを送信するときに、claude-cli:// ハンドラーをオペレーティングシステムに登録します。claude を起動してプロンプトを送信せずに終了しても、ハンドラーは登録されません。別のインストールコマンドを実行する必要はありません。登録はユーザーレベルの場所にのみ書き込みます。
ハンドラーは検出されたターミナルエミュレーターで Claude Code を起動します。macOS では、Claude Code は最後の対話的セッションからターミナルを記憶し、再利用します。iTerm2、Ghostty、kitty、Alacritty、WezTerm、Terminal.app をサポートしています。Linux では
$TERMINAL 環境変数を尊重し、次に x-terminal-emulator、次に一般的なエミュレーターのリストを使用します。Windows では Windows Terminal を優先し、次に PowerShell、次に cmd.exe を使用します。
登録を完全に防ぐには、settings.json で disableDeepLinkRegistration を "disable" に設定します。組織全体でこれを強制し、ユーザーが再度有効にできないようにするには、代わりにマネージド設定で設定します。
ターミナルの代わりに VS Code タブを開く
VS Code 拡張機能はvscode://anthropic.claude-code/open で独自のハンドラーを登録し、ターミナルウィンドウではなく Claude Code エディタータブを開きます。その URL のパラメーターについては、他のツールから VS Code タブを起動するを参照してください。
トラブルシューティング
リンクをクリックしても何も起こらない
ハンドラーはまだ登録されていない可能性があります。登録はセッションの開始時ではなく、対話的セッションで最初のプロンプトを送信するときに行われます。そのマシンで対話的なclaude セッションを開始し、任意のプロンプトを送信して終了してから、リンクを再度試してください。Linux でデスクトップ環境がない場合、xdg-open はディスパッチするものがない可能性があります。
Linux で xdg-open が見つからない
xdg-open コマンドは xdg-utils パッケージの一部であり、最小限のサーバーイメージ、コンテナ、WSL ディストリビューションではしばしば省略されています。ディストリビューションのパッケージマネージャーで xdg-utils をインストールしてください。例えば sudo apt install xdg-utils を実行してから、コマンドを再度実行してください。コマンドが実行されても何も開かない場合、xdg-open はディスパッチするデスクトップ環境がない可能性があります。リンクをクリックしても何も起こらないを参照してください。
リンクがプレーンテキストとしてレンダリングされ、クリック可能ではない
一部の Markdown レンダラーはhttp と https リンクのみを許可し、他の URL スキームを削除します。GitHub は README、issue、pull request、wiki でこれを行います。[label](claude-cli://...) は label のみとしてレンダリングされ、リンクはなく、URL は削除されます。これらのプラットフォームでは、ディープリンクをコードブロックに配置して、読者が URL を見てブラウザーのアドレスバーに貼り付けられるようにします。
セッションがリポジトリの代わりにホームディレクトリで開く
repo パラメーターは、Claude Code が既に見たクローンのみに解決します。クローン内で claude を 1 回実行してパスを記録するか、リンクを cwd と絶対パスを使用するように切り替えます。
リンクが間違ったターミナルを開く
macOS では、好みのターミナルでclaude を 1 回開始すると、次のディープリンクがそれを使用します。Linux では、$TERMINAL 環境変数を好みのエミュレーターのコマンド名に設定します。Windows では、順序は固定です。Windows Terminal をインストールして、リンクが PowerShell または cmd.exe ウィンドウの代わりにそこで開くようにします。