Tested on Mistral Vibe v2.26.0 using vibe --yolo --experimental-harness. Everything below uses the documented configuration surface (the same one the CLI's built-in /config browser and skill docs describe), so it should keep working on later releases — no patching, no rebase pain.
Mistral Large 4 (mistral-large-4-0, public preview, released 6 October 2026) is served on the Mistral API — but if you fire up Mistral Vibe and hit /model, it's not in the picker. The CLI ships a small, curated default model catalog, and Large 4 simply isn't in it yet.
The tempting move is to fork the repo and append the model to the hardcoded DEFAULT_MODELS list. Don't. You don't need any custom code: Vibe's configuration is layered, the models list union-merges with the built-ins by alias, and the stock mistral provider already points at https://api.mistral.ai/v1 using MISTRAL_API_KEY — which is exactly where Large 4 is served. You're one TOML block away.
Open (or create) ~/.vibe/config.toml and add:
[[models]]
name = "mistral-large-4-0"
provider = "mistral"
alias = "mistral-large-4"
temperature = 0.2
input_price = 0.68
output_price = 2.09
cached_input_price = 0.07
thinking = "medium"
supports_images = true
auto_compact_threshold = 900000Then /reload and pick mistral-large-4 in /model. To boot straight onto it, set at the top of the config:
active_model = "mistral-large-4"Straight off the model card:
- Prices are the launch sale prices per million tokens: $0.68 input, $0.07 cached input, $2.09 output (list prices are $1.36 / $0.14 / $4.18). If the sale ends, bump the three price fields.
- Context is 1M tokens, hence the 900k auto-compaction threshold.
supports_images = true: Large 4 is natively multimodal (1.6B vision encoder), so@-mentioned images work.thinking = "medium": Large 4 is a hybrid instruct-and-reasoning model. If the preview API rejects the thinking parameter, setthinking = "off"— that's the one field to watch on a preview model.temperature = 0.2matches the coding-agent default used for other hand-added models; adjust to taste.
Vibe's agents (cycle them with Shift+Tab) aren't just permission presets — they're config profiles, and a profile can pin a model. Any *.toml dropped into ~/.vibe/agents/ is discovered automatically. For a dedicated Large 4 agent, create ~/.vibe/agents/large4.toml:
description = "Mistral Large 4 via the Mistral API"
active_model = "mistral-large-4"Now Shift+Tab onto it (or launch with --agent large4).
Note: if you use the flag vibe --experimental-harness then the opensource python vibe harness will load the new rust engine to be faster, more efficient, and more secure. Joy.
- Back up first.
cp ~/.vibe/config.toml ~/.vibe/config.toml.bakbefore editing — the config is hand-edited TOML, and a syntax slip takes the whole file down. - Agents can hijack your model. Any agent profile with an
active_modelline switches the model the instant you cycle onto it. Grep custom agents foractive_modelif you get mysteriously moved off Large 4. - There is no top-level
thinkingconfig field. Thinking mode lives inside each[[models]]entry. Athinking = "medium"line sitting loose in an agent TOML does nothing at all. - The "Default" row in
/modelmeans "unpin". Selecting it reverts to the default model. Pick your model explicitly. - Picker selections persist. Choosing a model in
/modelwritesactive_modelback to~/.vibe/config.toml, so your choice survives restarts. - It's a public preview. The model ID, pricing, and thinking support can move under you; re-check the model card after Mistral ships the weights (due end of October 2026).
- Per-project configs work too. The same
[[models]]block can live in a repo's.vibe/config.toml— handy when you only want Large 4 for one codebase.
Zero code changes. The union-merge means your [[models]] entry rides alongside the built-ins (and if upstream ever ships Large 4 in the default catalog, your entry just overrides it by alias — same values, no duplicates, no conflict). Every uv update, every new Vibe release, your config keeps working untouched.
vibe --version # the CLI version you launched
grep -A11 'mistral-large-4-0' ~/.vibe/config.toml # the block, as written
uv tool list | grep vibe # the uv tool install versionIn-session, the startup banner shows the active model (mistral-large-4[medium]), and /model lists mistral-large-4 in the picker. If vibe --version prints something older than expected, your PATH is resolving a second, older install — check which vibe.