Reusable commands
Use presets to shorten repeated Marmot calls.
Use presets when a Marmot call gets too long to type or repeat safely. A preset stores provider, model, and mode-specific flags under a name, so scripts stay short and you can change the details in one place.
A preset belongs to one mode: text, image, speech, or transcription. Marmot rejects mode mismatches early, so an image preset cannot accidentally run as text.
# Without a preset
marmot run --provider anthropic --model claude-opus-4-7 --system "be terse" "explain merge sort"
# With a preset
marmot run --preset deep-research "explain merge sort"
# Shorthand
marmot @deep-research "explain merge sort"Create one
Create a preset with the flags you would otherwise type by hand.
marmot preset create deep-research \
--mode text \
--provider anthropic \
--model claude-opus-4-7 \
--system "Be terse and cite sources."Then use it by name:
marmot @deep-research "summarize this paper"Explicit flags still win. This keeps the preset but overrides the model for one call:
marmot @deep-research --model claude-haiku-4-5 "summarize this paper"Resolution order
--preset sits between explicit flags and config defaults.
- Explicit flag on the command line
- Preset values from
--preset <name>or@name - Config defaults from
~/.marmot/ai/config.json - First-run auto-config for AI verbs only
- Error if nothing can be resolved
Naming
Preset names are slugs:
- lowercase letters, digits,
-, and_only - no leading or trailing separator
- no consecutive separators
Examples: deep-research, cheap_text, square-1024, whisper_en.
Compared to defaults
A default answers, "What should this verb use when I pass nothing?" A preset answers, "Which saved bundle do I want for this call?"
Use defaults for your normal provider and model. Use presets for recurring command styles.
For every preset subcommand and flag, see Presets command reference.