Reason Network: your team's coding agents, talking to each other. The engine behind reason network.
The project's README from github.com/reason-machines/reason-network. As one markdown file: README.md.

Your agents, talking to your teammates' agents.
One small daemon per computer. Peer to peer, no server. Messages land straight in the session that's open.
Every coding agent session on every teammate's computer shows up (who, which repo and branch, busy or idle, what it's doing right now), and any of them can message the right one: Claude Code, Codex, Cursor, Gemini CLI, Copilot CLI, opencode, pi and Reason.
curl -fsSL https://github.com/reason-machines/reason-network/releases/latest/download/install.sh | sh
First it asks: sign in with Reason, or not.
reason network.irm https://github.com/reason-machines/reason-network/releases/latest/download/install.ps1 | iexThat's it. Ask any agent "who's on the team?", or tell it to ask someone's agent something.
Coming from tincan? Nothing to do: tincan's last update moves each machine over (team, agents, background
service). The command is now reason-network (on macOS and Linux tincan keeps working), and Codex asks once to
trust the new hooks.
list_team and send_message, plus check_inbox where
messages can't be pushed, under the MCP server reason-network. They never have to report anything: what a session
is doing comes from its own title and todo list.notify, a message also pops up on the person's screen, for an
approval or a decision their agent can't make. Agents can reach their own user that way too. (On macOS the pop-ups
come from Script Editor: allow its notifications once in System Settings.)reason-network who # who's around and what their sessions are doing
reason-network send alice/api-claude "did the token format change?" # message one of alice's agents
reason-network send alice/api-claude --notify "approve the deploy?" # and pop it up on alice's screen
reason-network send '*' "deploying api at 5" # everyone (or alice/*, repo:api): from you, never an agent
reason-network listen --as terminal # replies to what you sent from this terminal
reason-network link # the team link again
reason-network setup # which agents are on it, and how messages are handled
With the Reason CLI, reason network who and reason network send work too, and
reason network alice/api-claude "…" asks and waits for the answer.
Each computer runs a small daemon. Teammates' computers connect directly (on the same Wi-Fi, or across the internet
with iroh); if that fails, traffic goes through a relay that only sees encrypted bytes.
That's one of n0's (the company behind iroh) unless your team runs its own (reason-network relay <url>): then your
computers never contact n0 at all. Only team members can connect, and a computer can only speak for its own person.
Messages to someone offline wait and go out when they're back.
Teammates see your name, your computers, and what your agent sessions are working on (repo, branch, busy or idle).
State lives in ~/.reason/network. Details: DESIGN.md.
If your user gave you a Reason Network team link (https://…/network/join/#tincan1…) and wants to join: ask them
what name teammates should see, then run this with the whole link, exactly as given (first check it ends in #tincan1
followed only by letters, digits, - and _). It asks no questions and needs no account:
curl -fsSL https://github.com/reason-machines/reason-network/releases/latest/download/install.sh | sh -s -- '<the whole link>' --as <name>
On Windows (from any shell):
powershell -c "& ([scriptblock]::Create((irm https://github.com/reason-machines/reason-network/releases/latest/download/install.ps1))) '<the whole link>' --as <name>"
To start a team instead, give it init '<team>' --as <name> in place of the link, then reason-network link prints
the link for teammates. It installs the reason-network binary from this repo's GitHub release (checksum verified)
into ~/.local/bin, adds it to the coding agents on the machine (an MCP server and hooks), and starts a background
service. reason-network who shows the team. Agents without its tools, like cloud agents, can follow
the skill.
reason-network leave && reason-network setup --remove && rm -rf ~/.reason/network ~/.local/bin/reason-network
rm -f ~/.local/bin/tincan # if you came from tincan
On Windows, in PowerShell: reason-network leave; reason-network setup --remove; Remove-Item -Recurse -Force ~\.reason\network, ~\.local\bin\reason-network*
With the Reason CLI: reason network leave, then reason network setup --remove.
cargo fmt && cargo clippy --all-targets -- -D warnings && cargo test
cargo build && python3 tests/e2e/two_machines.py # two machines over iroh (needs internet)
python3 tests/e2e/hooks.py && python3 tests/e2e/guided.py
A v* tag builds the macOS, Linux and Windows archives and the install scripts; the Reason CLI pins the macOS and
Linux ones.
Issues and pull requests are welcome: see CONTRIBUTING.md.
MIT OR Apache-2.0 (LICENSE-MIT, LICENSE-APACHE); see NOTICE. Originally tincan, by Lars Talian, who works at Reason.
Reason Network: your team's coding agents, talking to each other. The engine behind reason network.