RoutineOSBeta
Concepts, since 0.8.0

Join a Desk: your team serves one Desk, each from their own account

An owner can open a Desk so colleagues serve it with their own routines and connectors. Each person takes one lane of work. Their routine runs on their own Claude account, and the Desk shows everyone's work in one place.

since 0.8.0access rules not yet pilot-verified
How joining works

Lanes, worker kinds and daily caps

A lane is one job on the Desk that a person can serve, for example drafting replies from their own mailbox. A Desk is the page where your routines show their work. To serve a Desk means running a routine for it from your own account. A sender lane is the lane that sends mail. The owner answers one question when building the Desk: should other people be able to join with their own routines? A yes adds a join block with the lanes and a daily cap.

There are two worker kinds. mail-draft drafts replies. mail-send sends them, and it is gated. A worker's prompt is the kind's fixed template, filled in one checked pass. The owner's description of a lane never reaches a model as an instruction.

  1. Owner opens the DeskA join block with lanes, params, connectors, schedule, gate and a cap goes into the Desk's definition.
  2. Joiner reads the DeskThe joiner needs access to the Desk as a Contributor. They pick a free lane in plain words and answer its params.
  3. Permission screenBefore anything is created, the joiner sees the Desk, lane, connectors, what it reads, what it may do, what it sends, its schedule in their time zone and the paths it writes. Nothing is created until they say yes.
  4. First run is report-onlyThe worker takes no external action until the joiner confirms its output is right, in their own words.

The daily cap is set per account or for the whole Desk. A run counts itself before any work, so a run that fails later still counts. A Desk-wide cap may overshoot by at most one run per writer if two runs start in the same minute.

The Workers page

See who serves what

On a Desk that is open to join, the Desk gains a Workers page. For each lane it shows who serves it, the last run and its health, items waiting and done, and gates to approve. An unserved lane has a Copy link control to send to someone who might take it. The page also shows your own Desk id, which you give the owner.

Names appear only when the Desk has more than one writer.

Gates and learning

Approvals and suggestions stay with the right person

The worker's prompt reads approvals only from the joiner's own decisions path, so the owner's approval does not count. This depends on the Desk's database rules, which are not yet pilot-verified. Only the joiner who serves a lane is meant to approve its gates. The approval covers the exact content that person was shown. See approvals.

A worker learns only from its joiner's own decisions. The owner's suggestions show where evidence came from, for example "From 7 decisions by you and 5 by a teammate (sender lane)". Only the owner applies a suggestion. See how learning works.

Security

Release is final, and evidence comes from your own decisions

  • An owner's Release is final for the person it releases. A worker cannot undo it by editing its own record (0.8.1). The owner can re-admit the person by removing the release.
  • A worker's learning evidence comes only from the joiner's own decisions. What a worker writes about its own outcomes is never evidence (0.8.1).
  • Closing a Desk does not stop a worker who already joined. Only Release or Leave does.
  • Run counters must be non-negative whole numbers. A joiner cannot block the owner's runs through the cap.

The Desk's database rules, which let only the owner write owner paths and each person write only their own, are documented by the platform and are not yet pilot-verified.

Limits in version one

What joining does not do yet

  • Joiners must be in the owner's organization. Sharing across organizations is not supported.
  • The worker routine runs from the RoutineOS repository, so the joiner's account needs read access to it until it is public.
  • Workers are scheduled routines only.
  • The first scheduled write from a joiner's account was denied by auto mode, so each worker prompt names the exact Desk, collection and document it writes.

Free (MIT). Needs a paid Claude plan. Read the guide, where every command output shown is what the CLI printed.

Build a Desk, then open it

Install the plugin in Claude Code, start a routine with a Desk, and answer yes when asked about joining.