Show HN: Agentlink – Messaging for Claude Code agents on different accounts A developer released Agentlink, an open-source tool that lets Claude Code and Codex agents on different accounts and different machines message each other, addressing any agent as name@host (e.g. reviewer@laptop.local). Agentlink requires Claude Code 2.1.318 or newer on each machine, runs on Apple silicon Macs or Linux (Intel Macs are not supported), and needs machines on the same network or Tailscale; each invite adds one machine and expires after 24 hours. An incoming message wakes an idle Claude Code or Codex session through a background hook, and setup requires no config files, accounts, or server, with agentlink uninstall removing its tools and hook. Let AI agents on different Claude accounts — and different machines — message each other. Claude Code's own messaging needs every session on one account; agentlink doesn't. Address any agent as name@host e.g. reviewer@laptop.local . An incoming message wakes an idle Claude Code or Codex session , just like agents talking on a single machine. Watch the whole one-minute demo, from setup to reply, at poly.io/agentlink https://poly.io/agentlink - Claude Code https://claude.com/claude-code 2.1.318 or newer on each machine. Codex 0.167 or newer is woken too, and other MCP agents can join what-you-get for a machine without Claude Code, set AGENTLINK SKIP CHECKS=1 for the installer . - An Apple silicon Mac or Linux. Intel Macs aren't currently supported. - Machines on the same network, or Tailscale on each of them. The installer brings everything else. It needs no sudo. First machine — paste into Claude Code or run the command yourself : Set up agentlink on this machine: run curl -fsSL https://raw.githubusercontent.com/tombaldwin/agentlink/main/install.sh | sh , then show me the prompt it prints for adding other machines, and tell me to type /reload-plugins. Or install the Claude Code plugin, which teaches Claude to set agentlink up and use it, then ask Claude to set up agentlink: /plugin install agentlink --marketplace tombaldwin/agentlink Every other machine — paste the prompt the first machine printed. It looks like: Join my agentlink network: run curl … | sh — then tell me to type /reload-plugins. Each invite adds one machine and expires after 24 hours. The pinned key means curl only talks to the machine that made the invite. That key exists only while the invite is open, so a used invite line stops working curl reports a key mismatch or a 404 . Run agentlink invite on any member for a new one. Then type /reload-plugins in Claude Code. That session is now on the network, and so is every new one. If that doesn't work, restart it: claude --continue picks up where you left off. That's it: no config files, no accounts, no server to run. Setup adds agentlink's tools and a small background hook to Claude Code's settings and Codex's, if it's installed , and agentlink uninstall takes them out again. On Apple silicon Macs it installs agentlink as a signed app ~/Applications/agentlink.app , from the inviting machine or the latest release, refused unless Apple's certificate for agentlink's team signed it ; macOS asks once to let agentlink find devices on your local network: click Allow. Elsewhere it uses npm, and brings its own Node.js if the machine doesn't have a recent one. For the next machine, ask Claude on any member to add one or run agentlink invite . Agents are named after their project folder, so a session in ~/code/reviewer on the machine desk is reviewer@desk.local . Ask Claude who's online, then ask it to message someone: You, to Claude on your laptop: Ask reviewer@desk.local mailto:reviewer@desk.local why the build is failing. Claude: Sent. pushed to reviewer@desk.local's live session The session on desk wakes, even if it was idle, and works on it. Its answer wakes the session on your laptop in the same way. You don't need the exact address. reviewer@desk works .local is added, and case doesn't matter , and so does a machine's Tailscale name or IP address. You can also just say "ask the reviewer on my desktop": Claude checks who's online and works out which agent you mean. More ways to use it, such as a reviewer on another account, waking a session from CI, or a nightly job that reports in the morning, are in Recipes https://github.com/tombaldwin/agentlink/blob/main/docs/recipes.md . - Wake on message. A background hook wakes the session when a message arrives, even when it's idle, and Claude reads it and acts on it it still stops at any permission prompt . Tools: send , peers , inbox , plus network and invite for managing the network. Removing machines and uninstalling stay in the terminal, so you always see the command first. - Nothing gets lost. Messages are stored on disk at every hop and retried. If the recipient isn't running, its machine keeps the message; if the whole machine is off, copies wait on up to 3 other online machines and whoever sees it return first delivers. Copies that reach a machine twice are dropped, though a session that dies just as a message is shown gets it again when it restarts. Messages expire after 7 days. A session can have 2,000 unread messages waiting, and a machine's store can reach 1 GB maxWaiting and maxStoreMB in ~/.agentlink/config.json . Past that, a message from another machine waits at the sender and is retried, and a send from this machine fails with an error, so a runaway agent stops there. - Zero-config discovery. Machines on the same LAN find each other automatically encrypted UDP beacons and share what they know, so every machine learns the whole network. - Multiple Claude accounts. Every CLAUDE CONFIG DIR account setup can find is enabled ~/.claude dirs, shell aliases, and the one the shell is using ; run agentlink setup again to add new accounts. - Beyond the LAN. With Tailscale on both machines, agentlink invite includes the Tailscale name and joining machines use it automatically. A machine that moves between networks is found again at its other addresses, within a couple of minutes. - Codex. If Codex is installed, setup adds agentlink to ~/.codex/config.toml too. The next time Codex starts, it asks you to trust agentlink's hook: trust it, and a message gives an idle Codex session a turn through codex queue , Codex 0.167 or newer . Codex sessions are named after their project folder. - Other agents. Any MCP agent can join with agentlink mcp --poll it reads with inbox instead of being woken . - Channels and managed accounts. If your organisation's policy turns channels off, agentlink claude sessions can't tell, and pushed messages don't show up. Set AGENTLINK POLL=1 so they're read with inbox instead. Name a session with AGENTLINK NAME=