Skip to content

Jobs from your terminal

Run Operator’s jobs and plans from your shell, scripts, CI or own agent, with the same login, rights and approvals as the app.

Talk to a human$npx @allocator-one/operator
operator — mara@larkspur

Get started

Three commands to start

All you need is Node 20 or later, with no install step, config file or keys to paste.

  1. 01Run it with npx

    npx fetches the latest operator command and runs it. Install it globally if you’d rather type less.

    Terminal
    $npx @allocator-one/operator
  2. 02Log in once

    Your browser opens on Infra One. Sign in as usual and every shell on this machine is logged in.

    Terminal
    $operator login
  3. 03Describe the outcome you want

    Describe the outcome. Operator reads your record, asks for approval before it changes anything, and checks the result.

    Terminal
    $operator run "List Fund II LPs with overdue tasks" --watch

Command reference

All commands on one page

Every command takes --json for scripts and runs as you, with your rights.

Jobs

One outcome, from ask to verified result

operator run "<outcome>" [--budget <usd>] [--skill /name] [--watch]
Start a job, optionally with one of your skills
operator jobs [--status running|waiting|done] [--mine]
What’s running, and what needs you
operator job <id>
Status, progress, budget, effects and checks
operator watch <id>
Follow a job until it finishes or needs a person
operator steer <id> "<instruction>"
Correct a job while it runs
operator cancel <id>
Stop a job; nothing unapproved is applied

Plans

Chains of steps that run for days or weeks

operator plan create --file <plan.yaml> [--idempotency-key <key>]
Create a plan, held until you release it
operator plan show <id>
Every step, who runs it and what it’s waiting for
operator plan edit <id> --file <ops.yaml>
Change steps or budgets; edited steps go back on hold
operator plan release <id> [--spend-budget-cents <n>] [--collaborator <who>]
Start it, within a budget
operator plan hold <id>
Pause every step

Gates

Sign-offs that steps wait for

operator gate satisfy <step> <gate>
Tick a sign-off; the step starts if nothing else holds it
operator gate unsatisfy <step> <gate>
Take a sign-off back

Tools & skills

What Operator can do in your organization

operator tools [--domain <name>]
Every tool Operator can use, by domain
operator tools search "<query>"
Find the right tool
operator tool <id>
What it reads or changes, and its inputs
operator skills
Your organization’s skills assigned to Operator

Account

One login for every shell

operator login [--no-browser]
Sign in through your browser
operator whoami
Who you are, which organization, which host
operator logout
Revoke this machine’s login

Agents

Operator for any MCP client

operator mcp
Serve Operator’s tools to your agent over MCP

Every command takes --json

Exit 0 done · 1 refused · 2 usage · 3 network

MCP

Operator for your agent

Add Operator’s MCP server to any MCP client, and your agent gets the CLI’s commands under your login and hands you the link when a change needs approval.

mcp config · json
{
  "mcpServers": {
    "operator": {
      "command": "npx",
      "args": ["-y", "@allocator-one/operator", "mcp"]
    }
  }
}

11 tools your agent gets

  • runStart a job
  • jobs_listWhat’s running and what needs you
  • job_showA job’s progress, effects and checks
  • plan_createDraft a plan, held until released
  • plan_showEvery step and what it waits for
  • plan_editChange steps or budgets
  • plan_releaseStart a plan within a budget
  • plan_holdPause every step
  • gate_setTick or untick a sign-off
  • tools_searchFind the right tool
  • skills_listYour organization’s skills
Your agentoperator · MCP
operator — larkspur

Built for scripts

Operator behaves like the tools in your shell, so it fits into scripts, cron jobs and CI without glue.

Same rules as the app

The CLI and the MCP server enforce everything the app enforces.

Every command runs with your access
Every command runs as you and checks your access in that moment, exactly as the app does. Your agent gets no more than you have.
One organization per token
A token belongs to one organization. Nothing you run can reach another organization’s records, plans or jobs.
Approval stays in the app
The terminal and your agent start, follow, steer and stop work. Approving a change happens in the app, where you see exactly what will change.
Budgets and off switches apply
Plans run inside the budget you release them with and your organization’s monthly cap. Pausing Operator in the app pauses it here too.
Every command has a JSON form
Human-readable by default, --json for scripts. Exit codes tell a usage error from a refusal from a network problem.
MCP tools match the CLI commands
The MCP tools are the CLI’s commands with typed inputs. Anything you can do with the operator command, your agent can do too.

More on Operator

Four views of Operator

Each page covers one part of how Operator works.

Common questions

  • Only Node 20 or later. npx @allocator-one/operator fetches the latest version each time; install it globally if you prefer a plain operator command.

  • Yes. Create a token for one organization with the scopes the job needs, set it in your CI’s secrets, and run the same commands headless.

  • No. An agent, like the CLI, can start, follow and stop work. Approving a change always happens in the app, by a person who can see it.

  • Any MCP client. Point it at operator mcp and it gets Operator’s tools under your login.

  • Yes. It’s one package: teams who already use harness for their plans keep that name, and operator works alongside it with the same login.

  • The CLI prints an estimate before a plan starts and the cost when a job finishes. The W-8BEN job at the top of this page took 2m 14s and cost $0.41.

Run your first job

Run the CLI with npx, log in once and start a job from your terminal.