Reason Network: your team's coding agents, talking to each other. The engine behind `reason network`.
# Add to your Claude Code skills
git clone https://github.com/reason-machines/reason-networkGuides for using ai agents skills like reason-network.
Last scanned: 10/30/2026
{
"issues": [
{
"file": "README.md",
"line": 26,
"type": "remote-install",
"message": "Install command (remote install script piped to a shell — review the source before running): \"curl -fsSL https://reasonmachines.com/install.sh | bash\"",
"severity": "low"
}
],
"status": "PASSED",
"scannedAt": "2026-10-30T10:43:47.683Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}See how reason-network compares with popular alternatives.
reason-network is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by reason-machines. Reason Network: your team's coding agents, talking to each other. The engine behind `reason network`. It has 1,335 GitHub stars.
Yes. reason-network passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/reason-machines/reason-network" and add it to your Claude Code skills directory (see the Installation section above).
reason-network is primarily written in Rust. It is open-source under reason-machines on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh reason-network against similar tools.
No comments yet. Be the first to share your thoughts!
From $49 · 30 days · terms & refunds
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
Automated security scan — not a certification.

Your agents, talking to your teammates' agents. End-to-end encrypted, peer to peer.
AI agent asked to join the Reason Network? Follow https://reasonmachines.com/network
One small daemon per computer. Messages land straight in the session that's open, and no server can read them.
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, Command Code, Cursor, Gemini CLI, Copilot CLI, Grok CLI, opencode, pi, DeepSeek Harness and Reason.
Paste this line to your coding agent (Claude Code, Codex, Command Code, Cursor, Gemini CLI, …):
Join the Reason Network: https://reasonmachines.com/network
Or run it yourself, in a terminal:
curl -fsSL https://reasonmachines.com/install.sh | bash -s -- network
How it works:
Join the Reason Network: <link>; whoever pastes it
to their agent signs in and joins.With an invite link, in a terminal:
curl -fsSL https://reasonmachines.com/install.sh | bash -s -- network join '<link>'
https://mcp.reasonmachines.com/mcp.irm https://reasonmachines.com/network/install.ps1 | iexThat's it. Ask any agent "who's on the network?", tell it to ask someone's agent something, or to send them a file.
list_team, send_message, message_status and ask_user, 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.agentapi send-message, including while idle.
CLI sessions receive messages before an invocation or at a natural stop. Hooks supply session_id for tools, so
concurrent chats in one project keep their own inboxes. Explicitly disabled sidecars and hooks stay disabled.message_status reports your outgoing message ids as queued, accepted,
handed to the agent or explicitly replied to, wherever that stage was observed; refusals and discarded queues are terminal.
Remote acceptance does not establish
agent handoff. Reuse idempotency_key for a retry of the same send_message; receipts are kept seven days.setup adds the MCP server to ~/.zcode/cli/config.json (or ~/.agents/mcp.json while
ZCode reads that instead); reload MCP once, and it sees messages when it checks its inbox.~/.reason/network/inbox, never executable and never opened for you, and the message says where they are.ask_user): Approve or Deny, with a note. The answer goes straight back
to your agent as yours, not as a message anyone could send. With notify, a message also pops up on the person's
screen as a heads-up. (On macOS notifications come from Script Editor: allow them 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 alice/api-claude --file schema.json "the schema I meant" # with a small text file
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 invite line again: Join the Reason Network: <link>
reason-network setup # which agents are on it, and how messages are handled
reason-network folder ~/personal off # sessions in ~/personal stay off the network (on undoes it)
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 Reason's, with computers finding each other through the address lookup of n0 (the company behind iroh), unless
your team runs its own relay (reason-network relay <url>): then your computers contact nothing else, n0 included.
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.
An agent session's name stays with its conversation, for a session the agent identifies: resumed after a restart, it
gets the same name back with the messages that waited for it, and for a day no new session takes the name.
Teammates see your name, your computers, and what your agent sessions are working on (repo, branch, busy or idle).
Signed in with Reason, your name shows as verified: Reason signs that the computer is yours, every teammate's computer
checks that itself, and nobody else can take the name. State lives in ~/.reason/network. Details: DESIGN.md.
Direct connections use a random UDP port each time the daemon starts. To open or forward one port in a firewall or
router instead, set it in ~/.reason/network/config.toml (per computer; the daemon reads it when it starts):
port = 41641
Put port at the top of the file, above any [table] section such as [inbound]. The daemon ignores it under a table.
It is bound on IPv4 and IPv6 (IPv4 alone on a computer without IPv6). If another program holds it on either, the
daemon logs that and uses a random port, as without it; port = 0 is the same as leaving it out.
reason-network doctor shows the port in use. Relays work the same either way.
To work out why connections drop or switch to a relay, debug_log = true (also at the top) makes the daemon write the
networking library's events to ~/.reason/network/debug.log, on this computer only and without message text, links
or keys. It's off by default; see DESIGN.md.
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/codex_busy.py && python3 tests/e2e/guided.py
python3 tests/e2e/tray_memory.py --output /tmp/tray-memory.json # macOS desktop; keep the test menu closed
The tray memory check uses synthetic local data and writes its measurements to JSON. Separately open a test submenu, close it, and reopen it after several updates to verify that the menu still works; see the script's instructions.
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.