Skip to content

CLI reference

Every autolab command, argument, and option. This page is generated directly from the CLI, so it never drifts from the version you've installed. For the same text in your terminal, run:

autolab --help
autolab <command> --help

New here? Start with the Quickstart or the task-focused guides — they show these commands in context.

autolab

autolab — git-for-state, slurm-for-compute CLI for the control node.

Usage:

autolab [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--url text Control-node URL (overrides AUTOLAB_URL / profile). None
--profile text Named profile from ~/.config/autolab/config.toml. None
-q, --quiet boolean Print only essential results. False
-v, --verbose boolean Stream raw git output. False
--version boolean Show the version and exit. False
--help boolean Show this message and exit. False

autolab cancel

Cancel a queued or in-flight job.

Usage:

autolab cancel [OPTIONS] EXPERIMENT

Options:

Name Type Description Default
--help boolean Show this message and exit. False

autolab checkout

Reset the working tree to an experiment's code (or main).

Fetches first so the target commit is present locally; if you have uncommitted changes it explains how to keep them (submit) or discard them (--force).

Usage:

autolab checkout [OPTIONS] EXPERIMENT

Options:

Name Type Description Default
-f, --force boolean Discard local changes when switching. False
--help boolean Show this message and exit. False

autolab clone

Clone a project into a workspace. PROJECT is owner/project-slug.

Usage:

autolab clone [OPTIONS] PROJECT [DIRECTORY]

Options:

Name Type Description Default
--help boolean Show this message and exit. False

autolab diff

Show what submit would send — the changes vs the experiment you're in.

Wraps git diff against the parent experiment's commit: the full patch by default (new files included), or a --stat summary of files + added/removed lines. autolab's own .autolab/ control dir is never shown.

Usage:

autolab diff [OPTIONS]

Options:

Name Type Description Default
--stat, --stats boolean Show a ±LOC summary instead of the full patch. False
--help boolean Show this message and exit. False

autolab get

Fetch logs / traces / artifacts for an experiment.

Usage:

autolab get [OPTIONS] {logs|traces|artifacts} EXPERIMENT

Options:

Name Type Description Default
--help boolean Show this message and exit. False

autolab init

Create a project and link the current directory as its workspace.

First asks whether to use the current directory's code as the source, then collects the research goal:

• using code → name, run command, objective, env setup, constraints, termination • empty → name, objective, constraints, termination (the orchestrator fills run + setup once there's code)

The slug is the slugified name (deduped to …-v2 if taken). Every project starts on your AutoLab platform key. Fully scriptable with flags + -y (headless / LLM use); pass --start to go live now.

Usage:

autolab init [OPTIONS]

Options:

Name Type Description Default
--name text Project name (the slug is derived from it). None
--source text Git URL to clone (implies using code). None
--empty boolean Start an empty project (ignore any local files). False
--description text Short project description. ``
--objective text Research objective — what to optimize. ``
--run text How to run an experiment (code projects). ``
--prep text Environment setup (code projects, e.g. 'uv sync'). ``
--constraints text Constraints the agent must respect. ``
--stop-policy text Termination condition (free text). ``
--max-cost float Hard $ cap on agent spend. None
--start boolean Start the agent immediately. False
-y, --yes boolean Non-interactive: use flags, don't prompt. False
--help boolean Show this message and exit. False

autolab keys

List your API keys (subcommands: add, use).

New projects default to your AutoLab platform key; keys use switches a project to one of your own provider keys.

Usage:

autolab keys [OPTIONS] [COMMAND] [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False

autolab keys add

Store a new provider API key on your account.

Usage:

autolab keys add [OPTIONS]

Options:

Name Type Description Default
--provider choice (anthropic | openai | google | openrouter | xai | deepseek | minimax | moonshot | glm | qwen) Key provider. None
--name text Display name for the key. None
--value text Secret key value (omit for a hidden prompt). None
--limit float Spending limit (USD). None
--help boolean Show this message and exit. False

autolab keys use

Assign one of your API keys to the current project. KEY = id-prefix or name.

Usage:

autolab keys use [OPTIONS] KEY

Options:

Name Type Description Default
--model text Also set the model (e.g. 'openai/gpt-5.5'). None
--help boolean Show this message and exit. False

autolab log

Show experiment history (newest first); marks the experiment you're in.

Includes queued and pending experiments. The commit column stays empty until the code is final — the agent may still author or revise it.

Usage:

autolab log [OPTIONS]

Options:

Name Type Description Default
--limit integer Max rows to show. 30
--help boolean Show this message and exit. False

autolab login

Sign in and store an API token for this host.

Default is a browser sign-in. --token <tok> stores a token you already have (e.g. printed by autolab token or created on the dashboard's Access Tokens page) without a browser — ideal for an agent driving a remote box.

Usage:

autolab login [OPTIONS]

Options:

Name Type Description Default
--token text Store this API token directly (no browser) — for headless / SSH / CI. None
--help boolean Show this message and exit. False

autolab logout

Remove the stored token for this host.

Usage:

autolab logout [OPTIONS]

Options:

Name Type Description Default
--help boolean Show this message and exit. False

autolab nodes

List execution nodes (subcommands: add, rm).

Usage:

autolab nodes [OPTIONS] [COMMAND] [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False

autolab nodes add

How to attach a machine as an execution node for this project.

A node clones the project's private code, so it registers with a researcher+ token — the runner reads AUTOLAB_TOKEN / serve --token / your stored login.

Usage:

autolab nodes add [OPTIONS]

Options:

Name Type Description Default
--help boolean Show this message and exit. False

autolab nodes rm

Remove an execution node (request shutdown + deregister). NODE = id/name.

Usage:

autolab nodes rm [OPTIONS] NODE

Options:

Name Type Description Default
--help boolean Show this message and exit. False

autolab open

Open the project dashboard (or an experiment page) in your browser.

Usage:

autolab open [OPTIONS] [EXPERIMENT]

Options:

Name Type Description Default
--help boolean Show this message and exit. False

autolab pause

Pause the agent (the autonomous loop). Resume with autolab start.

Usage:

autolab pause [OPTIONS]

Options:

Name Type Description Default
--help boolean Show this message and exit. False

autolab projects

List the projects you can access (for picking one to clone).

Usage:

autolab projects [OPTIONS]

Options:

Name Type Description Default
--help boolean Show this message and exit. False

autolab pull

Fetch the latest and fast-forward.

Usage:

autolab pull [OPTIONS]

Options:

Name Type Description Default
--help boolean Show this message and exit. False

autolab serve

Run this machine as an execution node for a project.

The node clones the project's private code, so it must register with a researcher+ token: --token, else AUTOLAB_TOKEN, else your stored autolab login. On a remote box an agent typically does AUTOLAB_TOKEN=$(autolab token) ... autolab serve.

Usage:

autolab serve [OPTIONS]

Options:

Name Type Description Default
--project text Project slug (owner/slug) to run jobs for. Sentinel.UNSET
--name text Node name (defaults to hostname). None
--poll-interval integer Poll interval in seconds. 5
--token text Researcher+ token to register with (else AUTOLAB_TOKEN / stored login). None
--autolab-home text Root dir for workspaces (default ~/.autolab). None
--help boolean Show this message and exit. False

autolab settings

Show or edit project settings (subcommands: collab, delete).

With any flag, edits those fields then shows. Pass an empty string to clear a field, e.g. autolab settings --constraints "".

Usage:

autolab settings [OPTIONS] [COMMAND] [ARGS]...

Options:

Name Type Description Default
--name text Display name. None
--objective text What to optimize (the research objective). None
--constraints text Constraints the agent must respect. None
--run text How to run an experiment. None
--prep text Environment prep (e.g. 'uv sync'). None
--description text Short project description. None
--source text Source repo URL. None
--help boolean Show this message and exit. False

autolab settings collab

List collaborators (subcommands: add, rm, role).

Usage:

autolab settings collab [OPTIONS] [COMMAND] [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False
autolab settings collab add

Add USERNAME (a GitHub username) as a collaborator; re-run to fix the role.

Usage:

autolab settings collab add [OPTIONS] USERNAME

Options:

Name Type Description Default
--role choice (admin | researcher | viewer) Role to grant. researcher
--help boolean Show this message and exit. False
autolab settings collab rm

Remove USERNAME from the project.

Usage:

autolab settings collab rm [OPTIONS] USERNAME

Options:

Name Type Description Default
--help boolean Show this message and exit. False
autolab settings collab role

Change USERNAME's role.

Usage:

autolab settings collab role [OPTIONS] USERNAME {admin|researcher|viewer}

Options:

Name Type Description Default
--help boolean Show this message and exit. False

autolab settings delete

Permanently delete this project on the control node (owner only).

Usage:

autolab settings delete [OPTIONS]

Options:

Name Type Description Default
--yes boolean Skip the confirmation prompt. False
--help boolean Show this message and exit. False

autolab start

Start the agent on this project — and resume it after autolab pause.

The first start takes the project live: it seeds the baseline from your code (or, for an empty project, lets the agent author from your objective) and starts the autonomous loop. After that, start just resumes the paused loop.

Usage:

autolab start [OPTIONS]

Options:

Name Type Description Default
--help boolean Show this message and exit. False

autolab status

Where you are — the project (agent, nodes, experiment counts) and the run you're in.

Start/pause the agent with autolab start / autolab pause; toggle idea generation with autolab status autogen on|off.

Usage:

autolab status [OPTIONS] [COMMAND] [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False

autolab status autogen

Show or toggle automatic idea generation (autogen on / autogen off).

When on, the agent proposes new experiments on its own; when off, it only runs what you queue. With no argument, prints the current agent + ideas state.

Usage:

autolab status autogen [OPTIONS] [on|off]

Options:

Name Type Description Default
--help boolean Show this message and exit. False

autolab submit

Queue an experiment. With code it snapshots + pushes the working tree; the control node fills in any blank fields (name/description now, run command + code at pickup).

By default every field you provide (including your pushed code) is locked — the research agent fills only the blanks and never overwrites your values. Pass --soft to let the agent refine what you set.

Usage:

autolab submit [OPTIONS]

Options:

Name Type Description Default
-m, --message text Description / idea for this experiment. ``
--name text Experiment name (derived by the agent if omitted). ``
--run text Run command (agent fills it if omitted). ``
--setup text Setup command (e.g. 'uv sync'). ``
--node text Node constraint (e.g. '8xH100'). ``
--from text Base ref to branch from. None
--priority float Queue priority. None
--no-code, --nocode boolean Submit an idea only — ignore code changes; the agent writes the code. Requires -m. False
--soft boolean Let the agent edit the fields you set (default: your fields are locked). False
--help boolean Show this message and exit. False

autolab token

Print the active token; subcommands manage PATs (create, ls, revoke).

Bare autolab token prints the token you're authenticated with — handy for bootstrapping a remote exec node without a browser:

TOK=$(autolab token create --name gpu-box)   # a fresh, revocable token
ssh gpubox "AUTOLAB_TOKEN=$TOK autolab serve --project alice/nanochat"

Prefer a named token create over the bare print so you can revoke just that one later. A token acts as you on every project you can access — pipe it, don't paste it where it'll be logged.

Usage:

autolab token [OPTIONS] [COMMAND] [ARGS]...

Options:

Name Type Description Default
--help boolean Show this message and exit. False

autolab token create

Mint a new personal access token. Prints the token (once) to stdout.

Usage:

autolab token create [OPTIONS]

Options:

Name Type Description Default
--name text Name for the token (prompted if a TTY). None
--help boolean Show this message and exit. False

autolab token ls

List your personal access tokens.

Usage:

autolab token ls [OPTIONS]

Options:

Name Type Description Default
--help boolean Show this message and exit. False

autolab token revoke

Revoke a personal access token. REF = id-prefix or name.

Usage:

autolab token revoke [OPTIONS] REF

Options:

Name Type Description Default
--help boolean Show this message and exit. False

autolab whoami

Show the active host and signed-in user.

Usage:

autolab whoami [OPTIONS]

Options:

Name Type Description Default
--help boolean Show this message and exit. False