maestro-cli Command Reference
Generated from the CLI command tree bymaestro-cli reference. Do not edit by hand - runnpm run gen:cli-referenceto refresh.
maestro-cli agent-run
Record and inspect agent runs
maestro-cli agent-run record
Record or update an agent run from a JSON file
maestro-cli agent-run append-event <run-id>
Append an event to an agent run
maestro-cli agent-run list
List recent agent runs
maestro-cli agent-run show <run-id>
Show an agent run and its events
maestro-cli campaign
Record and inspect agent campaigns
maestro-cli campaign record
Record or update a campaign from a JSON file
maestro-cli campaign list
List campaigns
maestro-cli campaign show <id>
Show a campaign
maestro-cli list
List resources
maestro-cli list groups
List all session groups
maestro-cli list agents
List all agents
maestro-cli list playbooks
List playbooks (optionally filter by agent)
maestro-cli list sessions <agent-id>
List agent sessions (most recent first)
maestro-cli list ssh-remotes
List all configured SSH remotes
maestro-cli list terminals
List open terminal tabs in the desktop app (all agents unless —agent is given)
maestro-cli show
Show details of a resource
maestro-cli show agent <id>
Show agent details including history and usage stats
maestro-cli show playbook <id>
Show detailed information about a playbook
maestro-cli playbook <playbook-id>
Run a playbook
maestro-cli goal-run <agent-id> <goal>
Launch a Goal-Driven Auto Run: pursue a free-text goal until done
maestro-cli run-doc <docs>
Run one or more Auto Run documents headlessly (no saved playbook required)
maestro-cli clean
Clean up orphaned resources
maestro-cli clean playbooks
Remove playbooks for deleted sessions
maestro-cli send <agent-id> <message>
Send a message to an agent and get a JSON response
maestro-cli dispatch <agent-id> <message>
Dispatch a prompt to an agent in the Maestro desktop app and return its tab/session ID
maestro-cli ask <agent-id> <question>
Ask another agent a question and print its answer (background consult - never touches the target’s open conversation)
ask is a background consult: it prints an answer without touching the target agent’s open conversation. dispatch hands over work in a visible tab and returns a tab ID. Ask a self-contained question, or pass --with-context to include your transcript. The consult is recorded in the target’s history.
maestro-cli queue
Inspect and manage the desktop execution queue (from dispatch —queue)
maestro-cli queue list
List queued execution items as JSON (all agents, or one with —agent)
maestro-cli queue remove <item-id>
Remove a queued item by its id (from dispatch —queue output or queue list)
maestro-cli queue steer <item-id>
Steer a queued message into the turn already running on its tab, like the Steer button on the queued card (Claude agents on the interactive token source, or Codex agents on the app-server transport). The item leaves the queue once the agent has it and returns if the agent never takes it.
maestro-cli window
List Maestro windows, and move agents or whole groups between them
maestro-cli window list
List open windows and the agents each one holds
maestro-cli window move-agent <agent-id>
Move an agent (with its worktrees) to another window
maestro-cli window move-group <group-id>
Move every agent in a group (with subgroups when nesting is on) to another window
maestro-cli snooze
Park a tab until later, and manage what is parked
maestro-cli snooze tab <tab-id> <when>
Snooze a tab or tiled group until <when> (e.g. 2h, tomorrow, “next fri 3pm”)
maestro-cli snooze list
List snoozed tabs across every agent, soonest wake first
maestro-cli snooze wake <snooze-id>
Bring a snoozed tab back right now (accepts a unique id prefix)
maestro-cli snooze dismiss <snooze-id>
Drop a snooze and its tab - it won’t come back
maestro-cli snooze reschedule <snooze-id> <when>
Move a snooze to a new time, optionally rewriting its note or wake prompt
maestro-cli snooze history
Snoozes that have already resolved - woken, unsnoozed, or dismissed
maestro-cli unsnooze <snooze-id>
Bring a snoozed tab back right now (alias for “snooze wake”)
maestro-cli session
Inspect open desktop tabs and their conversation history
maestro-cli session list
List open desktop AI tabs and their tab/session IDs
maestro-cli session show <tab-id>
Print conversation history for a desktop tab
maestro-cli group-chat
Start, message, and inspect group chats in the desktop app
maestro-cli group-chat start <name>
Create a group chat and send its moderator the opening message
maestro-cli group-chat send <chat> [message]
Send a message to a group chat (ID, ID prefix, or name); refused while busy
maestro-cli group-chat status <chat>
Show a group chat’s state, participants, and latest messages
maestro-cli group-chat list
List group chats and whether each is busy
maestro-cli group-chat stop <chat>
Stop a group chat’s moderator and participants
maestro-cli open-file <file-path>
Open a file as a preview tab in the Maestro desktop app (audio and video play in the floating media player instead; an http(s) URL to an MP4 or audio file streams in the player)
maestro-cli open-graph [paths]
Open the Document Graph over specific markdown files or a directory
maestro-cli open-browser <url>
Open a URL as a browser tab in the Maestro desktop app
maestro-cli open [surface]
Open a Maestro modal or dashboard (use —list to see every surface)
maestro-cli image
List and save images pasted into a Maestro chat
maestro-cli image list
List images pasted into an agent’s conversation, newest first
maestro-cli image save [target]
Save a pasted image to disk (target: index, handle, or “latest”)
maestro-cli close-browser <tab-id>
Close a browser tab in the Maestro desktop app (owning agent resolved by tab ID)
maestro-cli open-terminal
Open a new terminal tab in the Maestro desktop app
maestro-cli send-terminal [command]
Run a command in an existing Maestro terminal tab
maestro-cli read-terminal
Read a Maestro terminal tab’s output
maestro-cli refresh-files
Refresh the file tree in the Maestro desktop app (never moves the view)
maestro-cli refresh-auto-run
Refresh Auto Run documents in the Maestro desktop app
maestro-cli auto-run <docs>
Configure and optionally launch an auto-run with documents
maestro-cli stop-auto-run
Stop the active Auto Run for an agent
maestro-cli resume-auto-run
Resume an Auto Run that paused on an error
maestro-cli skip-auto-run
Skip the current document of an error-paused Auto Run and continue
maestro-cli abort-auto-run
Abort an error-paused Auto Run
maestro-cli reset-auto-run-tasks <filename>
Reset all completed [x] tasks back to [ ] in an Auto Run document
maestro-cli auto-run-status
Show whether an Auto Run is active and its document/task progress
maestro-cli auto-run-folder <path>
Point an agent at a different Auto Run folder (relative paths resolve against this shell’s cwd)
maestro-cli marketplace
Browse and import Playbook Exchange playbooks (the modal: open marketplace)
maestro-cli marketplace list
List playbooks in the official + local catalog
maestro-cli marketplace show <playbook-id>
Show a playbook’s details, documents, and README
maestro-cli marketplace import <playbook-id>
Install a playbook into an agent’s Auto Run folder
maestro-cli remove-playbook <agent-id> <playbook-id>
Remove a saved playbook from an agent (find IDs via “list playbooks -a <agent>“)
maestro-cli cue
Interact with Maestro Cue automation
maestro-cli cue trigger <subscription-name>
Manually trigger a Cue subscription by name
maestro-cli cue list
List all Cue subscriptions across agents
maestro-cli cue enable <subscription>
Turn a Cue subscription on (name, or the full id from cue list --json)
maestro-cli cue disable <subscription>
Turn a Cue subscription off without deleting it
maestro-cli cue activity
Show recent Cue runs, newest first
maestro-cli cue schedule
Create a scheduled task (or —list / —cancel / —reschedule / —pause)
maestro-cli cue pipeline
Manage Cue pipeline layout entries (cue-pipeline-layout.json)
maestro-cli cue pipeline list
List all pipelines in the layout file
maestro-cli cue pipeline get <name>
Print one pipeline entry as JSON to stdout
maestro-cli cue pipeline export <name>
Alias for get: print one pipeline entry as JSON to stdout
maestro-cli cue pipeline add <name>
Add a new pipeline entry from a JSON file
maestro-cli cue pipeline replace <name>
Replace an existing pipeline entry from a JSON file
maestro-cli cue pipeline remove <name>
Remove a pipeline entry by name or id
maestro-cli cue engine
Run Maestro Cue unattended (no desktop app) and control that runner
maestro-cli cue engine start
Start the Cue engine in this process and block until Ctrl+C / stopped
maestro-cli cue engine stop
Stop a running standalone engine (refuses to signal a desktop-owned one)
maestro-cli cue engine status
Report whether an engine is running and its last known heartbeat
maestro-cli cue engine inspect
List every agent with a readable .maestro/cue.yaml and its subscription counts
maestro-cli director-notes
Director’s Notes: unified history and AI synopsis
maestro-cli director-notes history
Show unified history across all agents
maestro-cli director-notes synopsis
Generate AI synopsis of recent activity (requires running Maestro app)
maestro-cli status
Check if the Maestro desktop app is running and reachable
maestro-cli version
Show the running Maestro app’s version and build commit hash
maestro-cli doctor
Diagnose CLI connectivity, version skew, and configuration
maestro-cli completions <shell>
Print a shell completion script (bash, zsh, or fish)
maestro-cli reference
Print the full command reference (Markdown, or —format json)
maestro-cli create-agent <name>
Create a new agent in the Maestro desktop app
maestro-cli create-group <name>
Create a new group in the Maestro desktop app
maestro-cli remove-group <group-id>
Remove a group from the Maestro desktop app (agents inside are ungrouped, not deleted)
maestro-cli rename-group <group-id> <new-name>
Rename a group in the Maestro desktop app
maestro-cli update-group <group-id>
Update a group’s name, icon, color, parent, or Left Bar visibility in the Maestro desktop app
maestro-cli create-worktree
Create a new agent in a git worktree branched off an existing parent agent
maestro-cli remove-agent <agent-id>
Remove an agent from the Maestro desktop app
maestro-cli update-agent <agent-id>
Update an existing agent’s group, working directory, and per-agent settings
maestro-cli rename-agent <agent-id> <new-name>
Rename an agent in the Maestro desktop app
maestro-cli bookmark <agent-id>
Bookmark an agent (pins it to the Left Bar’s Bookmarks section)
maestro-cli unbookmark <agent-id>
Remove an agent’s bookmark
maestro-cli focus-agent <agent-id>
Focus (select) an agent in the Maestro desktop UI
maestro-cli switch-mode <agent-id> <mode>
Switch an agent between “ai” and “terminal” mode
maestro-cli tab
Manage an agent’s tabs in the desktop app
maestro-cli tab new
Open a new tab for an agent (optionally seeded with a prompt)
maestro-cli tab close <tab-id>
Close a tab (owning agent is resolved automatically)
maestro-cli tab rename <tab-id> <new-name>
Rename a tab
maestro-cli tab star <tab-id>
Star a tab
maestro-cli tab unstar <tab-id>
Unstar a tab
maestro-cli tab unread <tab-id>
Mark a tab unread (flags it for the human in the tab bar)
maestro-cli tab read <tab-id>
Clear a tab’s unread marker
maestro-cli tab save-to-history <tab-id> <bool>
Enable/disable synopsizing this tab’s completions into History (true/false)
maestro-cli tab show <tab-id>
Show one tab’s settings (model, effort, thinking, access, history)
maestro-cli tab thinking <tab-id> <mode>
Set the thinking display: off, on, sticky, or cycle
maestro-cli tab read-only <tab-id> <bool>
Put the tab in read-only/plan mode so the agent cannot modify files
maestro-cli tab model <tab-id> <model>
Override the model for this tab (“inherit” clears the override)
maestro-cli tab effort <tab-id> <level>
Override the effort/reasoning level for this tab (“inherit” clears it)
maestro-cli tab enter-to-send <tab-id> <bool>
Per-tab send key: true = Enter, false = Cmd+Enter, “inherit” = global setting
maestro-cli tab move <tab-id> <position>
Move a tab to a position in its agent’s tab bar (0-based, or “first”/“last”)
maestro-cli create-ssh-remote <name>
Create a new SSH remote configuration
--ssh-option passes an option to ssh -o, overriding Maestro defaults and ~/.ssh/config. Use it for a tunnel ProxyCommand, a ProxyJump bastion, or a longer ConnectTimeout. RequestTTY is reserved because Maestro derives it per command; forcing a TTY can corrupt an agent’s stream-json output.
maestro-cli update-ssh-remote <remote-id>
Update an existing SSH remote configuration
Only supplied fields change.
--env and --ssh-option merge with existing values; use --clear-env or --clear-ssh-options to start from empty. --disable-* keeps a value but stops passing it to SSH; --enable-* restores it. Clearing also removes disabled entries. JSON output includes sshOptions, disabled entries, and resolvedSshOptions (the effective options including defaults).
maestro-cli remove-ssh-remote <remote-id>
Remove an SSH remote configuration
maestro-cli test-ssh-remote <remote-id>
Test an SSH remote connection and report what the remote answered
test-ssh-remote uses the same connection options as agent spawning and prints the remote hostname, so tunnel and ProxyCommand errors can be caught during setup. It also works while the desktop is closed.
maestro-cli display
View and manage typography (fonts, sizes, zoom)
maestro-cli display font [surface] [value]
Get or set a surface font. Surfaces: interface, terminal, chat, filePreview, documentGraph, fileEditor. Pass “inherit” (or “inherit:terminal”) to follow a root surface. Omit the surface to list all.
maestro-cli display size <surface> [value]
Get or set a surface font size in px. Pass “inherit” to follow the interface size.
maestro-cli display zoom [level]
Get or set the global zoom applied to every surface (e.g. 125% or 1.25)
maestro-cli display preset [name]
Get the active typography preset, or reset every font and size to one (default | hacker)
maestro-cli display fonts
List the fonts bundled with Maestro (guaranteed available on any machine)
maestro-cli settings
View and manage Maestro configuration
maestro-cli settings list
List all settings with current values
maestro-cli settings get <key>
Get the value of a setting (supports dot-notation, e.g., encoreFeatures.directorNotes)
maestro-cli settings set <key> <value>
Set a setting value (auto-detects type: bool, number, JSON, string)
maestro-cli settings reset <key>
Reset a setting to its default value
maestro-cli settings media-status
Report media tools available to this CLI process and allowed models as JSON
maestro-cli settings agent
View and manage per-agent configuration
maestro-cli settings agent list [agent-id]
List agent configurations (all agents or a specific one)
maestro-cli settings agent get <agent-id> <key>
Get a single agent config value
maestro-cli settings agent set <agent-id> <key> <value>
Set an agent config value (auto-detects type)
maestro-cli settings agent reset <agent-id> <key>
Remove an agent config key
maestro-cli set-theme [name-or-id]
Switch the active Maestro theme (applies live). Use —list to see options.
maestro-cli gloss [level]
Set the surface gloss level: off, sheen, strong or max (applies live). Omit the level to see the current one.
maestro-cli theme
Manage the custom theme palette
maestro-cli theme show
Print the current custom theme palette and base (reads from disk)
maestro-cli theme export
Export the custom theme as portable JSON (stdout, or —file <path>)
maestro-cli theme import <file>
Import a theme JSON file, apply it live, and activate it
maestro-cli theme set [assignments]
Set custom theme colors (key=value, e.g. accent=#ff0000) and/or re-base
maestro-cli encore
List and toggle experimental Encore features
maestro-cli encore list
List Encore features and whether each is enabled
maestro-cli encore enable <feature>
Enable an Encore feature (directorNotes, usageStats, symphony, maestroCue, pianola, computerHistory, quickChat, maestroRun)
maestro-cli encore disable <feature>
Disable an Encore feature
maestro-cli computer-history
Computer History: query what the user saw and typed across apps (local, untrusted content)
maestro-cli computer-history status
Show whether recording is on, permission state, and store size
maestro-cli computer-history list
List recorded 15-minute segments in a time range
maestro-cli computer-history query
Search recorded events (text, selections, snapshots, app and window changes)
maestro-cli computer-history apps
Apps used in a time range, by foreground time and event count
maestro-cli computer-history digests
List 15-minute digests and 6-hour roll-ups (agent-written, untrusted content)
maestro-cli computer-history pause
Pause recording (until resumed, or for a duration)
maestro-cli computer-history resume
Resume recording
maestro-cli computer-history rules
Which apps are recorded (exclude or include mode) and domains never recorded
maestro-cli computer-history rules list
Show the app mode and user rules (built-in exclusions always apply)
maestro-cli computer-history rules mode [mode]
Show or set the app mode: exclude (record every app except ignored ones) or include (record only the record-only list)
maestro-cli computer-history rules add
Never record an app or a domain (and its subdomains); with —include, add an app to the record-only list
maestro-cli computer-history rules remove <id>
Remove a rule by id (or by its app id / domain)
maestro-cli computer-history clear
Delete recorded history: everything since a time, or all of it
maestro-cli computer-history enable-accessibility
macOS: show the Accessibility prompt. Linux: turn on the desktop accessibility bus. Windows: not needed
maestro-cli computer-history config
Show settings, or change them with the flags below
maestro-cli pianola
Pianola manager agent: watch tabs, auto-answer or escalate per your rules
maestro-cli pianola watch <tab-id>
Watch a desktop tab and act on awaiting-input prompts per your rules
maestro-cli pianola rules
List the configured Pianola rules
maestro-cli pianola add-rule
Add a Pianola rule (how the manager agent turns a conversation into a durable rule)
maestro-cli pianola learn
Crawl installed CLI transcripts into a labeled decision corpus (Claude Code + Codex)
maestro-cli pianola profile
Read a learned decision profile (per-project with —project, else global)
maestro-cli pianola set-profile
Save a learned decision profile from —file or stdin (per-project or global)
maestro-cli pianola log
Show recent Pianola decisions from the audit log
maestro-cli pianola plan
Author and inspect Pianola task plans (DAGs)
maestro-cli pianola plan set
Save a plan from —file or piped stdin (validated before write)
maestro-cli pianola plan list
List saved plans with a progress summary
maestro-cli pianola plan show <planId>
Show one plan: its tasks, statuses, and dependencies
maestro-cli pianola orchestrate <planId>
Run a saved plan to completion, dispatching tasks as their dependencies finish
maestro-cli pianola supervise
Register desktop-supervised watchers and orchestrations (survive crashes/restarts)
maestro-cli pianola supervise watch <tabId>
Register a supervised tab watcher the desktop keeps alive
maestro-cli pianola supervise orchestrate <planId>
Register a supervised plan orchestration the desktop keeps alive
maestro-cli pianola supervise list
List registered supervised targets
maestro-cli pianola supervise remove <id>
Unregister a supervised target by id (the desktop stops its child)
maestro-cli pianola supervise enable <id>
Enable a supervised target by id
maestro-cli pianola supervise disable <id>
Disable a supervised target by id (the desktop stops its child)
maestro-cli prompts
Read Maestro system prompts
maestro-cli prompts list
List all known prompt ids with descriptions
maestro-cli prompts get <id>
Print a prompt by id (honors user customizations from Settings → Maestro Prompts)
maestro-cli gist
Publish session context to GitHub gists
maestro-cli gist create <agent-id>
Publish an agent’s session transcript as a GitHub gist (requires running Maestro app)
maestro-cli notify
Show notifications in the Maestro desktop app
maestro-cli notify toast <title> <message>
Show a toast notification (queued, click X or icon to dismiss)
maestro-cli notify flash <message>
Show a center-screen flash (momentary, exclusive - replaces any active flash)
maestro-cli profiling
Start/stop a Chromium performance capture in the desktop app (for perf iteration)
maestro-cli profiling start
Begin a performance capture (no-ops if one is already recording)
maestro-cli profiling stop
Stop the capture and write the compressed .zip bundle to —output
maestro-cli profiling status
Report whether a capture is currently recording
maestro-cli maestro-run
MaestroRun (macOS): install the launcher and grant it Full Disk Access for scheduled scripts
maestro-cli maestro-run status
Re-check the launcher: installed version, signature, and Full Disk Access
maestro-cli maestro-run install
Download, verify, and install the newest MaestroRun release for this Mac (or update it)
maestro-cli maestro-run grant
Open System Settings on the Full Disk Access list and watch for the switch (the user flips it)
maestro-cli quick-chat
Drive the Quick Chat window: a floating chat with one agent, summoned by a hotkey
maestro-cli quick-chat show
Open the Quick Chat window (same as the hotkey when it is closed)
maestro-cli quick-chat hide
Close the Quick Chat window; the conversation is kept
maestro-cli quick-chat toggle
Open the window, focus it, or close it (exactly what the hotkey does)
maestro-cli quick-chat status
Show the window state, the agent, the mode, and the current conversation
maestro-cli quick-chat send <message>
Send a message in the current Quick Chat (starts a chat if none is open)
maestro-cli quick-chat new
Start a new chat (an ephemeral previous chat is deleted)
maestro-cli quick-chat keep [state]
Keep the current chat as a visible tab on its agent (“off” makes it ephemeral)
maestro-cli quick-chat pin [state]
Float the window above other windows (“off” lets it fall behind them)
maestro-cli quick-chat font [size]
Text size of the conversation: in, out, reset, or a size such as 120% (no size prints it)
maestro-cli quick-chat agent <agent-id>
Switch Quick Chat to another agent and start a new chat there
maestro-cli quick-chat reveal [message-id]
Open a tab of the chat in the main Maestro window: the tab a message went to, or the latest
maestro-cli quick-chat new-tab [message-id]
Send a message that is queued behind a busy tab to a new tab instead (default: the latest queued one)
maestro-cli quick-chat stop
Stop the replies in progress and withdraw the messages still queued
maestro-cli quick-chat bounds
Move or resize the window, as dragging it does, and remember it (—height is the conversation height)
maestro-cli cadenza
Open small cadenza views to display or track work in the Maestro desktop app
maestro-cli cadenza open <id>
Open (or replace by id) a cadenza view
maestro-cli cadenza update <id>
Update fields of an open cadenza in place (the living view)
maestro-cli cadenza close <id>
Close a cadenza view by id
maestro-cli movement
Compose the agent-driven movement (free-placed data views) in the Maestro main window
maestro-cli movement begin <id>
Immediately show a host-rendered Concerto shell before its HTML is ready
maestro-cli movement add <id>
Add (or replace by id) a native data view or interactive HTML mockup
maestro-cli movement update <id>
Update fields of an existing movement item in place
maestro-cli movement move <id>
Reposition a movement item
maestro-cli movement remove <id>
Remove a movement item by id
maestro-cli movement clear
Remove all movement items
maestro-cli movement progress <id>
Report one Concerto track’s current design phase and subdivision
maestro-cli movement state
Read the current movement layout (items + size) to compose around it
maestro-cli movement inspect <id>
Capture a live HTML Movement preview and report its runtime diagnostics
maestro-cli movement interact <id>
Interact with a live HTML Movement by CSS selector
maestro-cli support-package
Write a sanitized support (debug) package zip, as Create Debug Package does, without a save dialog
maestro-cli feedback
Send Feedback from the CLI: check gh, find duplicates, +1 an issue, or file a new one (open the modal with open feedback)