Command line
Everything the dashboard does also has a command. How to run the commands on your server, and how repository mode works from a checkout.
Most teams use Reqursor Development through the dashboard. Everything the dashboard does also has a command, for scripts, for CI and for when you have a terminal on the server and no browser.
This page is for a self-hosted install with your own key, where you have a terminal on the server.
The same program runs two ways:
- The ticket queue's commands work on an install's data folder: projects, tickets, the worker, users, the license and backups.
- Repository mode runs the pipeline inside a checkout of your own, set up by a
reqursor.yamlfile in the repository. It suits a developer's machine and CI. It has no dashboard, no queue and no services.
Every command on this page is a single line. reqursor-dev <command> --help lists a command's
options.
Running commands on an install
Run commands as the service's user, so the files they create keep the right owner. Never run them as root: a file that root creates in the data folder locks the services out.
-
Bare metal. Put the command at the end:
sudo -u reqursor sh -c 'set -a && . /etc/reqursor-dev/reqursor-dev.env && /opt/reqursor-dev/current/venv/bin/reqursor-dev <command>' -
Docker, from the
deployfolder:docker compose exec web reqursor-dev <command> -
Windows, in PowerShell as Administrator:
$env:REQURSOR_DEV_DATA_DIR='C:\ProgramData\ReqursorDev'; & 'C:\Program Files\Reqursor Development\current\venv\Scripts\reqursor-dev.exe' <command>
The commands
| Command | What it does |
|---|---|
reqursor-dev server | Serves the dashboard. On a fresh data folder it prints the setup code the wizard asks for. |
reqursor-dev worker | Runs queued tickets and Autopilot. --once runs one job and exits. |
reqursor-dev project | Projects: create, list, show, sync, detect, export, import, archive, unarchive, set-autopilot, set-git-token, set-tracker-token. |
reqursor-dev ticket | Tickets: create, list, show, edit, ready, draft, move, cancel, retry, run, plan, stop, extend-budget, intervention. |
reqursor-dev import | Imports a project's tracker issues as tickets. |
reqursor-dev job | Jobs: list, cancel. |
reqursor-dev claude | The connection to your model provider: set-key, connect, set-model, models, test, show. |
reqursor-dev usage | What tickets cost, per stage. Read only. |
reqursor-dev secret | Encrypted secrets: set, list, delete. Values are never shown. |
reqursor-dev admin | Dashboard users: create-user, list-users, reset-password. Also the install's budget: budgets. |
reqursor-dev license | status, activate, buy, claim, import, offline-request, transfer. |
reqursor-dev backup and restore | Back up and restore the install. See Backups, updates and rollback. |
reqursor-dev update | check, download, install, status. Bare metal only. |
reqursor-dev maintenance | Maintenance agents: status, run, runs. See Maintenance agents. |
reqursor-dev bug-hunt | Bug Hunt: status, run, findings, gate. |
reqursor-dev diagnostics | Writes the diagnostics bundle for support. |
reqursor-dev doctor | Checks the config, the agent, the model connection, git, the checks and the isolation. |
reqursor-dev version | Prints the version. |
Secrets are never taken on the command line. claude set-key, project set-git-token and
project set-tracker-token ask for the secret without echoing it. You can also pipe it in, or
name an environment variable that holds it with --from-env.
A first project from the terminal
This does what the first steps of the dashboard do. On a packaged install, add the prefix from the section above to each command.
reqursor-dev claude set-key
reqursor-dev project create "Acme App" --repo-url https://github.com/acme/app.git --default-branch main
reqursor-dev project set-git-token acme-app
reqursor-dev project sync acme-app
reqursor-dev project detect acme-app --apply
reqursor-dev ticket create --project acme-app --title "Add a health endpoint" --body "Add GET /health for the load balancer." --acceptance "GET /health returns HTTP 200" --ready
reqursor-dev worker --once
reqursor-dev ticket show RD-1project createprints the project's ID, made from its name (acme-app).detect --applyfills in the build, test, lint and type check commands you have not set, and warns when a tool they need is missing.- A ticket needs at least one acceptance criterion before it can be ready.
worker --onceruns one queued job and exits. If it ran nothing because of a problem (the AI connection or the isolation is unavailable, or there is no license), it prints why and exits with status 1. Plainreqursor-dev workerkeeps running, and Ctrl+C stops it at the next safe point and queues the running ticket again. A packaged install runs the worker as a service.ticket list,ticket showandjob listtake--json.- Each job's run log is in the data folder under
runlog, with secrets masked.
Users from the terminal
reqursor-dev admin create-user [email protected] --role owner adds the first Owner without the
setup wizard. reqursor-dev admin reset-password <email> sets a new password and ends the old
sessions. Both read the password from a hidden prompt or from stdin. This is also how you get
back in when nobody can sign in and no mail server is set up.
Recording time you spent
reqursor-dev ticket intervention RD-1 --minutes 15-30 --kind code_fix records the time a person
spent on a ticket, so its cost shows what a person still had to do. --minutes is one of 0-5,
5-15, 15-30, 30-60, 60-120 or 120+. --kind is one of clarification, code_fix,
manual_commit, environment_fix, architecture_decision, retry_hint or review_only.
--note adds a line, with secrets masked. A record is kept for good and cannot be edited.
Repository mode
Repository mode runs the pipeline in a checkout of your own, for a developer's machine or CI. It runs on your own key only, under a license bought for your own key.
Install it
The release artifact carries its own Python and every package, with their hashes locked. On Linux (amd64 or arm64), in the folder that holds the artifact:
tar -xzf reqursor-development-<version>-linux-<arch>.tar.gz
reqursor-development-<version>-linux-<arch>/python/bin/python3 -m venv ~/reqursor-dev-venv
cd reqursor-development-<version>-linux-<arch> && ~/reqursor-dev-venv/bin/pip install --no-index --find-links wheels --require-hashes -r requirements.lock
source ~/reqursor-dev-venv/bin/activateKeep the virtual environment outside the repositories you work on. A run refuses to start when it lies inside the checkout, because the agent could then rewrite code that runs outside its sandbox.
Repository mode needs a license that allows work, kept in the same data folder the queue commands
use. Activate one with reqursor-dev license activate, which reads the key from a hidden prompt or
from stdin, or buy one with reqursor-dev license buy. reqursor-dev license status says where it
stands. For an unattended runner, name the variable that holds the key:
reqursor-dev license activate --from-env <VAR>. Keep the data folder between runs: a new one is a
new install.
Repository mode is always paid on your own key and never with Reqursor Credits. Under a license on
Reqursor Credits, run, watch and canary start nothing and say so. Runs start from the
dashboard.
Run it
Run these from your project's checkout. The first line puts your Anthropic API key in the shell's environment without leaving it in your shell history: paste the key and press Enter.
read -rs ANTHROPIC_API_KEY && export ANTHROPIC_API_KEY
reqursor-dev init
reqursor-dev doctor --check-claude
reqursor-dev preflight
reqursor-dev list --spec 3
reqursor-dev run --spec 3
reqursor-dev statusinitwritesreqursor.yaml, a secrets file that Git ignores, anddocs/tickets/, the folder the starter markdown work source reads. It adds.reqursor-dev/to.gitignore. Editreqursor.yamlnext: at least the base branch, the work source and your check commands.doctorchecks the setup.--check-claudealso asks the provider, which costs one call.preflightruns your checks on the base branch and exits with an error when they fail. Fix that first.listfinds work items without running the agent.runruns the pipeline.statusshows what happened.- Never put a key in
reqursor.yaml, which is committed.
Only isolation keeps the key out of the agent's reach. Without it the agent runs as your account
and can read the key. Set sandbox.strategy: bubblewrap in reqursor.yaml to refuse to run without
isolation. doctor reports which isolation applies.
Unattended
For an always-on checkout, poll the work source:
reqursor-dev watch --resume --spec "label:agent-ready" --idle-min 60 --idle-max 900Always pass --resume to an unattended watch or run. It skips every ticket that already
shipped and has not changed since, where a restarted watcher would otherwise work on it again and
spend model budget. Keep the .reqursor-dev/state folder between runs. Reqursor Development does
not restart itself, so put a process supervisor such as systemd above it.
Drift checks
Schedule these daily to catch a silent model or prompt regression:
reqursor-dev canary
reqursor-dev check-ship-rate --threshold 0.6 --baseline-days 14 --current-days 1canary runs a small synthetic ticket set through the live pipeline and notifies you on any
unexpected outcome.
The Windows install has no sandbox
On Windows, agents run without the isolation the Linux installs give them. Use a machine you dedicate to it. See Agent isolation and secrets.
- Backups, updates and rollbackThe backup, restore and update commands in full.
- Users, seats and projectsBack to the Administration overview.