Switching Models
Mid-session model switching lets you pop between a fast/cheap model and a stronger/slower one without restarting Cogo.
Picker
Type /model with no args:
Model picker (↑/↓ select · enter switch · esc cancel)
▸ gemini-3.1-pro-preview (current)
gemini-3.5-flash-preview
gemini-3.0-pro
...↑/↓ navigate, Enter switches, Esc cancels.
Direct switch
Skip the picker by passing the model ID:
/model gemini-3.5-flash-previewWhat changes when you switch
- The agent is rebuilt with the new model bound, but everything else carries over: project memory, MCP servers, skills, permission state.
- The conversation context resets — the new model gets a fresh system prompt with the same memory, but no prior turns. (Different models have different context windows and prompt formats; mixing histories tends to confuse them.)
- A system message confirms the switch:
Switched to gemini-3.5-flash-preview. Conversation context resets for the new model.
Persistence
If your project has an .agents/config.json, the new model ID is persisted to that file under model.name. Subsequent runs will use the new default.
To switch in-session only (don’t persist), edit config.json afterward to revert.
If you’re running without an .agents/ (built-in defaults), the switch is in-session only — nothing is written to disk.
Why switch?
Common patterns:
profor planning,flashfor execution — start a session ingemini-3.1-pro-previewto scope a refactor, then/model gemini-3.5-flash-previewfor the long tail of mechanical edits.- Cost-sensitive headless runs — set
model.nametoflashinconfig.jsonfor CI scripts; flip back toprointeractively. - Trying a new release —
/model gemini-X-previewto A/B against the current default without committing.