Codex
Plan you already hold
The Codex CLI, on the subscription it is already signed in to.
Found on your PATH as codex
Local autonomous research runtime
One goal, its own agents, its own run directory. It reaches models through the agent CLI you are already signed in to — Codex or Claude Code — so nothing here resells you tokens.
curl -fsSL https://openlab.bot/install.sh | shHarnesses
OpenLab installs no model and resells no tokens. It dispatches every agent to a locally authenticated harness on this machine, and openlab doctor says which of them it can find.
Plan you already hold
The Codex CLI, on the subscription it is already signed in to.
Found on your PATH as codex
Plan you already hold
The Claude Code CLI, on the subscription it is already signed in to.
Found on your PATH as claude
Plan you already hold
A Z.ai coding plan, served over an Anthropic-compatible API and driven through the Claude CLI.
Found on your PATH as glm
Your wallet, by the token
A key you hand over, driven through the Codex CLI. Nothing caps it, and its setup card says so first.
Found on your PATH as deepseek
Your wallet, by the token
A Meta account, metered the same way and publishing no balance at all, so the lab cannot say what a run cost until Meta does.
Found on your PATH as muse
How a lab works
One lab holds many investigations, each running alongside the others. An investigation is a goal, a team, and a research loop that turns until it has something or has nowhere left to look.
01
Reads the goal and every lead already spent on it, then names the ones still worth opening.
02
One per lead, all at once, each free to get at its lead however it sees fit.
03
Reached only when a researcher comes back claiming something, because otherwise there is nothing to verify.
04
A finding that survived verification, and one of the five moments the lab will reach you about.
Then it turns again, on what the last turn spent and what it ruled out. Two things stop it, and it tells you which:
The director could not name another lead. The investigation stops rather than inventing work.
Every subscription it may use has reached the cap you set. It sleeps on the first window due back and takes itself up then.
First run
Node, pnpm and a toolchain are not requirements. A release is one executable with its runtime inside it, and the database is created on first start beside the runs it is about.
$openlab doctor
Says which agent CLIs it can find on this machine, and what is missing before it can dispatch to them.
$openlab start
Opens the lab, applies its migrations and serves the dashboard. Every investigation it already holds reopens with it.
$openlab new --goal "Find a faster implementation of a reference algorithm"
Starts an investigation: one goal, its own team, its own run directory, running alongside the others.
Guardrails
Research runs long and mostly unwatched, so the answers below are behaviour the runtime already has rather than a setting somebody has to go and find first.
A subscription window can be capped short of the vendor's own ceiling — 80% of the five-hour window, 60% of the weekly one. A capped subscription is passed over exactly as a spent one is, and a run already under way finishes rather than being killed mid-thought.
A finding survived verification. It needs something only you can give it. An investigation failed, or went to sleep, or a harness is not ready to dispatch to. Nothing else, so a message is never a stream to tune out.
Starting a lab asks the release channel at most once a day and says one line if there is something newer. Taking it is yours to decide, and the manifest has to be signed by a key compiled into the lab or nothing is installed.
The dashboard reads the lab live: every investigation, what each one is doing, its team, its event stream and what it ended up as. It is served by the daemon on your own machine, so there is nothing to log in to.
One SQLite file and the run directories beside it, under OPENLAB_HOME. Copy it to keep it, delete it to be rid of it. Installing and uninstalling the program never touches it.
One command, on the plan you already hold. Nothing to sign up for, nothing to configure before it can tell you what it is missing.
curl -fsSL https://openlab.bot/install.sh | sh