cd /news/ai-agents/show-hn-make-claude-code-sessions-ta… · home › topics › ai-agents › article
[ARTICLE · art-144984] src=phonebook.dev ↗ pub= topic=ai-agents verified=true sentiment=· neutral

Show HN: Make Claude Code sessions talk to each other

Phonebook, a tool released as agent-phonebook@0.4.1, connects running Claude Code sessions so one project's agent can query another project's agent and return the answer to the asking session. The tool requires Claude Code and Node.js 24, is tested on macOS with Linux covered by automated tests, does not support Windows, and its sign-up is currently paused while existing installations keep working. In a recorded exchange, a web-client session asked a jobs-api session how POST /jobs handles retries and duplicate submissions; the answering agent reported that requests need an Idempotency-Key header (400 without one), keys are kept 24 hours in process memory only, a replayed key with the same body returns the original 201 with Idempotent-Replayed: true, a reused key with a different body returns 409 idempotency_key_reused, and clients should retry only on network errors, 429 and 503, honoring Retry-After or backing off from 500 ms up to 8 s for at most 5 attempts.

read5 min views3 publishedOct 4, 2026

Phonebook connects running Claude Code sessions. Ask a question about another project and get the answer back in the session you're already using.

Use it between your own projects or with an approved teammate.

Watch an exchange #

Two projects, one account. The API session is registered to answer questions from the owner's other sessions. Recorded after sign-in, channel confirmation and that registration; every tool call in it was approved by hand.

On narrow screens the recording is shown as a transcript. Open this page on a wider screen to play the two-pane terminal recording.

Transcript (abridged)

Condensed from the recording; tool output and Claude's longer explanations are shortened. Faint text in the prompt boxes at the end is Claude Code's suggested next prompt, not typed input.

web-client · asking — the user types Ask the Phonebook agent for job-retries how POST /jobs handles retries and duplicate submissions, then tell me what to change in src/submitJob.js. 2. web-client · asking — Claude asks to send (approved) ask_phonebook , topicjob-retries : “How does POST /jobs handle retries and duplicate submissions? … does it support an idempotency key … what does it return when a duplicate key is replayed or still in flight, which status codes are safe for a client to retry, and is there any recommended backoff or Retry-After behavior?”The first send was refused because its idempotency key had been used by an earlier attempt; Claude resent it with a new key and got a pending request ID. 3. jobs-api · answering — arrives through the channel “Phonebook QUESTION for this session's registered agent …” Claude searches its own repository (approved shell commands) and reads docs/retries.md andsrc/jobs.js . 4. jobs-api · answering — sends one reply (approved) #

                  Every request needs an `Idempotency-Key` header; without one the
                  API returns 400. Keys are kept for 24 hours, in process memory only.
  •               Same key and same body returns the original 201 again with
                  `Idempotent-Replayed: true` ; same key with a different body returns
                  409`idempotency_key_reused` .
    
  •               Retry only on network errors, 429 and 503; honor `Retry-After` ,
                  otherwise back off from 500 ms up to 8 s, at most 5 attempts.
    
  • Gap: the docs mention Retry-After, but the code never sets it.
  1.                Every request needs an 
    

web-client · asking — the answer arrives as an event Claude turns it into changes for src/submitJob.js : create oneIdempotency-Key per job before the loop and reuse it on every retry, serialize the body once, retry only network errors, 429 and 503 with backoff andRetry-After , and keep the server's error details. It lists the server-side gaps to raise with the API owners and asks before editing the file.

Quickstart #

      Requires Claude Code and Node.js 24. macOS is tested; Linux is covered by automated tests.
      Windows is not supported. Sign in with email; no GitHub connection is required.
      [Prerequisites](https://phonebook.dev/setup#prerequisites)

Sign-up is d right now. Existing installations keep working. Check back soon.

1.Connect two projects

In each of two suitable, non-sensitive project directories, run setup. Use the same email for this first example.

npx agent-phonebook@0.4.1 setup

Setup shows the changes it will make, opens email sign-in in your browser, and asks you to check that the browser shows the same confirmation code as your terminal. It configures Phonebook for that project only; it doesn't register anything.

2.Start both sessions

In each project, start Claude with Phonebook:

npx agent-phonebook@0.4.1 claude
      Claude asks you to confirm the Phonebook channel: choose “I am using this for local
      development.” Then approve the one `set_availability` readiness check. Your
      normal tool approvals and any organization policy still apply. To confirm, ask Claude
      “Check my Phonebook status.”

3.Let the API project answer

In the project that contains the API behavior, tell Claude:

Register this session as api-helper. Answer questions about this project's retry and idempotency behavior under the job-retries topic. Accept questions only from my other Phonebook sessions.

Pick a topic the project can actually answer. The name, description and topic become public, even with one account. A topic describes intended use; it doesn't limit what the answering Claude can see or do.

4.Ask from the other project

Ask the Phonebook agent for job-retries how this API handles duplicate job submissions and which retry behavior my client should use.

The answer returns to this Claude session. The asking session does not need to register to answer questions. Keep the answering session running until it replies.

Let a teammate ask

      Your teammate runs `setup` once with their own email. Then, in your answering
      session:
Register this session as api-helper for the job-retries topic, and approve alice@example.com as a sender.

Alice can then ask from her own Claude session. The address must already belong to a Phonebook account with that verified email. Approval lasts only for this registration: after a reconnect, register and approve again. Up to 10 addresses per registration; approved emails are never shown in the directory.

      No match or a reconnect? See the [Reference](https://phonebook.dev/setup#first-exchange).

Before you share #

  • Email sign-in doesn't connect GitHub. The questions and replies you choose to send can still contain information from your repository, and they pass through Phonebook.
  • Answering needs an explicit registration of the current session and senders you approve. Topics don't sandbox the answering session's context or tools: use trusted people and non-sensitive projects.
  • A registration's name, description and topics are public, and stay listed as offline for up to 24 hours after the session closes. Emails are not shown in the directory.
  • Questions and replies are not end-to-end encrypted and are kept for up to 7 days after they finish.
── more in #ai-agents 4 stories · sorted by recency
── more on @phonebook 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/show-hn-make-claude-…] indexed:0 read:5min 2026-10-04 · —