Dokumentation
Mistral Vibe CLI
Vibe CLI greift über einen manuell bearbeiteten TOML-Block auf einen Drittanbieter-Endpunkt zu. In der Dokumentation von Mistral dient ein Gateway als durchgängiges Beispiel. Fünf Zeilen unter [[providers]] genügen, damit der Agent mit Claude oder GPT und Ihrem Schlüssel läuft.
Ein [[providers]]-Block mit fünf Zeilen in .vibe/config.toml — api_base, api_key_env_var, api_style — richtet Vibe CLI auf Kunavo aus; der Schlüssel bleibt in einer Umgebungsvariablen statt in der Datei.
# ./.vibe/config.toml (project) or ~/.vibe/config.toml (user).
# "Project-level configuration takes precedence over user-level
# configuration", and the project file loads only in a trusted folder.
active_model = "sonnet-kunavo"
[[providers]]
name = "kunavo"
api_base = "https://api.kunavo.com/v1"
api_key_env_var = "KUNAVO_API_KEY"
api_style = "openai"
backend = "generic"
[[models]]
name = "claude-sonnet-5"
provider = "kunavo"
alias = "sonnet-kunavo"
# Optional, and documented on the api-keys-profiles page:
# temperature sampling temperature
# input_price indicative per-input cost, fed to --max-price
# output_price indicative per-output cost, fed to --max-price
# Take the two prices from the table further down this page if you want
# --max-price to mean anything.
# The key never goes in config.toml. api_key_env_var names the variable:
# export KUNAVO_API_KEY="sk-kn-..."api_base behält das /v1 bei. In der Referenz von Mistral wird das Feld lediglich als „Basis-URL des Providers für die API“ beschrieben; eine Regel zum Suffix gibt es dort nicht. Ausschlaggebend ist der Wert im durchgängigen Beispiel auf beiden Dokumentationsseiten: api_base = "https://openrouter.ai/api/v1". Den Grund dafür zeigt der Quellcode von v2.25.5: Der Adapter openai hängt /chat/completions an api_base an und fügt nichts Weiteres hinzu. Aus demselben Grund verwendet der integrierte Mistral-Provider der CLI standardmäßig eine /v1-Basis. Lassen Sie das Suffix weg, wird /chat/completions an der Stamm-URL aufgerufen. Das führt zu einem 404 und nicht zu einem Authentifizierungsfehler.curl können Sie in zehn Sekunden prüfen. Alles, was der Client danach tut, klären Sie mit Vibe.temperature, während mehrere Claude-IDs – darunter claude-sonnet-5 und claude-opus-5 – upstream auf 400 für das gesamte Dreiergespann von Sampling-Parametern antworten. Kunavo entfernt diese Parameter vor der Weiterleitung, genau bei den IDs, die sie zurückweisen. Deshalb führt das vom Client bedingungslos hinzugefügte Feld nicht zu einer harten Ablehnung. Der Schlüssel temperature in einer Voreinstellung vom Typ [[models]] ist hier also unproblematisch und hat bei diesen IDs keine Auswirkung.sk-kn-) und füge ab $10 Guthaben hinzu – Aufrufe werden aus diesem Guthaben bezahlt, fehlgeschlagene Aufrufe werden nicht berechnet. Das Dashboard öffnet anschließend die Mistral Vibe CLI-Einrichtung.Schritt für Schritt
- Erstellen Sie unter
/app/keyseinen Schlüssel und kopieren Sie ihn — er wird nur einmal angezeigt. - Öffnen Sie
~/.vibe/config.toml(oder erstellen Sie./.vibe/config.tomlin dem Repository, auf das die Einstellung angewendet werden soll) und fügen Sie den obigen Block ein. Es gibt keinen Ablauf zum Hinzufügen eines Providers, den Sie per Klick durchlaufen müssen: Mistral beschreibt diese Datei als manuell zu bearbeiten, und/configsowie/modelwechseln nur zwischen bereits vorhandenen Voreinstellungen. - Exportieren Sie die in
api_key_env_varbenannte Variable:export KUNAVO_API_KEY="sk-kn-...". Auf der Seite von Mistral zu Zugangsdaten wird~/.vibe/.envals die Datei beschrieben, die die CLI beim Start für Zugangsdaten lädt. Im eigenen Beispiel für Drittanbieter wird für den Nicht-Mistral-Schlüssel ein Shell-exportverwendet. - Fügen Sie für jede gewünschte ID eine Voreinstellung vom Typ
[[models]]mit einem eigenenaliashinzu und setzen Sieactive_modelanschließend auf einen dieser Aliase. Der Alias gilt lokal: Er wird in/modelaufgeführt; die tatsächlich an den Endpunkt übermittelte ID istname. - Führen Sie
vibein einem vertrauenswürdigen Ordner aus und geben Sie dem Agenten eine Aufgabe, bei der eine Datei bearbeitet wird, keinen Gruß. Ein erster Durchlauf, der eine Datei liest und ändert, testet Tool-Aufrufe. Dort zeigen sich Fehlkonfigurationen des Providers üblicherweise zuerst.
Abgeglichen mit Konfigurationsseite für Mistral Vibe Code CLI am 21. September 2026. Einstellungen von Drittanbietern können sich ändern; wenn ein Feldname hier nicht mehr mit deiner Ansicht übereinstimmt, ist diese Seite maßgeblich, nicht diese hier.
Vor dem Debugging des Clients prüfen
Eine Anfrage klärt, ob der Fehler am Endpunkt, am Schlüssel oder an der Konfigurationsdatei liegt. Wenn diese Anfrage JSON zurückgibt, funktionieren dieselbe Basis-URL und derselbe Schlüssel in Mistral Vibe CLI.
# Settles whether a failure is the endpoint, the key, or the client.
curl -sS https://api.kunavo.com/v1/models \
-H "Authorization: Bearer sk-kn-..."Welche Modell-ID in das Feld gehört
Jedes Textmodell ist über eine Modell-ID erreichbar – die aktuelle Liste findest du unter GET /v1/models, den Katalog mit Preisen auf der Modellseite. Die Tarife sind USD pro 1 Mio. Token, Eingabe / Ausgabe.
| Modell-ID | Kunavo: Ein- und Ausgabe | Wo es in Mistral Vibe CLI hineinpasst |
|---|---|---|
claude-sonnet-5 | $1.40 / $7.00 | der funktionierende Alias – der Alias, auf den active_model an den meisten Tagen verweist |
claude-opus-5 | $3.50 / $17.50 | eine zweite Voreinstellung für den Planungsmodus, in dem ein falscher Plan besonders teuer ist |
claude-haiku-4-5 | $0.70 / $3.50 | günstige Gesprächsrunden und schnelles Sichten von Dateien, als eigener Alias zum Wechseln |
gpt-5-6-sol | $2.00 / $12.00 | eine andere Modellfamilie hinter demselben Provider-Block und mit demselben Schlüssel |
Nicht der gesamte Datenverkehr läuft über diesen Provider
Das lässt sich aus einem Konfigurationsblock nicht erkennen und ist spezifisch für Vibe, nicht für Kunavo. In Version v2.25.5 leitet die CLI Hintergrund-„Utility“-Completions – kleine Aufrufe, die Konversationen und Worktrees benennen – an Mistrals eigenes mistral-vibe-cli-fast-Modell weiter, sobald ein Mistral-Provider verfügbar ist. In den ausgelieferten Standardeinstellungen ist immer einer konfiguriert, selbst wenn für die Sitzung Ihr Modell aktiv ist. Der Quellcode macht sowohl die Präferenz als auch die Rückfalloption deutlich: Ist kein Mistral-Provider verfügbar, wird für den Utility-Aufruf stattdessen das aktive Modell der Sitzung verwendet.
Wenn also jede Anfrage in der Sitzung über den von Ihnen konfigurierten Provider laufen soll, muss eine der folgenden Bedingungen erfüllt sein:
MISTRAL_API_KEYist nicht gesetzt, sodass die Zugangsdaten für das schnelle Modell nicht aufgelöst werden können und der Utility-Aufruf auf das Ausweichmodell zurückfällt; oder- Der Alias des schnellen Modells wird über
allowed_modelsausgeschlossen. Das bewirkt dasselbe über die Zulassungsliste statt über den Schlüssel.
Der Smart Approve-Klassifikator geht noch weiter: Im Changelog-Eintrag zu 2.25.1 steht, dass er unabhängig vom aktiven Modell der Sitzung auf dem schnellen Mistral-Modell läuft. Daher verwendet eine Sitzung, die ausschließlich Kunavo nutzt, realistischerweise accept-edits oder plan statt Smart Approve. Nichts davon beeinträchtigt die obige Konfiguration. Es bedeutet lediglich, dass der Provider-Block Ihre Modellaufrufe abdeckt, nicht jedes Datenpaket, das die Binärdatei sendet.
Die anderen Werte für api_style
In der Dokumentation wird ein Beispielwert für api_style aufgeführt: "openai". Der Quellcode von v2.25.5 enthält vier weitere Werte – "anthropic", "openai-responses", "reasoning" und "vertex-anthropic" – in einem einfachen Dictionary ohne Validierung. Deshalb wird ein Tippfehler erst bei der Anfrage sichtbar und nicht beim Laden der Datei. Betrachten Sie diese Werte als im Quellcode bestätigt, aber undokumentiert. Beachten Sie bei einem Versuch mit dem Anthropic-Wert außerdem folgende Stolperfalle: Der Endpunkt des zugehörigen Adapters ist /v1/messages. api_base muss daher der reine Ursprung https://api.kunavo.com ohne /v1 sein – das Gegenteil des oben gezeigten Blocks. Kunavo beantwortet /v1/messages für IDs, die mit claude- beginnen. Auf dieser Seite wird der Stil openai gezeigt, da Mistral genau diesen dokumentiert.
Häufig gestellte Fragen
Wie füge ich in der Mistral Vibe CLI einen benutzerdefinierten Anbieter hinzu?
Manuell in config.toml – eine Benutzeroberfläche zum Hinzufügen von Anbietern gibt es nicht. Auf der Konfigurationsseite von Mistral sind ./.vibe/config.toml im Arbeitsverzeichnis und ~/.vibe/config.toml im Home-Verzeichnis dokumentiert. Dabei hat die Projektdatei Vorrang. Das ausführliche Beispiel enthält eine [[providers]]-Tabelle mit name, api_base, api_key_env_var, api_style und backend sowie eine [[models]]-Tabelle mit name, provider und alias. active_model verweist auf diesen Alias. Der Schlüssel selbst steht nie in der Datei: api_key_env_var bezeichnet die Umgebungsvariable, die ihn enthält.
Muss api_base der Vibe CLI mit /v1 enden?
Bei api_style „openai“: ja. In Mistrals Konfigurationsreferenz wird api_base lediglich als Basis-URL für die API des Anbieters beschrieben; eine Regel zum Suffix gibt es dort nicht. In den ausführlichen Beispielen auf beiden Seiten endet der Wert jedoch mit /v1. Der Quellcode von v2.25.5 erklärt warum: Der OpenAI-Adapter hängt an api_base /chat/completions an und sonst nichts. Auch beim integrierten Mistral-Anbieter der CLI endet die Standard-Basis-URL mit /v1. Für Kunavo lautet der Wert also https://api.kunavo.com/v1. Ohne das Suffix erhältst du einen 404-Fehler, keinen Authentifizierungsfehler. Beim undokumentierten Stil „anthropic“ gilt das Gegenteil: Der Endpunkt lautet /v1/messages, daher darf api_base kein /v1 enthalten.
Kann die Mistral Vibe CLI Claude-Modelle ausführen?
Ja, über eine Anbietervoreinstellung statt über einen Schalter. api_style bezeichnet das Übertragungsprotokoll, nicht den Anbieter. Das Feld name in der Modellvoreinstellung wird unverändert an den Endpunkt übergeben. Daher wird eine Claude-ID am konfigurierten Endpunkt aufgelöst und nicht innerhalb der CLI. Die Dokumentation von Mistral zeigt dieses Muster anhand eines Gateways eines Drittanbieters. Damit ist es ein dokumentierter Weg und kein Workaround.
Warum ruft die Vibe CLI weiterhin Mistral auf, obwohl ich meinen eigenen Anbieter konfiguriert habe?
Hintergrundaufgaben für Hilfsvervollständigungen werden separat weitergeleitet. In v2.25.5 bevorzugt die CLI für kleine Hintergrundaufrufe – etwa zum Benennen von Unterhaltungen und Arbeitsbäumen – Mistrals eigenes Modell mistral-vibe-cli-fast, sofern ein Mistral-Anbieter verfügbar ist. Die mitgelieferten Standardeinstellungen konfigurieren immer einen, auch wenn für die Sitzung ein anderes aktives Modell verwendet wird. Ist kein Mistral-Anbieter verfügbar, verwendet die CLI ersatzweise das aktive Modell. Praktisch bedeutet das, dass MISTRAL_API_KEY nicht gesetzt oder dieser Alias über allowed_models ausgeschlossen ist. Beim Smart-Approve-Klassifikator gilt eine noch strengere Regel: Laut Änderungsprotokoll wird er unabhängig vom aktiven Sitzungsmodell auf dem schnellen Mistral-Modell ausgeführt.
Hat Kunavo die Mistral Vibe CLI getestet?
Nein. Am 21. September 2026 wurde Mistrals eigene Dokumentation geprüft. Die Feldnamen, ihre Reihenfolge und die Antwort auf die Frage nach /v1 stammen daraus; die Überlegungen zur Basis-URL wurden anhand des Quellcodes des Pakets mistral-vibe v2.25.5 bestätigt. Kunavo hat keine Vibe-Sitzung mit seinem Endpunkt ausgeführt und macht keine Aussagen zu Streaming, Tool-Aufrufen oder zum Verhalten des Clients bei langen Aufgaben. Den Endpunkt und den Schlüssel kannst du unabhängig davon mit dem curl-Aufruf auf dieser Seite prüfen; alles Weitere hängt vom Client ab.
Woher bezieht die Vibe CLI den API-Schlüssel?
Aus der Umgebungsvariable, die in api_key_env_var angegeben ist – für einen Kunavo-Anbieterblock also aus einer Variable mit dem von dir festgelegten Namen, zum Beispiel KUNAVO_API_KEY. Auf Mistrals Seite zu Zugangsdaten sind drei Quellen für den eigenen Schlüssel in der Reihenfolge ihrer Priorität dokumentiert: der interaktive Einrichtungsablauf, der ~/.vibe/.env schreibt; eine exportierte Umgebungsvariable, die Vorrang vor dieser Datei hat; und die direkte Bearbeitung von ~/.vibe/.env, die die CLI beim Start lädt. Im Beispiel für Drittanbieter wird der Schlüssel mit einem Shell-Export gesetzt. Auf derselben Seite steht, dass .env nur für Zugangsdaten vorgesehen ist und allgemeine Konfiguration in config.toml gehört.