[{"data":1,"prerenderedAt":566},["ShallowReactive",2],{"content-/claude-code-cross-session-messaging-windows":3,"all-pages-for-dir":544,"related-/claude-code-cross-session-messaging-windows":545,"og-image-/claude-code-cross-session-messaging-windows":565},{"id":4,"title":5,"body":6,"category":525,"concepts":526,"description":527,"extension":528,"meta":529,"navigation":530,"ogImage":526,"path":531,"project_name":532,"published":533,"publishedAt":534,"seo":535,"source":526,"stem":536,"tags":537,"todo":526,"unpublished":533,"updatedAt":526,"__hash__":543},"pages/2026-08/2026-08-09/claude-code-cross-session-messaging-windows.md","Claude Code のセッション間通信は Windows では受信専用になる",{"type":7,"value":8,"toc":510},"minimark",[9,13,17,21,37,40,119,122,126,141,147,151,158,164,174,180,186,189,192,203,209,212,215,218,221,227,230,233,236,243,271,277,286,289,308,311,318,321,324,327,330,341,352,359,362,365,371,374,377,380,383,386,398,416,432,454,458,461,467,485,491,495,504],[10,11,5],"h1",{"id":12},"claude-code-のセッション間通信は-windows-では受信専用になる",[14,15,16],"p",{},"Claude Code v2.1.224 から、別々に立ち上げたセッション同士がメッセージを送り合えるようになった。\nこれを macOS 機と Windows 機の2台で試したところ、片方向しか通らなかった。\n2026-08-09 に実測した記録を残す。両機とも v2.1.226 である。",[18,19,20],"h2",{"id":20},"結論",[22,23,24,28,31,34],"ul",{},[25,26,27],"li",{},"macOS 機から Windows 機への送信は成功し、メッセージは実際に届いた。逆方向は送れない",[25,29,30],{},"Windows 側は同一マシン内の別セッション宛でも送信できない。宛先名の誤りではなく、機能そのものが提供されていない",[25,32,33],{},"受信だけが通るのは非対称なバグではない。送信と受信で経路が違うためである",[25,35,36],{},"Windows からの返信は、Chrome DevTools MCP でブラウザを操作し、claude.ai に開いた macOS セッションの入力欄へ流し込んで送った。機能としての迂回路が見つかったわけではない",[18,38,39],{"id":39},"検証した2台",[41,42,43,58],"table",{},[44,45,46],"thead",{},[47,48,49,52,55],"tr",{},[50,51],"th",{},[50,53,54],{},"macOS 機",[50,56,57],{},"Windows 機",[59,60,61,73,84,99],"tbody",{},[47,62,63,67,70],{},[64,65,66],"td",{},"OS",[64,68,69],{},"Darwin（macOS）",[64,71,72],{},"ネイティブ Windows 11。Git Bash（MINGW64_NT-10.0-26200）で、WSL ではない",[47,74,75,78,81],{},[64,76,77],{},"作業ディレクトリ",[64,79,80],{},"/Users/keikomatsu/git_repo/mdx-playground",[64,82,83],{},"C:\\Users\\numbe\\Git_repo\\mdx-playground",[47,85,86,93,96],{},[64,87,88,92],{},[89,90,91],"code",{},"ListAgents"," ツール",[64,94,95],{},"あり。ピアセッションを390件列挙した",[64,97,98],{},"存在しない。0件ではなく、ツールが提供されていない",[47,100,101,106,116],{},[64,102,103],{},[89,104,105],{},"CLAUDE_CODE_MESSAGING_SOCKET",[64,107,108,111,112,115],{},[89,109,110],{},"/tmp/cc-socks/66536.sock","（",[89,113,114],{},"srw-------"," で実在を確認）",[64,117,118],{},"空。inbox socket を bind していない",[14,120,121],{},"この表のうち、後半2行が結果を分けている。\nどちらも Windows 側に無い。",[18,123,125],{"id":124},"mac-から-windows-へは届いた","Mac から Windows へは届いた",[14,127,128,129,132,133,136,137,140],{},"macOS 側の ",[89,130,131],{},"SendMessage"," は ",[89,134,135],{},"success: true"," を返し、メッセージは Windows 側のセッションに到達した。\n受信側から見ると、送信元は ",[89,138,139],{},"bridge:"," で始まる識別子になっていた。\nこの接頭辞が、配送経路が Remote Control であることを示している。",[14,142,143,144,146],{},"macOS 側は ",[89,145,91],{}," で Windows 側のセッションを名前で認識していた。\n390件のピアセッションが列挙され、そのなかから宛先を名前で指定して送っている。",[18,148,150],{"id":149},"windows-から-mac-へは送れない","Windows から Mac へは送れない",[14,152,153,154,157],{},"逆方向は2種類のエラーで失敗した。\nどちらも ",[89,155,156],{},"message"," に本文を入れて送っており、本文が空だったわけではない。",[14,159,160,161,163],{},"宛先に ",[89,162,139],{}," を付けずに指定した場合は、セッションID、画面上の表示名、macOS 側のセッション名のいずれでも同じエラーになる。",[165,166,171],"pre",{"className":167,"code":169,"language":170},[168],"language-text","No agent named '...' is reachable.\nCheck the spelling, or use the agent ID from a background agent's spawn result.\n","text",[89,172,169],{"__ignoreMap":173},"",[14,175,176,177,179],{},"受信したメッセージの送信元をそのままコピーし、",[89,178,139],{}," 付きで返信した場合は文言が変わる。",[165,181,184],{"className":182,"code":183,"language":170},[168],"Cross-session messaging is not available in this session.\n",[89,185,183],{"__ignoreMap":173},[14,187,188],{},"後者が原因を直接示している。\n宛先としては正しく解釈されたうえで、このセッションでは機能が使えないと拒まれている。",[18,190,191],{"id":191},"同一マシン内でも送れない",[14,193,194,195,198,199,202],{},"マシンをまたぐことが原因ではない。\n同じ Windows 機の上で ",[89,196,197],{},"claude --bg -n crosstest"," を起動した。\nこのセッションは ",[89,200,201],{},"claude agents --json"," の一覧にも表示される。\nそこへ送っても結果は同じだった。",[165,204,207],{"className":205,"code":206,"language":170},[168],"No agent named 'crosstest' is reachable.\n",[89,208,206],{"__ignoreMap":173},[14,210,211],{},"つまり Windows 側では、マシンをまたぐ以前に、同一マシン内の送信すら通らない。\n宛先名の書き方を変えても解決しない。",[18,213,214],{"id":214},"受信だけ通る理由",[14,216,217],{},"送信と受信で経路が違う。",[14,219,220],{},"受信は Remote Control の接続に乗って届く。\nAnthropic のサーバーを経由して、そのマシンの Remote Control 接続へ配送される仕組みなので、Windows 側も宛先になれる。",[14,222,223,224,226],{},"送信と一覧取得は、ローカルの Unix ドメインソケットを前提としている。\n各セッションは自分の受信口となるソケットを bind し、そのパスを ",[89,225,105],{}," に出す。\n同じマシンのセッション同士は、このソケットを通じて直接やりとりする。\nAnthropic のサーバーは経由しない。",[14,228,229],{},"Windows 側でこの環境変数が空だったのは、ソケットを bind していないからである。\n成立しない前提の上に送信機能が乗っているので、送信も一覧取得もできない。\n結果として、受信だけができる状態になる。",[18,231,232],{"id":232},"復路はどうやって届いたのか",[14,234,235],{},"今回の往復は、行きと帰りでまったく別の経路を通っている。\nここを分けないと、機能が使えないのにメッセージが届いた理由が見えない。",[14,237,238,242],{},[239,240,241],"strong",{},"行きは機能そのものが動いた。","\nドキュメントの配送経路の表には、宛先が別マシンの場合の行がこう書かれている。",[41,244,245,258],{},[44,246,247],{},[47,248,249,252,255],{},[50,250,251],{},"Where the other session runs",[50,253,254],{},"How the message travels",[50,256,257],{},"What Claude here can send",[59,259,260],{},[47,261,262,265,268],{},[64,263,264],{},"On another of your machines",[64,266,267],{},"Through Anthropic servers, arriving over that machine's Remote Control connection",[64,269,270],{},"Replies only",[14,272,273,274,276],{},"Anthropic のサーバーを経由し、その機の Remote Control 接続に乗って届く。\nWindows 側が受け取ったメッセージの送信元が ",[89,275,139],{}," 接頭辞だったのは、この経路を通った表れである。\n受信に必要なのはローカルのソケットではなく Remote Control 接続なので、ネイティブ Windows でも受信は成立する。",[14,278,279,282,283,285],{},[239,280,281],{},"帰りは機能を一切使っていない。","\nWindows 側の ",[89,284,131],{}," は失敗したままである。\n内容が macOS 側へ届いたのは、ブラウザを操作するという別の手を使ったからだ。",[14,287,288],{},"具体的にはこう運んだ。",[290,291,292,295,302,305],"ol",{},[25,293,294],{},"Windows 側の Claude Code が Chrome DevTools MCP 経由で、ユーザーのログイン済み Chrome に接続する",[25,296,297,298,301],{},"macOS セッションのページ（",[89,299,300],{},"https://claude.ai/code/session_\u003CセッションID>","）を新しいタブで開く",[25,303,304],{},"ページ下部のプロンプト入力欄に、返信の本文を流し込む",[25,306,307],{},"送信ボタンを押す",[14,309,310],{},"macOS 側から見ると、これは Claude Code から届いたメッセージではない。\nユーザーが画面から打ち込んだプロンプトとして届く。\nセッション間メッセージングの通知としては表示されないので、受信側は誰が書いたのかを本文から判断することになる。",[14,312,313,314,317],{},"手順3と手順4のあいだには実務上の引っかかりがある。\n入力欄にテキストを入れただけでは、送信ボタンが押せる状態にならなかった。\nDevTools の入力操作は DOM の値を書き換えるが、ページ側のエディタがその変更を検知しないことがある。\n今回は送信ボタンの要素を直接取得し、",[89,315,316],{},"click()"," を呼んで送信した。",[14,319,320],{},"この迂回が成立する前提は2つある。\nmacOS セッションが Remote Control で claude.ai につながっていて、その画面をブラウザから開けること。\nそして Windows 側がそのブラウザを操作できること。\nどちらも Claude Code のセッション間メッセージングとは無関係の条件であり、たまたま両方が揃っていたにすぎない。",[14,322,323],{},"人が画面を見て手で貼り付けても結果は同じである。\n自動化されているのは文字を入力して送信ボタンを押す部分だけで、何を運ぶかの判断は毎回発生する。\nClaude Code の機能として往復しているわけではない。",[18,325,326],{"id":326},"公式ドキュメントの記述",[14,328,329],{},"この挙動は仕様として明記されている。",[22,331,332,335,338],{},[25,333,334],{},"セッション間メッセージングは v2.1.224 以降が必要で、macOS と Linux で動作する。ネイティブ Windows は対象外",[25,336,337],{},"WSL 2 の中の Linux は Linux として扱われる",[25,339,340],{},"マシンをまたぐメッセージは Remote Control 経由で運ばれる。API キー認証では対応しない",[14,342,343],{},[344,345,351],"a",{"href":346,"target":347,"rel":348},"https://code.claude.com/docs/en/cross-session-messaging","_blank",[349,350],"noopener","noreferrer","Claude Code 公式ドキュメント: Message your other Claude Code sessions",[14,353,354],{},[344,355,358],{"href":356,"target":347,"rel":357},"https://code.claude.com/docs/en/feature-availability",[349,350],"Claude Code 公式ドキュメント: Feature availability",[18,360,361],{"id":361},"ドキュメントの記述と実測が食い違った点",[14,363,364],{},"同じドキュメントには、マシンをまたぐ場合の制約として次の記述がある。",[366,367,368],"blockquote",{},[14,369,370],{},"Across machines, Claude can only reply. It can't start the exchange.",[14,372,373],{},"別マシンのセッションに対してできるのは返信だけで、会話を開始することはできない、と読める。",[14,375,376],{},"ところが今回、macOS 側から送った1通目は返信ではなかった。\nmacOS 側に先行する受信メッセージは無く、ユーザーの依頼を受けて新しく送ったものである。\nそれが Windows 側に届き、受信も確認できている。",[14,378,379],{},"この食い違いをどう理解すべきかは、まだ判断がつかない。\n配送の仕組みとして強制されているのではなく、Claude に与えられた指示として機能している制約なのかもしれない。\nただしこれは推測である。\n試したのは1方向かつ少数回で、条件を変えた検証はしていない。",[18,381,382],{"id":382},"機能の有無を切り分けるコマンド",[14,384,385],{},"自分の環境で使えるかどうかは、2つのコマンドで判定できる。",[14,387,388,393,394,397],{},[239,389,390],{},[89,391,392],{},"/list-agents","（別名 ",[89,395,396],{},"/peers","）を打つ。",[22,399,400,403],{},[25,401,402],{},"コマンド自体が認識されない場合、そのセッションにはセッション間メッセージング機能が無い。今回の Windows がこれに当たる",[25,404,405,406,408,409,411,412,415],{},"一覧は出るのに送信が届かない場合、機能自体はある。もっと狭い原因を疑う。",[89,407,131],{}," と ",[89,410,91],{}," の deny ルール、受信側の ",[89,413,414],{},"crossSessionInbound"," による保留や拒否、別マシン宛の返信専用制約などである",[14,417,418,423,424,427,428,431],{},[239,419,420],{},[89,421,422],{},"/status"," を打つと、",[89,425,426],{},"Peer address"," 行にそのセッション自身の受信アドレスが ",[89,429,430],{},"uds:"," 接頭辞付きで出る。\n機能が有効なセッションにしか表示されない。",[14,433,434,435,437,438,441,442,441,445,448,449,408,451,453],{},"設定で止める場合、受信と送信は別々の制御になる。\n受信を止めるのは ",[89,436,414],{}," で、",[89,439,440],{},"accept","、",[89,443,444],{},"hold",[89,446,447],{},"refuse"," の3値をとる。\n送信と一覧取得を止めるのは ",[89,450,131],{},[89,452,91],{}," の deny ルールである。\n今回のようなプラットフォーム由来の非対称と設定による非対称は原因が違うので、切り分けるときは混ぜないほうがよい。",[18,455,457],{"id":456},"_2台運用でどう回すか","2台運用でどう回すか",[14,459,460],{},"選択肢は3つある。",[14,462,463,466],{},[239,464,465],{},"現状の形をそのまま使う。","\nmacOS 側から発信し、Windows 側の返答は claude.ai の画面を経由して運ぶ。\n追加設定は要らない代わりに、返信のたびに Windows セッションの出力を macOS セッションの入力欄へ貼り付ける操作が入る。\n往路は機能が自動で運ぶが、復路は毎回この手当てが必要になる。",[14,468,469,472,473,476,477,480,481,484],{},[239,470,471],{},"Windows 側を WSL 2 で動かす。","\nドキュメント上は Linux 扱いなので、双方向が通るはずである。\nただしリポジトリが ",[89,474,475],{},"C:\\"," にあると ",[89,478,479],{},"/mnt/c/..."," 経由のアクセスになり、I/O が遅くなる。\n改行コードや ",[89,482,483],{},"core.hooksPath"," の扱いで別の手当てが要る可能性もある。\nこの懸念はまだ検証していない。",[14,486,487,490],{},[239,488,489],{},"macOS 側を常に発信側に固定する。","\n2台運用との相性はこれが一番よい。\n発信を片側に寄せてしまえば、返信できない制約が問題にならない場面が多い。",[18,492,494],{"id":493},"補足-原因を誤診していた","補足: 原因を誤診していた",[14,496,497,498,500,501,503],{},"macOS 側は当初、この失敗を ",[89,499,131],{}," の ",[89,502,156],{}," が必須パラメータであることに結びつけ、本文が空だから弾かれたのだろうと推測していた。\n実際には本文は毎回入っており、原因はプラットフォーム制限だった。\nWindows 側からエラー文言をそのまま報告したことで訂正された。",[14,505,506,507,509],{},"エラーの文言が2種類あったことが切り分けの手がかりになっている。\n",[89,508,139],{}," の有無でメッセージが変わったので、宛先解決の失敗と機能の不在を区別できた。",{"title":173,"searchDepth":511,"depth":511,"links":512},2,[513,514,515,516,517,518,519,520,521,522,523,524],{"id":20,"depth":511,"text":20},{"id":39,"depth":511,"text":39},{"id":124,"depth":511,"text":125},{"id":149,"depth":511,"text":150},{"id":191,"depth":511,"text":191},{"id":214,"depth":511,"text":214},{"id":232,"depth":511,"text":232},{"id":326,"depth":511,"text":326},{"id":361,"depth":511,"text":361},{"id":382,"depth":511,"text":382},{"id":456,"depth":511,"text":457},{"id":493,"depth":511,"text":494},"dev",null,"Claude Code v2.1.226 の macOS 機と Windows 機でセッション間メッセージングを実測した記録。Mac から Windows への受信は届くのに、Windows からは同一マシン内ですら送信できない。返信は機能を使わず claude.ai の画面を経由して運んだ。送信と受信で経路が違うことが理由で、公式にネイティブ Windows は非対応と明記されている。","md",{},true,"/claude-code-cross-session-messaging-windows","claude-code-tools",false,"2026-08-09T00:00:00.000Z",{"title":5,"description":527},"2026-08/2026-08-09/claude-code-cross-session-messaging-windows",[538,539,540,541,542],"Claude Code","セッション間通信","Windows","Remote Control","WSL","ZCklr2r0fLnHeQ58gCvTXUcpi9P4jsheHKa06xLFR1c",[],[546,550,554,558,562],{"title":547,"path":548,"publishedAt":549},"生成AIツールはなぜMac先行なのか、調べさせてHTMLとSVG図解で受け取った","/why-genai-tools-favor-mac","2026-08-02T00:00:00.000Z",{"title":551,"path":552,"publishedAt":553},"消えたファイルの原因を2日後に物証で特定した記録（Claude Code の再帰削除事故）","/recursive-delete-incident-postmortem","2026-07-31T00:00:00.000Z",{"title":555,"path":556,"publishedAt":557},"herdr を Windows ベータで導入した — AIコーディングエージェントの群れをターミナルで飼う","/herdr-windows-beta-install","2026-07-15T00:00:00.000Z",{"title":559,"path":560,"publishedAt":561},"1Password Environments MCPは\"Codex専用\"ではない — WindowsのClaude Codeで動かすまで","/1password-environments-mcp-windows","2026-07-02T00:00:00.000Z",{"title":563,"path":564,"publishedAt":561},"1Password Environments MCPサーバーのWindows検証 — トグルがオンにできない原因を追ってOS制約に行き着くまで","/onepassword-mcp-windows-verification","https://log.eurekapu.com/og/blog/claude-code-cross-session-messaging-windows.png?v=2026-08-09T00%3A00%3A00.000Z&title=Claude%20Code%20%E3%81%AE%E3%82%BB%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3%E9%96%93%E9%80%9A%E4%BF%A1%E3%81%AF%20Windows%20%E3%81%A7%E3%81%AF%E5%8F%97%E4%BF%A1%E5%B0%82%E7%94%A8%E3%81%AB%E3%81%AA%E3%82%8B&author=Kei%20Komatsu&sig=0301c1fc132c5896",1786233119696]