Browse the docs

Ask AI to choose

Asks a model to pick one option from a list based on your prompt.

Ask AI to choose from options

Details #

Gives the model your prompt and a list of options. It answers with exactly one of them, matched without regard to case and returned as you wrote it. Store it in into and branch on it with If.

Parameters #

ParameterTypeRequiredValuesWhat it does
optionslist of textYesRequired. The allowed answers. At least two non-empty ones, or the step fails.
prompttextYesRequired. What to decide. Supports {{ }} values.
dryRunUsesModelyes / notrue lets a dry run call a cloud model.
hudyes / nofalse turns off the "Thinking…" HUD with the AI badge that shows while the model works. On by default; a dry run never shows it.
intotextThe variable for the chosen option.
modeltexthaiku or sonnet, for the cloud; or a model name when provider is a provider id.
presettextAn AI preset from Settings › AI (its id), or default for the default preset. Pick one in the Inspector's Model menu; renaming a preset changes nothing here, and a deleted one runs on the default preset with a warning. Without it the step behaves as before.
providertextauto, device or cloud; or a provider id (anthropic, openai, gemini, or an OpenAI-compatible server's id) together with model.
sampleany valueWhat a dry run answers when no model runs.

Every step also accepts label, onFailure, timeout and dryRunSafe.

Examples #

Branch on a model's choice
Do
  1. Ask AI to choose: “Is this message urgent? {{message}}”
Open in Switchboard to try it

Gotchas #

  • Where it runs. provider is auto (the default), device or cloud. auto uses Apple Intelligence on this Mac when it is on and the request fits its small window (about 4,000 tokens), otherwise your cloud model (your own Anthropic key first, then your Switchboard plan). device never leaves the Mac and fails if it is off or the text is too long. cloud needs a model set up in Settings > AI. model (haiku, the default, or sonnet) only matters for the cloud.

  • Output. The answer goes into into. The step's own output also carries value, provider (device, own-key or plan), model, ms, tokensIn, tokensOut and cents, plus repaired: true when the first answer was rejected.

  • A bad answer. If the answer does not fit, the model gets one second try with the errors. If that fails too, the step fails and follows its onFailure.

  • Time limit. These steps get 60 s by default, not 10 s.

  • Dry run. These steps are safe in a dry run. The on-device model runs for real. A cloud model does not (it costs money): the step answers with sample, or an empty string, unless you set dryRunUsesModel to true. If no model is set up, a dry run uses sample too.

  • Text you send to a cloud model leaves your Mac. Do not send secrets or private data to it.

See also #

Ask for input, Set variable, If