Claude Media
Claudeのモバイルアプリをリンクから直接開く仕組み

Claudeのモバイルアプリをリンクから直接開く仕組み

Claudeのモバイルアプリが対応するclaude://URLスキームの使い方をまとめます。Codeタブやセッションを直接開くパラメータと、デスクトップ版との違いにも触れます。

Claudeのモバイルアプリ(iOS・Android)はclaude://から始まるURLに反応します。mailto:リンクがメールアプリを開くのと同じ仕組みです。OSに登録されたこのプレフィックスをタップすると、ブラウザーではなくClaudeアプリが立ち上がります。

行き先はCodeタブのセッション一覧、既存セッション、プロンプト入りの新規セッションの3つです。サードパーティアプリやiOSショートカット、Webページにリンクを仕込んでおけば、タップ1つでClaude Codeの作業を始められます。iOSとAndroidで同じURL仕様なので、リンクをプラットフォームごとに作り分ける必要はありません。

行き先は3つ — いずれもCodeタブの中

経路

claude://の3つの行き先

  • claude://code

    Codeタブをセッション一覧の状態で開きます。

  • claude://code/{session-id}

    指定したIDの既存セッションを開きます。IDが存在しないときはセッション一覧に着地します。

  • claude://code/new

    新規セッションの入力欄を開きます。パラメータで内容を事前に埋め込めます。

この機能にはアカウントのClaude Codeへのアクセス権が要ります。パラメータの値はすべてURLエンコードが必須です。

新規セッションを組み立てるパラメータ

claude://code/newには4つのパラメータを付けられます。いずれも省略可能で、指定しなければ空の状態でセッションが開きます。

パラメータ必須説明
q必須任意説明入力欄に事前入力するテキスト。エイリアスとしてpromptも使える
mode必須任意説明セッションモードを事前選択。planかcodeを受け付ける。プランで使えないモードは無視される
repo必須任意説明owner/name形式(大文字小文字を区別しない)でGitHubリポジトリを事前選択。接続済みGitHubアカウントに無いリポジトリは無視される
branch必須任意説明ブランチを事前選択。repoが必須

次のリンクは、anthropics/claude-codeリポジトリのmainブランチを、失敗したテストの調査プロンプト付きで開きます。

claude://code/new?q=Fix%20the%20failing%20test&repo=anthropics%2Fclaude-code&branch=main

デスクトップ版のClaude Codeリンクにはフォルダーやファイルを指定するパラメータもあります。モバイル版のリンクに含めても、これらは無視されます。

日本語のプロンプトをエンコードする

手書きで%E6%...を並べるのは現実的ではないので、リンクはコードで組み立てます。Node.js v20.18.0のencodeURIComponentに、日本語・括弧・&・#・/を含むプロンプトを通すと次の結果になりました。

node -e 'console.log(encodeURIComponent("本番のログイン失敗を調査して(PR #42 & ブランチ feature/auth)"))'
%E6%9C%AC%E7%95%AA%E3%81%AE%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3%E5%A4%B1%E6%95%97%E3%82%92%E8%AA%BF%E6%9F%BB%E3%81%97%E3%81%A6(PR%20%2342%20%26%20%E3%83%96%E3%83%A9%E3%83%B3%E3%83%81%20feature%2Fauth)

見落としやすいのは、空白が+でなく%20になる点、#が%23・&が%26・/が%2Fに変わる点、そして(と)だけはそのまま残る点です。repoのanthropics/claude-codeも同じ関数に通すとanthropics%2Fclaude-codeになり、公式の例と一致します。

手順

リンクが効かないときの切り分け順

  1. 1

    アクセス権を見る

    Claude Codeへのアクセス権がないアカウントでは、リンク全体が機能しません。

  2. 2

    エンコード漏れを疑う

    qに&や#が生で残っていると、&は区切りとして、#以降は別扱いとして解釈されます。%26と%23に直します。

  3. 3

    repoとbranchの組を見る

    リポジトリが選ばれないときは、接続済みのGitHubアカウントにrepoのリポジトリがあるかを見ます。branchが効かないときは、同じリンクにrepoが入っているかも合わせて見ます。

  4. 4

    プランとモードを見る

    mode=planなどが反映されないときは、利用中のプランにそのモードがあるかを見ます。

アプリを入れていない相手にはUniversal Linksを使う

