アルアカ - Arcadia Academia

Arcadia Academiaは「エンジニアリングを楽しむ」を合言葉に日本のデジタル競争力を高めることをミッションとするテックコミュニティです。

Claude CodeのSendMessageが「No agent named…」で失敗する時の宛先指定

Featured image of the post

「別のPCで動いている Claude Code のセッションに、こっちから作業を頼めないか」「ListAgents には出てくるのに、SendMessage すると No agent named '…' is reachable で弾かれる」「依頼文に『このセッションへ報告して』と書いたのに、相手が宛先を見つけられなかったと言ってくる」。Claude Code を複数のマシンやプロジェクトで並行して動かしていると、セッション同士で仕事を受け渡したくなる場面が必ず来ます。Remote Control でつないだ別マシンのセッションは ListAgents の一覧に載り、SendMessage で依頼を送れるのですが、宛先の書き方に癖があって、素直にタイトルを書くと届きません。この記事では、別マシンのセッションへ依頼を送る手順と、No agent named … is reachable が出る原因、確実に届く宛先の書き方、返信を受け取るときの注意点をまとめます。

💡
💡 30秒で要点
ListAgents には「このマシンの tmux セッション」と「Remote Control 越しの別マシン/クラウドのセッション」が混ざって出る。後者は idle / running / offline の状態つきで、offline には送れない
SendMessage の宛先にタイトルだけを書くと No agent named '…' is reachable になる。相手のタイトルは作業内容に合わせて途中で変わるが、末尾の ref(角括弧の6桁)は変わらない
宛先は「現在のタイトル + ref」で書くか、送る直前に ListAgents を取り直す
自分のセッション名も途中で変わる。依頼文に「〜へ報告して」と自分の名前を書かず「依頼元へ返信」と書く。返信は名前に依存せず届く
依頼文は「作業中なら割り込み不要。完了後にまとめて1通で」と、含めてほしい項目を列挙すると構造化された報告が返る

目次を開く

別マシンのセッションは ListAgents に載る

Claude Code の Remote Control を有効にしたセッションは、同じアカウントの別のセッションから ListAgents で見えるようになります。一覧には次の2種類が混ざって出ます。

種類 表示のされ方 送れるか
このマシンの tmux セッション tmux <セッション名>:@9.%9 のようなペイン表記 送れる
Remote Control で接続された別マシン/クラウドのセッション a Claude session on another machine, over Remote Control の注記と idle / running / offline offline には送れない

offline は、別マシン側で Remote Control が切れている状態です。相手側で Remote Control を起動し直すまで、こちらから何を送っても届きません。

一覧に出るのはタイトルだけ

一覧には各セッションのタイトルと ref は出ますが、作業ディレクトリは出ません。「どのプロジェクトのセッションか」は次の順で当たりを付けます。

  1. 前回の一覧との差分(新しく増えたもの、唯一 running のもの)
  2. タイトルの内容(作業中のタスク名がそのまま入っていることが多い)
  3. 確定させたければ SendMessage で「作業ディレクトリと作業内容を教えて」と1通送る

3 は相手が running のときは割り込みになるので、idle になるのを待つか、依頼文の冒頭に「作業中なら割り込み不要」と添えます。

No agent named '…' is reachable の原因

SendMessage の宛先をタイトルの文字列で書くと、次のエラーで失敗します。

No agent named 'ある業務アプリの端数処理の修正' is reachable

原因は、相手のタイトルが作業内容に合わせて途中で変わることです。ある業務アプリの改修を頼んでいたセッションでは、最初「端数処理の修正」だったタイトルが十数分後には「集計フィールドの追加」に変わっていました。ref は同じままです。つまり、ListAgents で見たときのタイトルをコピーして SendMessage を組み立てた時点で、すでに宛先が存在しなくなっていることがあります。

確実に届く宛先の書き方

ref を添える

一覧の各行の末尾に付く角括弧の6桁が ref です。宛先は「現在のタイトル + ref」で書きます。

宛先: 集計フィールドの追加 [3f9a1c]

タイトルが変わっていても ref が一致していれば届きます。逆に ref を省くとタイトルの完全一致が要求されるので、少しでも変わると失敗します。

送る直前に ListAgents を取り直す

