Mistral Vibe: de Europese codeeragent in je terminal, en waar je code heen gaat
Mistral Vibe is een open-source AI-codeeragent van het Franse Mistral AI. Europees en open source betekent alleen niet dat je code lokaal blijft; dat moet je zelf instellen.

Mistral Vibe is een AI-agent die in je terminal je code leest, bestanden aanpast en commando's uitvoert. Het is hetzelfde soort gereedschap als Claude Code en OpenAI's Codex CLI, maar dan van het Franse Mistral AI en open source. Ik heb het begin 2026 op Linux Mint geïnstalleerd en gebruikt, en ik was er snel over te spreken.
Eén ding moet ik er wel direct bij zeggen, omdat ik het zelf eerst te rooskleurig opschreef: dat Vibe Europees en open source is, betekent niet dat je code op je eigen machine blijft. Hoe dat wel lukt, staat verderop.
Stand van 25 september 2026. Vibe krijgt vaak updates (op PyPI staat nu versie 2.25.8, van 23 september). Prijzen en functies kunnen sindsdien veranderd zijn.
Wat is Mistral Vibe?
Mistral Vibe is een codeerassistent voor de command line van Mistral AI. Het kwam uit op 9 december 2025, samen met het codeermodel Devstral 2. Je beschrijft in gewone taal wat je wilt, waarna de agent zelf bestanden zoekt, leest en aanpast en shell-commando's draait. De broncode staat op GitHub onder de Apache 2.0-licentie.
In de praktijk heeft de agent een vaste set gereedschappen: bestanden lezen, schrijven en gericht bewerken, shell-commando's uitvoeren, zoeken met grep (met ripgrep als dat geïnstalleerd is), een takenlijst bijhouden, jou een vraag stellen en deeltaken uitbesteden aan subagents. Bij de start krijgt het model ook mee in welke map je zit, op welke Git-branch en wat de laatste commits waren.
Met @ verwijs je naar een bestand en met ! voer je zelf direct een shell-commando uit, buiten de agent om. Projectinstructies zet je in een AGENTS.md, en via MCP kun je externe tools koppelen.
Versie 2.0 kwam op 27 januari 2026. Die voegde eigen subagents toe, meerkeuzevragen voordat de agent iets doet, skills die je als slash-command aanroept en instelbare agent-modi.
Mistral Vibe installeren op Linux Mint
Op Linux Mint ging de installatie bij mij zonder problemen. Het officiële installatiescript voor Linux en macOS:
curl -LsSf https://mistral.ai/vibe/install.sh | bash
Wie liever geen script van internet rechtstreeks in bash laat lopen, installeert het Python-pakket zelf. Vibe heeft Python 3.12 of nieuwer nodig:
uv tool install mistral-vibe
pip install mistral-vibe werkt ook. Op Windows draait Vibe ook, maar Mistral richt zich officieel op Linux en macOS. Op Windows installeer je eerst uv en daarna het pakket.
Start je vibe voor het eerst, dan vraagt het om een API-sleutel en bewaart die in ~/.vibe/.env. Je kunt de installatie ook in één keer doorlopen met vibe --setup. Instellingen staan in ~/.vibe/config.toml, of per project in .vibe/config.toml.
Wat kost Mistral Vibe?
Vibe zelf is gratis. Je betaalt voor het model erachter. Bij de lancering was Devstral 2 tijdelijk gratis via de API. Sinds Vibe 2.0 kost het 0,40 dollar per miljoen inputtokens en 2 dollar per miljoen outputtokens. De kleinere Devstral Small 2 kostte bij de lancering 0,10 en 0,30 dollar.
Vibe zit ook in de abonnementen Le Chat Pro (14,99 dollar per maand volgens VentureBeat) en Le Chat Team (24,99 dollar per gebruiker per maand). Voor proberen is er het gratis Experiment-plan van de API.
Waar gaat je code naartoe?
Hier zat de fout in mijn eerste versie van dit artikel. Die zei: "Je deelt je code niet met Big Tech; alles gebeurt lokaal." Standaard klopt dat niet. Vibe praat met Mistrals API, en alles wat de agent leest om je vraag te beantwoorden, gaat dus naar Mistrals servers. Mistral is een Europees bedrijf. Voor wie om juridische of strategische redenen liever geen Amerikaanse leverancier gebruikt, is dat een echt argument. Maar je code verlaat nog steeds je machine.
Daar komen twee dingen bij die je waarschijnlijk niet verwacht:
- Telemetrie staat aan. Volgens de README kan Vibe gebruiksgegevens verzamelen. Je zet dat uit met
enable_telemetry = falseinconfig.toml. - Training heeft twee aparte schakelaars. Mistral kan invoer en uitvoer gebruiken om modellen te trainen, tenzij je dat uitzet in het Privacy-menu van de admin-console. Volgens Mistrals helpcenter zijn de opt-outs voor Vibe en voor de API gescheiden: wie er één uitzet, zit nog aan de andere vast.
Mistral Vibe volledig lokaal draaien
Wil je dat er echt niets je machine verlaat, dan laat je Vibe praten met een model op je eigen hardware. Vibe werkt met elke server die een OpenAI-compatibele API aanbiedt. Mistral noemt vLLM (aanbevolen), llama.cpp, LM Studio en Ollama. Het aanbevolen model is Devstral Small 2, een model van 24 miljard parameters onder Apache 2.0. De grote Devstral 2 (123 miljard parameters) heeft volgens Mistral minstens vier GPU's van H100-klasse nodig. Dat is voor de meeste ontwikkelaars geen optie.
Volgens Mistrals documentatie heb je voor Devstral Small 2 op 4-bit met 32k context een kaart met 24 GB VRAM nodig, zoals een RTX 4090. Met CPU-offload werkt het ook, maar "significantly slower". De koppeling in ~/.vibe/config.toml ziet er zo uit:
enable_telemetry = false [[providers]] name = "local" api_base = "http://localhost:8080/v1" api_style = "openai" backend = "generic"
Daarna kies je het lokale model met /config. Draai je vLLM, start die dan met --tool-call-parser mistral en --enable-auto-tool-choice, anders kan het model geen tools aanroepen. En dan heeft de agent nog steeds een shell. Controleer dus ook welke tools of MCP-servers zelf het internet op gaan.
Wat mag de agent zonder te vragen?
Ook hier ligt de standaard anders dan je zou denken. Vibe heeft vier ingebouwde modi:
accept-editsis de standaard. Bestandswijzigingen gebeuren zonder bevestiging, voor andere acties zoals shell-commando's vraagt Vibe eerst toestemming.planis alleen-lezen: zoeken en lezen mag, wijzigen niet.askvraagt bij elke tool-actie om toestemming.auto-approvekeurt alles goed. Mistral zegt er zelf bij: "Use with caution."
Je kiest een modus met vibe --agent plan of zet default_agent in je config. Omdat de standaardmodus bestanden zonder vragen aanpast, is een schone Git-werkmap vooraf geen luxe: git diff laat je daarna precies zien wat de agent veranderde. Opent Vibe een map met een eigen .vibe-configuratie, dan vraagt het eerst of je die map vertrouwt.
Wat ik ermee deed
Op Linux Mint heb ik Vibe op een paar gewone klussen gezet. Ik liet het oude Promise-code omzetten naar async/await, en het resultaat las als zorgvuldig refactorwerk, niet als gegenereerde code. Ik liet het een rate-limiting-middleware met Redis-ondersteuning opzetten voor een Node.js-API. Ik liet het een foutieve databasequery onderzoeken. En ik liet het zoeken waarom een loginformulier crashte op tekens als è, ü en ñ. Dat laatste vond Vibe zelf: de fout zat in de regex die de invoer controleerde.
Wat me bij die loginbug het meest opviel, was de stap na de fix: Vibe wilde uit zichzelf de tests draaien om te controleren of de oplossing werkte. Dat is het gedrag dat je van een agent wilt, en ook de stap die je zelf het makkelijkst overslaat.
Twee gewoontes maakten het verschil:
- Wees specifiek. "Fix de loginbug" werkt, maar "het loginformulier crasht als de gebruikersnaam een é bevat, waarschijnlijk door de regex op regel 42" werkt beter. De agent hoeft minder te zoeken, en jij leest minder om te zien of het klopt.
- Wijs bestanden aan met
@. Dan werkt de agent met de bestanden die jij bedoelt, en niet met de bestanden die het zelf toevallig vindt.
Mistral Vibe naast Claude Code en Codex CLI
Open source is op zich geen onderscheid meer: OpenAI's Codex CLI staat ook onder Apache 2.0 op GitHub. Wat Vibe wel onderscheidt, is dat Mistral de agent én een bruikbaar open-weight codeermodel uitbrengt, en zelf documenteert hoe je die twee samen op eigen hardware draait. Dan heb je een terminalagent waarvan het hele pad, van prompt tot model, onder jouw beheer kan vallen. Dat gebeurt alleen niet vanzelf.
Wil je Vibe proberen op code die het bedrijf niet uit mag, begin dan niet bij de installatie. Begin bij drie vragen. Draait het model lokaal of bij Mistral? Staat de telemetrie uit? En welke van de twee trainingsschakelaars heb je omgezet?