同じCodeタブの経路は、https://claude.ai/code/から始まるUniversal Linksでも開けます。アプリが入っていればOSがアプリを起動し、入っていなければブラウザーでページが開きます。

くらべる

claude://とhttps://claude.ai/codeの違い

カスタムスキーム

claude://

アプリが入っていない端末では、リンクを開けないことがあります。

Universal Links

https://claude.ai/code

アプリがなければブラウザーで開くので、行き止まりになりません。

社外向けのドキュメント、SNS、メールのように相手の環境が分からない配布先では、フォールバックのあるUniversal Linksが向きます。相手が全員アプリ導入済みの社内ランブックなら、claude://でも構いません。

同じ経路でも着地点が違う

2つの方式は経路の名前が似ていますが、ルートごとの着地点は一致しません。

開きたい画面claude://の書き方https://claude.ai/の書き方
セッション一覧claude://の書き方claude://codehttps://claude.ai/の書き方なし
既存セッションclaude://の書き方claude://code/{session-id}https://claude.ai/の書き方https://claude.ai/code/{session-id}
新規セッションclaude://の書き方claude://code/newhttps://claude.ai/の書き方https://claude.ai/code
内容を埋めた新規セッションclaude://の書き方claude://code/new?q=...&repo=...https://claude.ai/の書き方https://claude.ai/code/new?q=...&repo=...

つまりclaude://codeをそのままhttps://claude.ai/codeに置き換えると、セッション一覧ではなく新規セッションの入力欄が開きます。プレフィックスの出し分けだけでは足りません。Universal Linksの公式の表に載るのは、新規セッション・既存セッション・パラメータ付きの3ルートで、一覧を開くルートはありません。パラメータ名と値の仕様は両方式で共通なので、q・repo・branch・modeを組み立てるコードは使い回せます。

デスクトップ版・ターミナル版との違い

紛らわしいのは、デスクトップ版のClaudeアプリ(macOS・Windows・Linux)も同じclaude://スキームに反応する点です。解決先はモバイルよりずっと広く、Codeタブに限定されません。

比較項目モバイル版claude://デスクトップ版claude://
対応する経路モバイル版claude://Codeタブの3つ(code / code/{id} / code/new)デスクトップ版claude://チャット・プロジェクト・Code・Coworkの4種
新規チャットを開くモバイル版claude://—デスクトップ版claude://claude://claude.ai/new
新規Codeセッションモバイル版claude://claude://code/newデスクトップ版claude://claude://code/new
Codeセッションのフォルダー指定モバイル版claude://無視されるデスクトップ版claude://folderパラメータで指定可(確認ダイアログあり)
Coworkセッションモバイル版claude://—デスクトップ版claude://claude://cowork/new
Universal Linksの代替経路モバイル版claude://https://claude.ai/code/...デスクトップ版claude://—

デスクトップ版の公式ページによると、OSはclaude://のURLをClaudeに渡し、アプリが起動していなければまず起動します。Claudeはその後にパス部分とクエリを読み、アプリ内の行き先へ移動します。qに入れたプロンプトは約14,000文字で切り詰められます。

チャットやプロジェクトを開くのはclaude://claude.ai/chat/{conversation-id}とclaude://claude.ai/project/{project-id}です。IDはClaudeのURL末尾にあるUUIDです。IDが無い、または不正なときは、最近のチャット一覧かプロジェクト一覧が開きます。モバイル版で存在しないセッションIDがセッション一覧に落ちるのと、同じ種類のフォールバックです。

ドキュメントやツールにリンクを埋め込むときは、読者がどちらの環境で開くかを先に決め、経路をその環境向けに絞ります。デスクトップ版の全リンク形式はClaude Desktopをclaude://リンクで起動するにあります。

Claude Codeのターミナル(CLI)には、claude-cli://という別系統のURLスキームもあります。詳細はClaude Code Deep Linksにまとめています。claude://はアプリを開き、claude-cli://はローカルのターミナルでセッションを開きます。名前が似ているだけで別の仕組みです。

VS Codeには別のハンドラーvscode://anthropic.claude-code/openがあり、ターミナルウィンドウではなくClaude Codeのエディタータブを開きます。

