Configure FrontierFuse without restarting the host for ordinary setting changes. Profile, frontier
provider, frontier model, executor provider, and executor model are separate decisions. Ask each
as its own step; never combine orchestrator selection with executor selection, and never ask
provider and model in the same question.
-
Show the current effective configuration:
python3 "$CLAUDE_PLUGIN_ROOT/frontier_dispatch.py" config
If $CLAUDE_PLUGIN_ROOT is unavailable, resolve frontier-dispatch from PATH or the repository.
If configuration is invalid, do not overwrite it directly. Run frontier-dispatch doctor --json
and follow that check's exact next_step: session recovery uses frontier-dispatch config --repair, while global recovery adds --global. Either command creates an owner-only timestamped
backup before resetting the malformed document. Reapply valid selections from the backup.
Doctor is offline by default. Exit codes: 0 READY, 1 NOT READY, 2 CONFIG_INVALID / invalid
session id. CLI presence does not prove auth or model entitlement.
-
Ask scope: this session (default) or global. Global maps to --global.
-
Ask profile / workflow alone (not combined with provider/model):
advisor (default): host/executor-led. The executor drives the task and consults the frontier
model on demand. Usually fewer frontier tokens and less coordination overhead.
orchestrator: host-led verified orchestration. The current host plans, delegates managed
executor bodies, evaluates handoffs, and closes only after frozen verification. Higher
coordination cost; use when snapshot-bound GREEN matters.
Explain the flows visually:
advisor:
user -> executor -> frontier advice (when needed) -> executor -> tests
orchestrator:
user -> host controller -> managed executor bodies -> host synthesis -> frozen verifier
premium host + deep frontier + cheaper bodies (pattern, not a third profile):
user -> premium host (harness-selected)
-> managed deep frontier consults
-> cheaper managed executor bodies
-> host integrates + tests / verify
Selecting orchestrator does not replace the model already running the host conversation.
Until a managed controller exists, the configured frontier is managed consult capacity.
The premium-host pattern layers onto advisor (usual) or orchestrator (when guarded dispatch
and frozen verification are also needed); it is not a third --profile value.
-
Ask frontier provider alone: codex, claude, grok, or gemini. Then run the catalog
for that provider:
python3 "$CLAUDE_PLUGIN_ROOT/frontier_dispatch.py" models --provider <provider>
Ask frontier model in a separate question using the returned list. Always include a custom
model ID option for account-specific availability. Do not invent model IDs. Catalog rows and
local discoveries are availability suggestions only — not entitlement probes.
-
Ask executor provider separately: codex, claude, grok, or gemini. The executor
performs implementation, tool use, and dispatched bodies. Then run models --provider <executor>
and ask executor model in a separate question. For Codex, empty / account default is the
recommended account-aware choice. Sonnet and Opus are Claude models, not executor/provider names.
If a user asks for an unlisted model such as an account-specific Grok release, accept the exact
ID only after the relevant provider CLI confirms it.
-
Ask the remaining controls separately:
- Effort for Codex/Grok only:
high (default), medium, or low; Codex also supports
xhigh. Omit --effort for Claude/Gemini because their executor commands do not expose it.
- Fast mode:
off (default) or on.
- Update reminders:
passive (cached weekly during explicit use), manual, or off.
-
Apply all selections through the tested configuration command. Do not edit configuration files:
python3 "$CLAUDE_PLUGIN_ROOT/frontier_dispatch.py" config \
--profile <advisor|orchestrator> \
--frontier-provider <codex|claude|grok|gemini> \
--frontier-model <model-id> \
--executor <codex|claude|grok|gemini> \
--executor-model <model-id-or-empty> \
[--effort <low|medium|high|xhigh>] --fast <on|off> \
--update-mode <passive|manual|off> [--global]
--model remains available as a legacy alias for --executor-model. Do not pass both.
-
Print the effective configuration again and state: "Applied. It takes effect on the next
frontier-dispatch call; it does not change a body already running."
If the user wants Codex fast mode to follow the regular Codex model again, run a separate reset
without --model or --executor-model:
python3 "$CLAUDE_PLUGIN_ROOT/frontier_dispatch.py" config --inherit-fast-model [--global]
Configuration never enables elevated permissions. These remain explicit host environment opt-ins: