Skip to content

Maestro CLI

In a source checkout, prefix commands with npm run cli --. In the packaged app, use maestro.cmd from the installation directory or from PATH.

Terminal window
maestro.cmd --help
maestro.cmd status
maestro.cmd project add <key> <path-or-github-url>
maestro.cmd project list
maestro.cmd task create <project-key> "describe the desired change"
maestro.cmd task list --project <project-key>
maestro.cmd task prepare <task-id>
maestro.cmd task start <task-id>
maestro.cmd task logs <task-id> --follow
maestro.cmd task cancel <task-id>
maestro.cmd task retry <task-id>
maestro.cmd task delete <task-id>
maestro.cmd task followup <task-id> "follow-up request"
maestro.cmd providers status
maestro.cmd quota
maestro.cmd doctor <project-key>

task start, cancel, retry, delete, quota, providers status and doctor require the running Dashboard API. project add/list, task create/list/prepare, logs and follow-ups use the same local database directly. This is why CLI and Dashboard records remain aligned, but it also means API-backed commands report that Maestro is not running when the service is stopped.

The source-checkout equivalent is:

Terminal window
npm run cli -- project list

The CLI never prints credentials. If a provider login is required, use the provider’s own command or the Dashboard provider flow.