比較項目モバイル版claude://ターミナル版claude-cli://
開く先モバイル版claude://Claudeアプリ(Codeタブ)ターミナル版claude-cli://ローカルの新しい端末ウィンドウ
qの上限モバイル版claude://—ターミナル版claude-cli://5,000文字
repoの解決モバイル版claude://接続済みGitHubアカウントから選ぶターミナル版claude-cli://そのマシンで過去にclaudeを実行したローカルクローンへ解決する
作業ディレクトリ指定モバイル版claude://なしターミナル版claude-cli://cwd(絶対パス)

cwdとrepoを両方渡すとcwdが優先され、repoは無視されます。cwdのパスが存在しなくても同じです。ターミナル版のハンドラーが登録されるのは、対話セッションで最初のプロンプトを送信したときで、セッションの開始時ではありません。

同じrepoでも、参照する情報源がまるで違います。モバイル版はGitHub連携の有無で決まり、ターミナル版はローカルのクローンの履歴で決まります。ターミナル版でクローンを一度も開いていないと、セッションはホームディレクトリで始まります。

手元で試すにはOSごとにコマンドが違う

デスクトップ版の公式ページには、リンクをシェルから開くテストが載っています。macOSではopen "claude://claude.ai/new?q=Hello"を使います。Windowsのコマンドプロンプトではstart "" "claude://claude.ai/new?q=Hello"です。Linuxではxdg-open "claude://claude.ai/new?q=Hello"を使います。これらはデスクトップ版向けの手順です。

モバイル版のリンクは、スマホ上でclaude://codeを開き、Codeタブのセッション一覧が出るかを見て試します。

リンクの貼り先で気をつけること

ターミナル版の公式ドキュメントには、GitHubのREADME・Issue・PR・Wikiがhttpとhttps以外のスキームを除去する例が載っています。[label](claude-cli://...)はラベルだけの表示になり、URLが消えます。回避策はコードブロックにURLを置く方法です。

claude://もhttpとhttps以外のスキームなので、同じ種類のMarkdownレンダラーでは同様に扱われる可能性があります。貼り先がカスタムスキームを許すかどうかを先に試し、通らない場所にはUniversal Linksを貼れば確実に開けます。

iOSショートカットやランブックから呼び出す

リンクなので、ブラウザーのアドレスバー以外からも呼び出せます。iOSのショートカットアプリなら「URLを開く」アクションが使えます。選択したテキストをencodeURIComponent相当でエンコードしてqに差し込み、固定のrepoと組み合わせれば、アプリを開いてから貼り付ける手間が省けます。リンク先の記事が扱うApp Intents方式とは別に、ここではURLを組み立てて渡す方式を使います。

CIの失敗通知やインシデントのランブックにclaude://code/new?repo=...&q=...形式のリンクを1本置いておく使い方もあります。対応者がタップすると、正しいリポジトリを指定したセッションの入力欄が開きます。

リンクは何を実行するのか

モバイル版の公式ページは、qを「入力欄に事前入力するテキスト」と説明しています。リンクが決めるのは画面遷移とプリフィルまでです。

デスクトップ版の公式ページには、より具体的な記述があります。qで埋めたプロンプトは、レビューして送信する前提のものです。folderはClaude Desktopが確認ダイアログを出してから作業ディレクトリに採用し、信頼済みのフォルダーでも毎回確認します。ターミナル版でも、プロンプトは入力されるだけで、Enterを押すまで送信されません。外部リンク由来であることを示す警告行も表示されます。1,000文字を超えるプロンプトでは、警告に文字数も出ます。

モバイル版にはローカルのフォルダーを指定するパラメータがないので、この確認ダイアログに相当するステップは出番がありません。

よくあるつまずき

切り分けの順序は前の手順のとおりです。それで解決しないものは次の2つです。

  • デスクトップ版のfolderをモバイル用リンクに付けている: モバイル版はfolderとfileを無視します。プラットフォームごとにパラメータ一覧を分けて管理します
  • 社外に共有したリンクだけ反応しない: アプリ未導入の端末ではclaude://のリンクを開けないことがあります。相手の導入状況が分からないときはhttps://claude.ai/code/...に切り替えます

まとめ

リンクを配る前に、3点を確かめます。配布先が全員アプリ導入済みか、貼り先がカスタムスキームを通すか、一覧と新規セッションのどちらに着地させたいかです。これでclaude://とhttps://claude.ai/codeのどちらを使うかが決まります。一覧を開かせたいならclaude://codeだけが選択肢で、https://claude.ai/codeは新規セッションの入力欄に着地します。

この記事を共有:XはてブLinkedIn