Custom Configuration
All providers support custom command-line arguments and environment variables. Configure these in Settings → Providers for each agent type.
Custom Arguments
Additional CLI arguments are appended to every call to the agent. Common use cases:- Claude Code:
--model claude-sonnet-4-20250514to specify a particular model - Codex:
-m o3to use a specific OpenAI model - OpenCode:
--model anthropic/claude-sonnet-4-20250514to configure the model
Environment Variables
Environment variables are passed to the agent process. Use these for:- API keys and authentication tokens
- Configuration overrides (e.g.,
CLAUDE_CONFIG_DIRfor multiple Claude accounts) - Provider-specific settings
The
MAESTRO_SESSION_RESUMED variable is automatically set to 1 when resuming sessions - you don’t need to configure this manually.Claude Code
Notes:
- Claude Code’s TUI supports injecting user messages mid-turn (between tool calls in its agentic loop), but this is not available in batch mode (
--print). Maestro uses batch mode, so new messages are queued and sent after the current turn completes via--resume. This is a limitation of the CLI’s batch interface, not Maestro. - Maestro sets
CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1by default for every Claude Code spawn (desktop UI, CLI batch,--live, SSH). This disables Claude Code’sBash run_in_background+Monitorfeature, which is incompatible with Maestro for two reasons: (1) short-lived CLI batch sessions exit before background tasks finish, silently losing results; and (2) the polling wrapper Claude Code generates around each background task can deadlock on a self-matchingpgrep -fpredicate when the watched command regex appears verbatim in the wrapper’s own argv, leaving long-running desktop tabs stuck on a zshuntilloop that can never satisfy its exit condition. Maestro’s multi-tab terminals cover the same use cases (watch a dev server, tail a log) more reliably. To re-enable, exportCLAUDE_CODE_DISABLE_BACKGROUND_TASKS=0from your shell, or set it per-agent under Settings → Providers → Claude Code → Environment Variables.
Token Source: Max plan vs. API
Claude Code agents can bill against either your Anthropic API credit or your Claude Max plan quota. Pick the source per-agent under Settings → Providers → Claude Code (or in the New Agent / Edit Agent dialog), and Maestro shows a matching pill on each captured turn.
The TUI Wrapper and Dynamic modes are powered by maestro-p, a small standalone helper that drives Claude Code’s interactive TUI (the mode that draws on your Max plan quota rather than per-token API credit). It ships bundled with the desktop app, so local agents work out of the box.
For SSH remote agents, maestro-p must be installed on the remote host’s PATH, since the TUI runs there rather than on your machine. If it is missing, Maestro disables the Max plan options and falls back to API. Install it from the maestro-p install page, then click Re-check in the agent’s Claude Token Source panel.
Codex (OpenAI)
Notes:
- Codex’s
resumesubcommand doesn’t accept the-i/--imageflag. Images can only be attached when starting a new session. Maestro hides the attach image button when resuming Codex sessions. - Codex has slash commands (
/compact,/diff,/model, etc.) but they only work in interactive TUI mode, not inexecmode which Maestro uses.
OpenCode
Notes:
- OpenCode uses the
runsubcommand which auto-approves all permissions (similar to Codex’s YOLO mode). Maestro enables this via theOPENCODE_CONFIG_CONTENTenvironment variable.
Factory Droid
Notes:
- Maestro drives Factory Droid through its
droid execbatch subcommand with-o stream-jsonoutput. Read-only agents run in the default mode with no auto-approval flags.
Copilot-CLI
Notes:
- Copilot-CLI is multi-model via models.dev. Maestro maps image uploads to temporary-file
@imagementions in the prompt, which also works on resumed sessions.
Hermes
Notes:
- Hermes is Nous Research’s coding agent. Set a documented model override (for example
anthropic/claude-sonnet-4-20250514) under Settings → Providers → Hermes, or leave it blank for the CLI default.
Pi
Notes:
- Pi is a customizable agent harness. Maestro uses its JSON output mode and enforces read-only agents by restricting the tool set to read-only tools.
Qwen3 Coder
Notes:
- Qwen3 Coder is Alibaba’s Qwen Code agent, a Gemini CLI fork. It is multi-provider, so any model id works (for example
qwen3-coder-plusor an OpenAI-compatible id); leave the model blank for the account default.
Oh My Pi
Notes:
- Oh My Pi is a multi-model coding agent, invoked via the
ompCLI.