Dokumentation

Dokumentation

Claude Code Router

CCR sitzt zwischen Claude Code und dem Dienst, der die Modelle bereitstellt. Dadurch können verschiedene Anfrageklassen an unterschiedliche Ziele geleitet werden. Füge Kunavo als benutzerdefinierten Endpunkt hinzu und ordne dann in der Agent Config jeder Claude-Stufe eine Modell-ID zu.

CCR ist jetzt eine Desktop-App, keine config.json: Kunavo als benutzerdefinierten API-Endpunkt hinzufügen und anschließend die Routing-Regeln jede Anfrageklasse an ein anderes Modell senden lassen.

CCR Desktop
Providers → Add provider
  Preset provider   Other / custom API endpoint
  Name              Kunavo
  API endpoint      https://api.kunavo.com
  API key           sk-kn-...
  Models            claude-sonnet-5, claude-opus-5, claude-haiku-4-5

Agent Config → Add profile → Claude Code
  Model         Kunavo/claude-sonnet-5
  Opus model    Kunavo/claude-opus-5
  Haiku model   Kunavo/claude-haiku-4-5
Manuelle Änderungen an config.json haben keine Wirkung mehr. CCR speichert seine Laufzeitkonfiguration in ~/.claude-code-router/config.sqlite und liest eine ältere config.json genau einmal als Migrationsquelle ein, wenn noch keine SQLite-Konfiguration vorhanden ist. Nach diesem ersten Lauf werden Änderungen an der JSON-Datei stillschweigend ignoriert. Die meisten Anleitungen im Internet – und ältere Versionen unseres eigenen Leitfadens – beschreiben nach wie vor die JSON-Datei.
Der API-Endpunkt ist hier der reine Ursprung https://api.kunavo.com: CCR prüft dort das Protokoll, und Kunavo stellt nativ Anthropic Messages unter /v1/messages bereit. Wenn CCR stattdessen das OpenAI-kompatible Format verwenden soll, gib https://api.kunavo.com/v1 an. Beide Schnittstellen funktionieren mit demselben Schlüssel.
Noch kein Schlüssel? Erstelle ein Kunavo-Konto, erstelle einen Schlüssel (er beginnt mit 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 Claude Code Router-Einrichtung.

Schritt für Schritt

  1. Erstellen Sie unter /app/keys einen Schlüssel und kopieren Sie ihn — er wird nur einmal angezeigt.
  2. Öffne in CCR Desktop Anbieter → Anbieter hinzufügen, wähle die Voreinstellung Other / custom API endpoint und trage Name, API-Endpunkt und API-Schlüssel ein.
  3. Füge unter Modelle Modell-IDs hinzu. Verwende Modelle suchen, um den Katalog abzurufen, oder Benutzerdefinierte Modelle, um IDs manuell einzugeben.
  4. Führe für zwei oder drei Modelle Verbindung überprüfen aus. Dabei werden echte Anfragen gesendet. Wähle daher nur die Modelle aus, die du überprüfen musst, und nicht die gesamte Liste.
  5. Öffne Agent Config → Profil hinzufügen → Claude Code, lege Modell und die Überschreibungen pro Stufe für Opus / Sonnet / Haiku fest, speichere und starte Claude Code über CCR.

Abgeglichen mit die Anbieterkonfigurationsseite von CCR am 6. 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.

Dies ist die Kurzfassung. Die vollständige Anleitung – Modellauswahl, Kosten einer tatsächlichen Sitzung und Fehlerszenarien – findest du in die Anleitung zu Claude Code Router.

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 Claude Code Router.

# Settles whether a failure is the endpoint, the key, or the client.
curl -sS https://api.kunavo.com/v1/messages \
  -H "Authorization: Bearer sk-kn-..." \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{"model":"claude-sonnet-5","max_tokens":16,"messages":[{"role":"user","content":"ping"}]}'

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-IDKunavo: Ein- und AusgabeWo es in Claude Code Router hineinpasst
claude-opus-5$3.50 / $17.50die Opus-Stufe – für Planung und anspruchsvolle Änderungen
claude-sonnet-5$1.40 / $7.00die Sonnet-Stufe und der Profilstandard
claude-haiku-4-5$0.70 / $3.50die Haiku-Stufe, auf der die Anfragen der Subagenten landen
gpt-5-6-terra$0.70 / $4.20eine Route für langen Kontext, erreichbar über denselben Anbietereintrag
Die Abrechnung erfolgt pro Token aus einem vorausbezahlten Guthaben ohne Monatsgebühr – siehe Abrechnung. Bei wiederholtem Kontext – dem Großteil dessen, was ein Editor oder Chat-Client sendet – verändert Prompt-Caching die Rechnung stärker als die Modellwahl.

Warum die Zuordnung pro Stufe entscheidend ist

Claude Code wählt pro Stufe ein Modell statt pro Anfrage: Die Hauptschleife fordert die Sonnet- oder Opus-Stufe an, während Hintergrundaufgaben – Subagenten, Suche und Zusammenfassungen – die kleine, schnelle Stufe anfordern. Die Agent Config von CCR stellt diese Stufen als separate Felder bereit. So bedient das teure Modell nur die Anfragen, die es benötigen, während die stark ausgelastete Stufe einer günstigen ID zugeordnet wird. Genau deshalb wird ein Router vor Claude Code geschaltet. In den Einstellungen von Claude Code selbst ist diese Aufteilung nicht sichtbar.

Häufig gestellte Fragen

Wo speichert Claude Code Router seine Konfiguration?

In einer SQLite-Datenbank: ~/.claude-code-router/config.sqlite unter macOS und Linux, %APPDATA%\claude-code-router\config.sqlite unter Windows. Eine ältere config.json wird nur einmal als Migrationsquelle eingelesen, wenn noch keine SQLite-Konfiguration existiert. Nach der Migration haben Änderungen an config.json keinen Einfluss auf die aktive Konfiguration. Ändere die Einstellungen stattdessen über die Desktop-Oberfläche.

Wie füge ich Claude Code Router einen benutzerdefinierten API-Endpunkt hinzu?

Öffne „Anbieter“, klicke auf „Anbieter hinzufügen“ und wähle die Voreinstellung „Anderer / benutzerdefinierter API-Endpunkt“. Diese akzeptiert jeden OpenAI-, Anthropic- oder Gemini-kompatiblen Upstream. Trage einen eindeutigen Namen, die Basis-URL des API-Endpunkts und den API-Schlüssel ein. Füge dann Modell-IDs hinzu, indem du sie abrufst oder unter „Benutzerdefinierte Modelle“ eingibst. Bei „Verbindung überprüfen“ werden echte Testanfragen gesendet, um zu bestätigen, dass Endpunkt, Schlüssel, Protokoll und IDs zusammen funktionieren.

Kann Claude Code Router verschiedene Claude-Stufen an unterschiedliche Modelle senden?

Ja, das ist der Hauptgrund für seinen Einsatz. In Agent Config hat ein Claude-Code-Profil ein Standardmodell sowie optionale Überschreibungen für Fable, Opus, Sonnet und Haiku. Claude Code fordert eine Stufe statt einer bestimmten ID an. Wenn du also der Haiku-Stufe ein günstiges Modell und der Opus-Stufe ein leistungsstarkes Modell zuordnest, wird die Abrechnung entlang des bestehenden Verhaltens des Agenten aufgeteilt: stark ausgelastete Hintergrundarbeit läuft mit der günstigen ID, die Planung mit der teuren.

Funktioniert Claude Code Router mit einem Gateway im Anthropic-Format?

Ja. Die Voreinstellung für benutzerdefinierte Endpunkte prüft das Protokoll anhand der angegebenen URL und unterstützt Anthropic Messages als eines ihrer Protokolle. Ein Gateway, das /v1/messages bereitstellt, kann daher direkt hinzugefügt werden, wobei sein Ursprung als API-Endpunkt dient. Ein Gateway, das zusätzlich eine OpenAI-kompatible Schnittstelle anbietet, kann auf beide Arten hinzugefügt werden. Der einzige Unterschied ist das Übertragungsformat, mit dem CCR kommuniziert.