Skip to content

Instantly share code, notes, and snippets.

@simbo1905
Last active October 18, 2026 23:48
Show Gist options
  • Select an option

  • Save simbo1905/6f46cc1209ce57d9a775797ad870874b to your computer and use it in GitHub Desktop.

Select an option

Save simbo1905/6f46cc1209ce57d9a775797ad870874b to your computer and use it in GitHub Desktop.
Running Mistral Large 4 (mistral-large-4-0) on stock Mistral Vibe — config-only, no fork

Running Mistral Large 4 on stock Mistral Vibe — no fork required

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.

The itch

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.

The recipe (two minutes)

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 = 900000

Then /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"

Where the numbers come from

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, set thinking = "off" — that's the one field to watch on a preview model.
  • temperature = 0.2 matches the coding-agent default used for other hand-added models; adjust to taste.

One-keystroke switching with an agent profile

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.

Gotchas worth knowing

  • Back up first. cp ~/.vibe/config.toml ~/.vibe/config.toml.bak before 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_model line switches the model the instant you cycle onto it. Grep custom agents for active_model if you get mysteriously moved off Large 4.
  • There is no top-level thinking config field. Thinking mode lives inside each [[models]] entry. A thinking = "medium" line sitting loose in an agent TOML does nothing at all.
  • The "Default" row in /model means "unpin". Selecting it reverts to the default model. Pick your model explicitly.
  • Picker selections persist. Choosing a model in /model writes active_model back 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.

Why this beats a fork

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.

Verifying it took

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 version

In-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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment