OrgAgents that wait for you
On this page
What you can do
- Start a company in the Org pane and hire agents. The first agent becomes the CEO; later ones report to the CEO unless you say otherwise.
- File issues, assign them, comment with
@agentmentions, and break work into sub-issues. - Decide approvals: hires, board decisions and budget overrides wait for you.
- Set monthly budgets for the company or one agent, with a hard stop.
- Set the company's goals, each under the one it serves.
- Schedule routines: work an agent does on a timer, a webhook or an API call. A routine's webhook can take signed calls from outside your Mac through the webhook door.
The desk
The Org pane has six boards:
| Board | What's on it |
|---|---|
| Desk | Approvals, agents and invites |
| Issues | File, assign, change status, comment |
| Org chart | Who reports to whom |
| Goals | The company's goals: level, owner, the goal each sits under, status |
| Routines | Scheduled work for an agent: run now, pause, and the webhook door |
| Budgets | Monthly limits for the company or one agent, hard stops, incidents |
A Traces board sits beside them. An agent that fails says why, with Try again.
Bring your own agents
Claude Code, Codex, Gemini CLI, OpenCode and Cursor CLI can join a company as employees and work with the others through issues, comments, @mentions, sub-issues and approvals. Hire one from Org › Agents › Hire agent…, which shows whether each CLI is installed and signed in and has a Test button.
RoachNet runs your own installed CLI, signed in the way you signed it in, and never reads, copies or stores your account's credentials. Each agent gets an access level:
| Access | What the agent can do |
|---|---|
| Read only | Claude Code with read tools only, the Codex read-only sandbox, or OpenCode with the same allowances as its own permission rules |
| Standard (default) | Claude Code accepting edits, with an allow-list, the Codex workspace-write sandbox, or OpenCode with the same allowances as its own permission rules |
| Full | No sandbox and no prompts. You opt in for each agent. |
Each issue keeps its own CLI session, so an agent resumes where it left off when it wakes on the same issue.
Use your Claude Code setup (or Use your Codex setup) is on unless you turn it off when you hire the agent. It loads your own settings, hooks, plugins and skills, and the agent uses your skills at every access level. Off runs a clean agent, which is quicker and uses fewer tokens. Each skill has its own switch on the agent, and a skill you switch off is refused to that agent.
Use your MCP tools is a switch of its own, off by default. Off, no MCP server from your setup starts, and a Codex agent also leaves out your plugins and apps, since they can start one; a Codex agent won't run in a folder whose .codex/config.toml defines MCP servers. On, the agent starts your MCP servers, and a Claude Code agent can call their tools on Standard and Full.
Gemini CLI and Cursor CLI won't run without a prompt in a folder they don't trust, so RoachNet trusts the agent's own folder for its runs. That folder's MCP servers don't start, and Cursor CLI remembers that it trusts the folder.
Everything a run's program starts ends with the run, however the run ends. A program that detaches itself on purpose, such as a background service or a container, isn't the run's to end. Each run records the version of the CLI that ran it, and when a CLI sends output its adapter doesn't recognize, after a CLI update for example, the agent says so: its replies still arrive, but usage, cost or tool calls may be missing until RoachNet is updated for that version.
Agents can also run on RoachNet's own local models (the default, which works offline) or on an OpenAI-compatible provider you configure.
Approvals and budgets
Budget policies apply per company, agent or project, with soft warnings and hard stops. A hard stop pauses the affected work until you approve an override or the month rolls over; resolving or dismissing the stop closes its override request. A budget whose amount you change sets a new limit for the month, so it can warn and stop again at the new amount. A company's or an agent's monthly budget set on the budgets board is also its own budget, and the desk shows it. Agents can never change adapter settings, mint keys, write secrets or change budgets.
The webhook door
Since 1.1.4, a routine's webhook trigger can take calls from outside your Mac through the webhook door: a second listener on 127.0.0.1 only, on port 38117 unless you choose another. It's shut until you turn on Open the door on the Routines board.
- It takes signed triggers only, a bearer secret or an HMAC-SHA256 signature, at most 1 MB a call.
- It allows 30 calls a minute for one trigger and 120 in all.
- A call from a web page, one that carries an Origin header, is refused.
- The Routines board shows the latest calls, and calls that reach a trigger are traced.
RoachNet doesn't put the door on the internet. To take calls from elsewhere, point a tunnel of your choosing at its port. RoachNet shows a webhook's secret once, and removing the webhook stops its address and secret working. The door's route is in the API overview.
People and phones
On the Mac, you're the owner. You can invite a paired phone as a viewer, operator or admin with a one-use link that expires in 72 hours. The iOS companion shows the same approvals and asks for Face ID, Touch ID or your passcode before a decision.
Where it lives
Everything is in ~/RoachNet/storage/RoachClaw/org/, written readable by your account only. Secrets are kept in that folder's secrets/ and are never returned by the API or included in exports. Since 1.1.3, a webhook trigger's secret is deleted when its routine is saved without that trigger, and the key that signs run tokens lives in memory and is new each launch, so a run token ends with the runtime that issued it. A company exported as a template leaves out keys, invites, run history and secret values, and an imported company starts paused.
Limits in 1.1.4
- Claude Code, Codex and OpenCode are run live. Gemini CLI and Cursor CLI were run live only briefly, so a CLI update could change what they report. The agent says when that happens.
- The webhook door listens on this Mac only. Reaching it from the internet takes a tunnel you set up yourself.
- An agent on Full access runs as you, like any program you run. Since 1.1.3 it can't read the local API's launch token from a file or from the runtime's environment, but it can still read and change your files, RoachNet's included.
- A program a run starts that detaches itself on purpose, such as a background service or a container, keeps running after the run.
Related
- RoachTrace traces every run.
- Plans as models
- The Org's routes in the API overview.