Modes

A mode is a named, per-send preset. It bundles three things — which model synthesizes the answer (the primary), which models weigh in (the panel), and an optional system-prompt addition — so you can switch between recipes in one click instead of re-pointing your primary and toggling providers each time. Modes tune the consensus run; they never bypass it.

What a mode bundles

  • Primary — the provider, and optionally a pinned model ID, that synthesizes the final reply. A valid mode’s primary overrides both your global primary and the per-window model pick while it’s active.
  • Panel — which peers fan out. A mode’s panel is either Inherit user defaults (honor your global fan-out opt-outs) or an explicit set of providers. An explicit panel overrides your global opt-outs — only the named providers fan out, even ones you’ve opted out globally.
  • System-prompt append — optional text appended after your project context on every send the mode runs. It adds to the system prompt; it does not replace project context. (To replace the system prompt for a specific model, use that model’s advanced drawer under Settings → Providers instead.)

The built-in #quick mode

Polycode ships one built-in mode, #quick“Cheap consensus across small models — Haiku, Gemini Flash, GPT-5 Nano. Faster and cheaper than full consensus, still synthesized.” It pins its panel to the small-model variant of each provider (Claude Haiku, Gemini Flash, GPT-5 Nano) and synthesizes through Haiku, so you get a real multi-model cross-check at a fraction of the cost and latency of your full panel. #quick is editable — you can change its description, primary, panel, and system-prompt append — but its name is reserved and it can’t be deleted.

Creating, editing, and deleting modes

Open Settings → Modes“Bundle a primary, panel, and system prompt for repeated kinds of questions.”

Polycode · Settings
Bundle a primary, panel, and system prompt for repeated kinds of questions.
New mode
#quickbuilt-inEditDelete
Cheap consensus across small models — Haiku, Gemini Flash, GPT-5 Nano.
Primary: anthropic · claude-haiku-4-5 · Panel: 3 providers
#reviewEditDelete
Careful code review with a strict reviewer prompt.
Primary: openai · gpt-5 · Panel: inherit
#draftEditDelete
Single-model fast path — one raw answer, no synthesis.
Primary: anthropic · Panel: 1 provider
Settings → Modes — the built-in #quick plus your own

Click + New mode to open the editor:

  • Name — lowercase ASCII letters, digits, and dashes; no spaces, no leading/trailing dash. (It’s shown with a leading #, e.g. #review. The # is display-only — the stored name has none.)
  • Description — a short hint shown in the composer picker.
  • Primary — pick a provider, and optionally a specific model (or leave it on Provider default).
  • Panel — leave Inherit user defaults on to use your global fan-out set, or turn it off to check exactly the providers this mode should fan out to.
  • System prompt append — optional text added after your project context.

Existing modes have Edit and Delete buttons (the built-in #quick shows a disabled Delete). Polycode keeps a soft cap of ten user modes — saving an eleventh just warns “Lots of modes can get hard to remember; consider consolidating.”; it never blocks you.

Using a mode for a send

Modes are chosen from the mode pill in the composer, the dropdown immediately to the right of the model picker. It defaults to No mode; pick any mode to apply it to your next send. The choice is per-window and survives an app restart for restored windows — a fresh window starts at No mode.

The typed #name accelerator isn’t available yet — the composer pill is the way to select a mode today.

The single-model fast path

Set a mode’s explicit panel to just its primary and the run has a single participant, so Polycode skips synthesis entirely and shows you that one model’s raw answer — no consensus framing, no synthesis pass to pay for. It’s the sanctioned way to get a single model’s unmediated reply while keeping your full panel one click away. (For a one-off without a saved mode, type !! in the composer to target a model for a single send — see composing prompts.)

When a mode can’t run

A mode is resolved against your currently configured providers each time it’s shown, so it can land in one of three states:

  • Valid — applies fully.
  • Partial (a yellow chip) — its explicit panel names some providers you haven’t configured. The mode still fires on the providers that are configured; the missing ones are silently dropped from that fan-out.
  • Invalid (a red chip) — its primary provider isn’t configured, its pinned model doesn’t resolve, or every panel entry is unconfigured. Selecting an invalid mode and sending posts a warning toast (“Mode ‘#name’ is unavailable.”) and Polycode falls back to all defaults — your normal primary, your normal fan-out set, and no system-prompt append. Nothing from the broken mode leaks into the send.

What’s next