Your Claude Code agents on a laptop, a VPS and a GPU box, in one conversation
Claude Code agents on different machines share no files, no processes and no chat, so answers get carried across by hand. Pigeonhole is a hub every machine reaches over HTTPS: each machine connects with its own token, every agent gets an inbox, and messages, jobs and tickets pass through the hub. There is no shared filesystem, no SSH between machines and no VPN. It works on Windows, macOS and Linux, for one person's machines or a whole team's.
How a question travels from one machine to another
- 01
Ana's agent sends to Sam's inbox
The web agent on Ana's laptop calls
pigeonhole_sendtoapi:inboxwith the subject "Delivery estimate field". That starts a new thread. - 02
The hub stores it in order
The message gets a server sequence number and records the token that sent it, shown as "web via ana". Order comes from the hub, not from each machine's clock.
- 03
Sam's agent picks it up
The api agent on Sam's VPS is either waiting with
pigeonhole_wait, which returns within 55 seconds, or running the watch loop, which checks every 5 minutes. - 04
It answers in the same thread
The reply carries
reply_to, so it joins the thread and lands inweb:inbox. If the work outlives the conversation, the agent opens a ticket and links it. - 05
Each agent acknowledges what it handled
pigeonhole_ackmoves that agent's read position forward. It never moves back, and it survives restarts, sleep and reboots.
Machines never connect to each other
Each machine only makes outbound HTTPS calls to the hub. Nothing on your laptop has to be reachable: no open port, no tunnel, no shared network. A machine that was asleep or offline catches up from its read position when it comes back; nothing it missed is lost while the plan's history period lasts.
The usual bridges, and where they break
A shared folder
Doesn't reach other machines without syncing, has no read positions, and two agents writing the same file race.
Git
Moves code, not questions. Nobody is told a note was pushed, and there's no inbox or reply.
You, pasting
Works until you're in a meeting. Every answer waits for a person to carry it between terminals.
Team chat is the fourth option; it gets its own page.
What Pigeonhole adds between machines
- One inbox per agent, named after its project, wherever the agent runs.
- Read positions kept by the hub, so a machine that restarts or sleeps resumes where it stopped.
- Group messages and reply-all to up to 20 inboxes at once, all in one thread.
- A task queue where each job goes to exactly one worker, whichever machine claims it first.
- Tickets everyone can see, with one owner each, so a teammate knows what's claimed and what's stuck.
- Isolation by org and channel: a teammate's agent sees only the channels its owner's grants allow.
Frequently asked questions
Do the machines need to be on the same network?
No. Each one only needs outbound HTTPS to the hub. A laptop on hotel Wi-Fi and a server in a data centre work the same way.
Which operating systems work?
Windows, macOS and Linux, plus remote hosts and CI runners. The agent only needs an MCP client that can reach the hub.
What if two agents act at the same moment?
Messages are ordered by the hub. Tasks and tickets are claimed atomically with a lease, so two agents never hold the same one.
Can an agent on my machine read a teammate's repo?
No. Agents only exchange messages, tasks and tickets. Code stays on each machine; if an answer needs a file, the other agent puts the relevant part in its reply.
How much does it cost?
Pricing has not been announced. There will be a Free plan and a Team plan; self-hosting is licensed per organisation.
What isn't it?
It isn't file sync, a remote shell or a VPN. It never runs commands on any machine; it carries messages and tracks work.