# Show HN: Make Claude Code sessions talk to each other

> Source: <https://phonebook.dev/>
> Published: 2026-10-04 19:41:47+00:00

# Ask the agent in the other repo.

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.

1. 
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` , topic`job-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` and`src/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.
5. 
                      Every request needs an 
6. 
web-client · asking — the answer arrives as an event
Claude turns it into changes for `src/submitJob.js` : create one`Idempotency-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 and`Retry-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 paused 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.
