Installation
Install the RoutineOS plugin in Claude Code, check your environment with doctor, and know what each requirement is for.
RoutineOS ships as a Claude Code plugin. The plugin carries the skill Claude follows, the CLI, the templates and the Desk bundle.
Requirements
| Requirement | Version | Why |
|---|---|---|
| Claude Code | 2.1.275 or later | The version the repository README names for the plugin install line |
| Python | 3.11 or later | The CLI uses tomllib, which arrived in Python 3.11 |
| Third-party Python packages | none | The CLI is standard library only, because a cloud run starts on a fresh sandbox |
The registry records the cloud sandbox as having Python 3.11 and the standard library (tagged pilot, checked by a run on 2026-10-28). A routine that depends on an installed package can fail on a later run; keep scripts to the standard library.
Install the plugin
In Claude Code:
/plugin install routineos --marketplace devkindhq/routineos
The --marketplace form needs Claude Code v2.1.275 or later (docs, fetched 2026-10-30).
The marketplace manifest is .claude-plugin/marketplace.json in the repository, and the plugin manifest is .claude-plugin/plugin.json (name routineos, license MIT, author Devkind).
Check your setup
From the repository root (or the plugin folder), run:
python3 skills/routineos/scripts/routineos.py doctor
With no folder, doctor checks the interpreter only:
Python 3.13.15
tomllib: ok
Pass a routine folder to also load the platform registry and check that folder. This is the output for the Hiring Signals folder built in the Quickstart:
python3 skills/routineos/scripts/routineos.py doctor hiring-signals
Python 3.13.15
tomllib: ok
registry: ok (47 records)
delivery: hiring-signals: repo
ok: no problems
The delivery line appears for a folder with an app.toml and says how each routine’s logic reaches the run (see Routine kinds). Add --docs snapshot.json to check a store snapshot against store limits:
python3 skills/routineos/scripts/routineos.py doctor --docs snapshot.json hiring-signals
Exit codes
Every CLI command uses the same codes.
| Code | Meaning |
|---|---|
| 0 | OK |
| 1 | Lint problems (the command lists them) |
| 2 | Usage error, unreadable input or a contract error |
Common pitfalls
tomllibmissing. You are on Python 3.10 or earlier. Install 3.11 or later and runpython3 --versionto confirm which interpreterpython3resolves to.- Running from the wrong folder. Paths in these docs are relative to the repository root. From elsewhere, give the full path to
routineos.py. - Installing packages for a routine. Do not. Sandbox package installs are not reliable across runs; see Compute sandboxes for running heavier work elsewhere.