依頼文を書いている間にもタイトルは変わります。手順は次の順に固定します。

  1. ListAgents で相手の現在のタイトルと ref を取る
  2. その場で SendMessage を組み立てて送る
  3. 失敗したら 1 に戻る(先に書いた宛先を書き直して再送しない)

自分の名前を依頼文に書かない

相手のタイトルだけでなく、自分のセッション名も同じ会話の中で変わります。ある会話では project-console-de [74f71c] だった名前が、途中で project-console-32 [805877] になっていました。

依頼文に「このセッション(project-console-32)へ報告して」と書いたところ、相手からは「宛先 project-console-32 が ListAgents に見当たらず送信できなかったため、依頼元へ返信します」という報告が返りました。ただし、この返信はこちらに届いています。依頼元への返信経路は名前に依存しないためです。

したがって依頼文には返信先の名前を書かず、次のように書きます。

完了したら依頼元へ返信してください(宛先の名前は指定しません)。

効いた依頼文の型

作業中のセッションに割り込まず、報告を1通にまとめてもらう書き方です。そのままコピーして使えます。

作業中なら割り込み不要です。完了後にまとめて1通で依頼元へ返信してください。
含めてほしい内容:
- 変更したファイルと適用したルール
- 動作確認の結果(何をどう確認したか)
- 未完了・判断待ちの一覧(あれば理由も)

この型で送ると、相手からは「①完了・リリース済み ②実装完了・未デプロイ・判断待ち4件」のように項目ごとに整理された報告が返ってきます。そのまま上司や依頼主向けの要約に流用できます。

できないこと

やりたいこと 可否 代わりの手段
相手のターミナル画面を見る 不可 依頼文で「現在の状態を要約して返して」と頼む
相手の操作を直接行う 不可 作業内容を文章で依頼する
相手側の権限確認をこちらで承認する 不可 相手側の権限モードがそのまま効く。危険な操作は相手側で承認待ちになる
クラウドセッションからの返答を受け取る 不可(片方向) 返答は相手側の画面で読む

「送って作業を依頼する」形なら成立しますが、リモートデスクトップの代わりにはなりません。

まとめ

  • Remote Control でつないだ別マシンのセッションは ListAgents に載り、SendMessage で作業を依頼できる。offline には送れない
  • No agent named '…' is reachable は、宛先のタイトルが作業内容に合わせて変わったのが原因。宛先には ref(角括弧の6桁)を添えるか、送る直前に ListAgents を取り直す
  • 自分のセッション名も途中で変わる。依頼文に自分の名前を書かず「依頼元へ返信」と書く。返信経路は名前に依存しない
  • 依頼文は「作業中なら割り込み不要・完了後に1通で・含める項目を列挙」の型にすると、構造化された報告が返る

よくある質問(FAQ)

ListAgents に相手のセッションが出てこない

相手側で Remote Control が有効になっていないか、別のアカウントでログインしています。まず相手側で Remote Control を起動し直し、こちらで ListAgents を取り直してください。出ていても offline なら同じ対処です。

ref を付けたのに No agent named になる

送る前に相手のセッションが終了したか、ref を一覧から写し間違えています。ListAgents を取り直して、現在の行から ref をそのままコピーしてください。ref は再利用されないので、一致しなければそのセッションはもう存在しません。

running のセッションに送るとどうなる

割り込みになり、相手の作業が中断されることがあります。急ぎでなければ idle になるのを待つか、依頼文の冒頭に「作業中なら割り込み不要。完了後に読んでください」と添えてください。

返信がどこに届いたか分からない

依頼元への返信は、こちらのセッションにセッション間メッセージとして届きます。相手が「宛先が見つからなかった」と書いていても、依頼元宛ての返信は届いているので、自分の会話の末尾を確認してください。

プログラミング学習でお悩みですか?

現役エンジニアがあなたの学習をマンツーマンでサポートします。

  • 学習の進め方がわからない
  • ポートフォリオの作り方を知りたい
  • 現場で使える技術を学びたい
まずは30分の無料相談

相談は完全無料・オンラインで気軽に

あなたを爆速で成長させるメンタリングプログラムはこちら

メンタープログラムバナー

学習・開発のお悩みは現役エンジニアに相談

メンタープログラムの詳細を見る

エンジニアの基礎学習ゲーム

プログラミング学習支援

無料相談はこちら