Honest limits: what RoutineOS has and has not verified
RoutineOS builds on Claude scheduled tasks, which are a research preview and may change. Some things we have seen work in a real run. Some we have only read in Anthropic's docs. Some we have not checked. Each claim below carries a tag that says which: pilot-verified (a real run checked it), docs-stated (read in Anthropic's docs, not run), owner-verified (checked by the maintainer) and unverified (not checked).
Four tags, and we never upgrade one
| Tag | What it means |
|---|---|
| pilot-verified | Checked by a real run of a routine. |
| docs-stated | Read in the official docs. Not checked by a run. |
| owner-verified | Checked by the RoutineOS maintainer. It is not a documented pilot. |
| unverified | Not checked. Do not rely on it. |
Every platform claim, with its tag
| Claim | Tag |
|---|---|
| Each run starts on a fresh Python 3.11 sandbox and cannot fire another routine. | pilot-verified |
| Approval gates over email work, and so do Slack sends with the connector set to "Ask for approval". | pilot-verified |
| The artifact database holds 25,000 documents per artifact, 256 KiB each. The official artifact docs say artifacts have no backend, so these two statements are on record side by side and not reconciled. | pilot-verified conflict |
| The minimum schedule interval is one hour. Lint enforces it. | docs-stated |
| "Run now" from the Desk has no low-latency path. It is an action queue. | docs-stated |
| Repo-hosted scripts run inside a run when called by path. | owner-verified |
| A script writing to the Desk database or to a connector. The model does every write instead. | unverified |
| The API trigger (webhook) fires a routine from outside Claude. | owner-verified |
| The text sent with a fire reaches the run as untrusted data. | docs-stated |
| Sheet or Drive writes need the Google Drive connector. | unverified |
| Workers AI called directly from a run is blocked by the sandbox. | pilot-verified |
| Workers AI called through a connector. | unverified |
The registry also lists these as unverified, so do not count on them: an approval button inside the Desk page resolving a gate for a run, a push notification reply reaching a routine, and approval through Teams. Push is a one-way notice today.
How gate replies are checked
approve or reject plus a code. The routine's prompt tells the later run to accept only such a reply from the named approver and to ignore other instructions in it. That is a prompt rule, not a check made by code. On a gate for a joined worker, the email is a notice only. A reply never approves it; only a decision made on the Desk by the person serving the lane counts.What is built, and what has run for real
- Only Jobs watch and Watch are piloted. The other templates in the catalog are unpiloted.
- Approve then send on the Desk is not piloted end to end. The email and Slack routes are.
- Learning is built and tested. It has not run on a live routine.
- The plugin does not run inside cloud scheduled runs. Only skills committed to the repo do.
- Make, Activepieces and Pipedream conversion is not built.
- The daily run cap is a rule in the prompt, not a hard guarantee.
Read the full list in the docs
The docs page holds every claim with its tag and stays current. Free (MIT). Needs a paid Claude plan.