Command line
Status, doctor, history, eval, wait, statusline and the integration commands print JSON with --json. Set RUNMARQ_HOME to use a different data folder.
Runs
runmarq status
The collector and every active run, with its estimate, how long it has run and what it is doing now. Exits 3 when the collector is not running.
runmarq wait
Waits for the run in progress to end, showing its estimate on one line, then rings the terminal bell and exits with the outcome. runmarq wait && npm run deploy deploys only after a clean finish. In Windows Terminal, ConEmu, Ghostty and WezTerm the run's progress also shows on the tab and the taskbar button.
--agent <claude|codex|cursor> | Only wait for runs of this agent. |
--repo <name> | Only wait for runs in the repository with this folder name. |
--timeout <seconds> | Stop waiting after this long. |
-q, --quiet | No progress line, result or bell; only the exit code. |
runmarq statusline
One short line for a shell prompt, tmux or Claude Code’s status line, such as “runmarq ● 2 working · next: about 3–7 min”. Prints nothing when the collector is not running, so it never clutters a prompt.
--format <template> | Your own line, with {working}, {waiting}, {stuck}, {next}, {agent} and {repo}. |
runmarq history
Recent runs with their outcome, duration and first estimate.
--limit <n> | How many runs to list (20 by default). |
runmarq run -- <agent> [args…]
Runs an agent under runmarq, passing its terminal, signals and exit code through unchanged, so runs are closed cleanly when the agent exits. Mainly for Codex.
Estimates and data
runmarq eval
Replays the runs recorded on this computer in the order they ended, forecasting each with models fitted only on the runs before it, and reports how often the likely range, the full range and the headline held. See how estimates work.
runmarq export
Run history as CSV: timings, outcomes and categories, never prompts or code.
--output <file> | Write to this file instead of the terminal. |
runmarq forget
Deletes run history after asking you to confirm.
--before <YYYY-MM-DD> | Delete only runs that started before this date. |
--yes | Skip the confirmation. |
Setup
runmarq integrations setup <claude|codex|cursor>
Shows the exact file and hook entries it will add, asks, writes them with a backup, and points them at a stable copy of runmarq.
--dry-run | Only show the change. |
--project <dir> | Configure one project instead of every project. |
--yes | Apply without asking. |
runmarq integrations verify [agent]
Checks each connected agent’s configuration.
runmarq integrations remove <agent>
Removes only the entries runmarq added, leaving everything else as it was.
runmarq integrations list
Every supported agent and the state of its integration.
runmarq collector start | stop | status
Controls the background collector. The desktop app starts it for you; hooks keep working while it is stopped and their events are delivered later.
--foreground | With start: run in this terminal instead of the background. |
runmarq doctor
Checks the installation, collector, hook latency, model training and every integration, and says what to do next. Exits 1 when something needs attention. See troubleshooting.
Exit codes of runmarq wait
0 | The run finished. |
1 | The run failed. |
2 | The run was cancelled, or its outcome is unknown. |
3 | No matching run is in progress. |
124 | The timeout passed first. |
Status line in Claude Code
Add this to ~/.claude/settings.json, or to a project's .claude/settings.json, to see your agents under Claude Code's prompt:
"statusLine": { "type": "command", "command": "runmarq statusline" }In tmux:
set -g status-right '#(runmarq statusline)'
set -g status-interval 5