Skip to content

Presets

A preset is a named default pipeline — an ordered list of component names. Selecting one (--preset <name> / PRESET, or preset: in YAML) expands to its pipeline; explicit config fields always override it. Pipelines below are taken exactly from the presets map in config/config.go.

Preset Ordered pipeline When to use
off (empty) Passthrough — no components. The baseline / A-B control.
safe formatcacheinject Lossless only: repack JSON compactly and add cache_control. Zero risk of dropping content.
balanced formatdedupfailed_runcmdfiltercacheinject The default. Lossless repack + conservative offloads (dedupe, drop superseded/failed runs, filter command noise) + cache.
aggressive formatdedupfailed_runcmdfiltersmartcrushextractcacheinject balanced plus smartcrush (crush long homogeneous arrays) and extract (LLM relevance filter) for deeper savings.
coding formatskeletoncmdfiltercacheinject Coding agents: skeleton reduces big source-file reads to their structure via tree-sitter.
mcp formatsmartcrushcacheinject Tool/MCP servers returning long homogeneous JSON arrays (list endpoints, search hits).
agent formatdedupfailed_runmaskextractcacheinject Long agentic sessions (e.g. Claude Code on SWE-bench) where re-sent tool outputs dominate cost. mask is the biggest lever — ~27% content-token savings with no task-reward loss (see Benchmarks).
summarize summarize Long trajectories where the transcript itself is the cost. Runs alone — it restructures the whole transcript (changes the message count), so no other component's in-place edits race the rebuild.

Order matters

Components run in pipeline order: lossless repack first, then offloads (old-then-large), with cacheinject last so it keeps the reduced prefix cacheable.

Not sure which to pick? See Choose a preset. Every component's config lives in Components.