Coding agents · Mistral Vibe
Use Mistral Vibe with open-source models hosted in the EU
Mistral Vibe is Mistral AI's coding agent for the terminal. Besides Mistral's own API, it accepts any OpenAI-compatible provider in its config.toml, so you can run it on the open-weight models at inference.eu, processed in European data centres.
- 01API format: OpenAI
- 02EU data centres
- 03Covered by one DPA
Set it up in a few minutes
- 1
Create an API key in your inference.eu account and export it as
INFERENCE_EU_API_KEY. - 2
Open
~/.vibe/config.tomland add a[[providers]]block namedinference-euwith the inference.eu base URL,api_style = "openai"andbackend = "generic". - 3
Add a
[[models]]block for each model, with the inference.eu model id asname,inference-euasproviderand a shortalias. - 4
Set
active_modelto the alias you want to use by default. - 5
Start
vibein your project and ask it to read a file to confirm the connection.
active_model = "qwen3-coder"
enable_telemetry = false
[[providers]]
name = "inference-eu"
api_base = "https://api.inference.eu/v1"
api_key_env_var = "INFERENCE_EU_API_KEY"
api_style = "openai"
backend = "generic"
[[models]]
name = "qwen3-coder-480b-a35b-instruct"
provider = "inference-eu"
alias = "qwen3-coder"
[[models]]
name = "glm-5.3"
provider = "inference-eu"
alias = "glm"What Mistral Vibe is
Mistral Vibe is an open-source command-line coding agent from Mistral AI. It reads and edits files, runs shell commands, searches your repository and can delegate work to subagents, with permissions you control per tool. It also supports MCP servers, custom agents and hooks.
By default Vibe talks to Mistral's API, but providers and models are plain entries in config.toml. A provider with the generic backend sends standard OpenAI Chat Completions requests to whatever api_base you set, which is how you point Vibe at inference.eu.
How the configuration works
Vibe reads ~/.vibe/config.toml. The [[providers]] block gives the provider a name, sets api_base to the inference.eu base URL ending in /v1, and names the environment variable holding your key in api_key_env_var. api_style = "openai" and backend = "generic" tell Vibe to use the standard OpenAI wire format.
Each [[models]] block links an inference.eu model id (name) to the provider and gives it an alias. active_model refers to that alias. Use --model <alias> to try another model for a single run without changing the default, or switch inside a session from the model picker.
Which models to choose
Vibe works in a loop of reading, editing and running commands, so it needs a model that calls tools reliably and keeps track of a growing context. qwen3-coder-480b-a35b-instruct is a strong default: it is trained for agentic coding and produces precise edits.
For architecture questions, larger refactors or debugging that needs more reasoning, add glm-5.3 or kimi-k3 as a second alias and switch when needed. gpt-oss-120b is quick and suits subagents or short tasks. The default temperature for custom models is low, which suits code; raise it per model only if you want more varied output.
Troubleshooting
A 401 error means Vibe sent no key or the wrong one. Check that INFERENCE_EU_API_KEY is exported in the shell that starts Vibe and that api_key_env_var names exactly that variable. A 404 usually comes from an api_base with an extra path.
An "unknown alias" error means active_model or --model does not match any alias. "Model not found" from the API means name differs from the inference.eu id. If Vibe reports incomplete streams and retries, check you are on a current version; emits_finish_reason = false on the provider is only needed for servers that end streams without a finish reason.
Keeping code and data in the EU
With inference.eu as the provider, the files, diffs and command output Vibe sends to the model are processed in EU data centres and never used for training. We sign a data processing agreement under Article 28 GDPR, publish our subprocessor list and bill in euros.
Vibe can also send usage telemetry and crash reports to Mistral, separately from model requests. Set enable_telemetry = false in config.toml to turn this off. Mistral AI is a French company, but telemetry is governed by its own privacy policy, so disabling it keeps your sessions limited to traffic between Vibe and inference.eu.
Mistral Vibe: common questions
The questions buyers, developers and legal teams ask us most. Something missing? Ask us directly.
Related
- OpenCodeRun the OpenCode terminal agent on open-weight models processed in EU data centres. Add one provider block to opencode.json and keep your code in Europe.Coding agents
- AiderRun the Aider pair programmer on open-weight models processed in EU data centres. Two environment variables and the openai/ model prefix are all it takes.Coding agents
- OpenAI Codex CLIRun OpenAI's Codex CLI on open-weight models processed in EU data centres. Add a model_providers block to config.toml and keep code in Europe.Coding agents
Move your AI workloads to EU infrastructure
Tell us which models you use and roughly how much traffic you have. We reply within one working day with pricing and next steps.
- Reply within one working day
- Pricing for your volume
- DPA ready to sign