OpenCode Free Limit Reached: warten, wechseln oder weiterarbeiten

Ein Entscheidungsablauf für Free limit reached und kostenlose 429-Fehler in OpenCode: aktiven provider und model ermitteln, keinen Reset-Zyklus erfinden, zwischen Warten, anderem Modell und unabhängigem provider wählen und das Ergebnis mit einer kleinen Anfrage prüfen.

Inhalt
OpenCode Free Limit Reached: warten, wechseln oder weiterarbeiten

Wenn OpenCode Free limit reached oder HTTP 429 anzeigt, sollten Sie nicht automatisch von einer festen täglichen Reset-Zeit für alle kostenlosen Modelle ausgehen. Bewahren Sie den ursprünglichen Fehler auf, bestätigen Sie den aktiven provider und das aktive model und verwenden Sie nur einen Reset-Hinweis, der in der aktuellen Antwort oder im Konto tatsächlich erscheint.

Gibt es keine verlässliche Zeit, können Sie warten, ein anderes derzeit in /models verfügbares Modell wählen oder ausdrücklich zu einem separat abgerechneten provider wechseln. Bevor Sie eine lange Coding-Aufgabe fortsetzen, senden Sie eine kleine, nicht verändernde Anfrage und prüfen Sie Antwort, ausgewählten provider/model und die providerseitige Nutzung.

Den richtigen Zweig am Symptom erkennen

AnzeigeWahrscheinlicher ZweigErster Schritt
Free limit reached oder FreeUsageLimitError ohne CountdownLimit der kostenlosen StufeKeinen Zyklus erfinden; Zeitpunkt notieren, warten oder aktuelle Modelle in /models prüfen
Go limit reached mit echtem CountdownBezahltes Nutzungsfenster von OpenCode GoDie für dieses Konto angezeigte Zeit verwenden und nicht auf kostenlose Modelle übertragen
Allgemeines 429, Too Many Requests oder Provider is overloadedProvider-Rate-Limit, Kapazitätsproblem oder vorübergehender FehlerVollständige Antwort sichern, provider/model bestätigen, später erneut versuchen und Providerstatus prüfen
401, 404 oder Model not availableAuthentifizierungs-, Base-URL- oder Model-ID-FehlerNicht auf einen Reset warten, sondern Zugangsdaten, endpoint oder Modellkonfiguration korrigieren

Derselbe HTTP-Status kann verschiedene Ursachen haben. Ein 429 kann ein kostenloses Kontingent, ein gewöhnliches Provider-Limit oder eine vorübergehende Überlastung bedeuten. Der Statuscode allein ist daher kein Grund, einen Plan zu kaufen oder die gesamte Konfiguration neu zu schreiben.

Vor jeder Änderung vier Angaben sichern

  1. Den vollständigen Fehlertext, nicht nur „429“.
  2. Den ausgewählten provider und das model, möglichst als providerId/modelId.
  3. Sichtbaren response body, Fehlertyp, headers und retry-after, sofern der Client sie tatsächlich zeigt.
  4. Fehlerzeit und Zeitzone, Projektverzeichnis und den verwendeten Weg: kostenloses Zen, Go oder custom provider.

Führen Sie gemäß der OpenCode-Zen-Dokumentation in der TUI /models aus, um den ausgewählten Eintrag und die derzeit gelisteten Modelle zu sehen. Im Terminal steht zusätzlich opencode models zur Verfügung. Eine alte Bildschirmaufnahme oder Anleitung beweist nicht, dass ein bestimmtes kostenloses Modell heute noch verfügbar ist.

Prüfen Sie auch die Konfigurationspriorität. Laut OpenCode-Konfigurationsdokumentation führt OpenCode mehrere Quellen zusammen, und eine projektbezogene opencode.json kann globale Einstellungen überschreiben. Ein global gewähltes Modell A beweist nicht, dass das aktuelle Repository Modell A nutzt. Maßgeblich sind das aktuelle Projekt, die Auswahl in /models und die aufgelöste Konfiguration.

Nur einem tatsächlich vorhandenen Reset vertrauen

Enthält der aktuelle Fehler weder einen verlässlichen Countdown noch eine absolute Uhrzeit, sollten Sie nicht „in einigen Stunden“, „morgen“ oder „nächste Woche“ ableiten.

Im am 2026-10-10 geöffneten und geprüften retry.ts-Snapshot des OpenCode-dev-Branches läuft FreeUsageLimitError in einen statischen Hinweiszweig für das kostenlose Limit. GoUsageLimitError liest dagegen den response header retry-after und erstellt daraus einen Countdown. Das ist eine Quellcodeprüfung, kein Laufzeittest Ihrer installierten Version oder Ihres Kontos.

Die öffentlichen Feature Requests #53252 und #52894 enthalten Beispielzeiten, doch diese Zahlen erklären nur den gewünschten Funktionsumfang und sind keine beobachteten Zeitpläne der kostenlosen Stufe. Auch ein geschlossenes Issue beweist nicht, dass die Änderung in Ihrer Clientversion enthalten ist.

Die am 2026-10-10 geöffnete OpenCode-Go-Dokumentation definiert 5-Stunden-, Wochen- und Monatsfenster getrennt für die bezahlte Nutzung. Diese Go-Regeln lassen sich nicht als Reset-Zyklus kostenloser Modelle verwenden.

Verwenden Sie folgende Regel:

  • Countdown oder genaue Uhrzeit vorhanden: Wortlaut, Zeitzone und provider speichern und ungefähr zu diesem Zeitpunkt einmal erneut versuchen.
  • Keine Zeit vorhanden: Reset-Zeit als unbekannt behandeln, schnelle Wiederholungen vermeiden und kein Fenster eines anderen Plans einsetzen.
  • Nur allgemeines 429 vorhanden: Provider-Throttling oder Überlastung untersuchen, bis die Daten tatsächlich ein kostenloses Limit zeigen.

Option 1: warten, wenn dasselbe kostenlose Modell nötig ist

Warten ist die einfachste Wahl, wenn die Aufgabe nicht dringend ist, keine separate API-Nutzung entstehen soll und der Fehler eindeutig auf das kostenlose Kontingent verweist.

  1. Zeitpunkt des letzten Fehlers und Rohmeldung notieren.
  2. Dauernde Wiederholungen stoppen, damit Kontingent und kurzfristiges Rate Limit nicht vermischt werden.
  3. Bei einem verlässlichen Timer ungefähr zur genannten Zeit testen. Ohne Timer in einem für Sie vertretbaren Abstand prüfen, aber keinen festen Zyklus versprechen.
  4. Zuerst eine kurze Anfrage senden, nicht sofort eine Aufgabe mit vielen Dateioperationen fortsetzen.

Erfolg bedeutet nicht nur, dass OpenCode startet oder der Prozess exit code 0 liefert. Das gewählte Modell muss eine echte Antwort zurückgeben, ohne den ursprünglichen Fehler sofort zu wiederholen.

Option 2: ein derzeit in /models verfügbares Modell wählen

Wenn Sie weiterarbeiten müssen, aber nicht auf das ursprüngliche Modell angewiesen sind, wählen Sie einen anderen Eintrag, der Ihrem Konto jetzt angezeigt wird und über den vorgesehenen provider erreichbar ist.

Prüfen Sie vor dem Wechsel:

  • Das Modell steht in der aktuellen Liste und nicht nur in einer alten Anleitung.
  • Der Eintrag gehört zum erwarteten provider, damit ein Modellwechsel nicht unbemerkt Konto oder Abrechnung ändert.
  • Das Modell passt zur Aufgabe. Testen Sie Codeverständnis oder tool use mit einer kleinen Anfrage, bevor Repository-Änderungen erlaubt werden.

Ein Modellwechsel ist keine Garantie. Ein anderes kostenloses Modell kann ein eigenes Limit, regionale Beschränkungen, eine vorübergehende Entfernung oder Kapazitätsprobleme haben. Die belastbare Anweisung lautet „ein aktuell verfügbares Modell wählen und prüfen“, nicht „jedes andere kostenlose Modell funktioniert“.

Option 3: ausdrücklich einen separat abgerechneten provider nutzen

Dieser Weg passt bei einer Frist, wenn separate API-Nutzung akzeptabel ist und weitere Anfragen nicht mehr vom kostenlosen Zen-Kontingent abhängen sollen. Er setzt das Kontingent nicht zurück; spätere Aufrufe laufen über ein anderes Konto, eine andere API Key und eine andere Nutzungsaufzeichnung.

Die OpenCode-Provider-Dokumentation beschreibt custom OpenAI-compatible providers. Der Mindestablauf:

  1. /connect ausführen, Other wählen, eine eindeutige provider ID eingeben und die API Key im Credential-Feld speichern.
  2. Dieselbe provider ID, die richtige Base URL und die tatsächliche Model ID in opencode.json konfigurieren und die Datei speichern.
  3. OpenCode vollständig beenden und im selben Projekt neu starten, bevor die neue Konfiguration geprüft wird; nicht davon ausgehen, dass eine bereits geöffnete TUI einen neu hinzugefügten provider per Hot Reload übernimmt. Falls der bisherige Aufgabenkontext erhalten bleiben soll, Projektverzeichnis sowie die Aufgabe oder Sitzung für die Rückkehr notieren und nach dem Neustart mit dem in der eigenen Umgebung verfügbaren Ablauf sicher dorthin zurückkehren.
  4. Nach dem Neustart /models ausführen, das Erscheinen des neuen Eintrags bestätigen und die exakte Kombination providerId/modelId statt nur des Anzeigenamens wählen.
  5. Eine kleine Anfrage senden, die Dateiänderungen ausdrücklich verbietet, und eine echte neue Modellantwort bestätigen.
  6. Request-Log, Nutzungsdaten oder Saldoänderung des Ziel-providers prüfen, um zu belegen, dass er diese Anfrage tatsächlich verarbeitet hat. Ohne passenden Eintrag die Umschaltung nicht als verifiziert bezeichnen.

BetterToken ist eine mögliche Option für diesen unabhängigen Weg. Die am 2026-10-10 geöffnete OpenCode-Einrichtungsdokumentation nennt die Base URL https://www.bettertoken.ai/v1 und eine Modellreferenz wie bettertoken/YOUR_MODEL_ID. Hängen Sie /chat/completions nicht an die Base URL an und stellen Sie sicher, dass das oberste Feld model exakt der tatsächlichen ID unter models entspricht.

Die Grenze bleibt wichtig: BetterToken stellt kein kostenloses Zen-Kontingent bereit und setzt kein OpenCode/Zen-Limit zurück. Es garantiert nicht, dass nie ein 429 auftritt, und ist ohne Vergleich derselben Nutzung nicht automatisch günstiger. Es ist ein ausdrücklicher separater API-Weg, kein Reset.

Die Wiederherstellung mit einer kleinen Anfrage belegen

Verwenden Sie nach Warten, Modellwechsel oder Providerwechsel denselben Abnahmetest:

  1. Den ausgewählten provider/model in der Oberfläche erneut bestätigen.
  2. Eine Anfrage senden, die nur das Wort READY zurückgeben und keine Dateien verändern soll.
  3. Antwort und Uhrzeit speichern. Sicherstellen, dass es eine neue Modellantwort und nicht nur eine Konfigurationsbestätigung oder Cache-Ausgabe ist.
  4. Bei einem unabhängigen provider die entsprechende kleine Änderung in Nutzungsdaten, Request-Log oder Saldo suchen. Wenn der provider keinen solchen Nachweis zeigt, nicht behaupten, die Abrechnung sei geprüft.
  5. Wenn der ursprüngliche Fehler nicht wiederkehrt, zur eigentlichen Aufgabe zurückkehren und zuerst deren kleinsten sinnvollen Schritt ausführen.

Ein gültiger PASS kombiniert echte Antwort, erwarteten provider/model und providerseitigen Nutzungsnachweis. Eine erfolgreich gelesene Konfiguration, ein gestarteter Client oder ein sauberer exit code reichen jeweils nicht aus.

Wenn die kleine Anfrage weiterhin fehlschlägt

Folgen Sie dem neuen Fehlerzweig, statt alle Korrekturen zu wiederholen:

  • Dasselbe Free limit reached: Das Kontingent ist möglicherweise noch nicht zurück oder die Auswahl wurde tatsächlich nicht geändert. /models und Projektkonfiguration erneut prüfen.
  • 401: Prüfen, ob das Credential für diesen provider vorhanden ist. opencode auth list ausführen und bei Bedarf /connect wiederholen.
  • 404 oder Model not available: Base URL, Model ID und providerId/modelId prüfen und mit opencode models den aktuellen Zugriff anzeigen.
  • Allgemeines 429 oder Überlastung: Als Provider-Throttling behandeln, Wiederholungsfrequenz reduzieren und Status prüfen, statt es weiter als Zen-Free-Limit einzuordnen.
  • Unvollständiger Fehler: Im OpenCode-Troubleshooting-Leitfaden Logs prüfen und Zeitpunkt, provider, model, Status sowie einen bereinigten response body melden.

Fügen Sie eine API Key niemals in Issue, Screenshot oder Chat ein. Behalten Sie nützliche Fehlerdaten, entfernen Sie aber Authorization headers, Tokens und andere Credentials.

Häufige Fragen

Wird das kostenlose OpenCode-Kontingent jeden Tag zu einer festen Zeit zurückgesetzt?

Es gibt keine verlässliche Primärquelle dafür, dass alle kostenlosen Modelle denselben täglichen, wöchentlichen oder monatlichen Zyklus teilen. Verwenden Sie die in der aktuellen Anfrage angezeigte Zeit; fehlt sie, gilt sie als unbekannt.

Bedeutet jedes 429, dass das kostenlose Kontingent erschöpft ist?

Nein. Es kann auch ein normales Provider-Rate-Limit, ein Parallelitätslimit oder eine Überlastung sein. provider, model, response body und Fehlertyp müssen gemeinsam betrachtet werden.

Ist ein OpenCode-Go-Abonnement der einzige Weg weiterzuarbeiten?

Nein. Sie können warten, ein anderes derzeit verfügbares Modell wählen oder ausdrücklich einen unabhängigen provider nutzen. Go ist ein separater bezahlter Plan; seine Fenster beweisen keinen Reset kostenloser Modelle.

Löscht ein Wechsel zu BetterToken das kostenlose Limit?

Nein. Es ist ein unabhängiger Weg mit eigener API Key, Base URL, Model ID und Nutzungsabrechnung. Der Zustand des kostenlosen Zen-Kontingents ändert sich nicht.

Praktische Regel

Lösen Sie Free limit reached nicht durch Raten eines Reset-Zyklus. Ermitteln Sie den tatsächlichen provider/model, vertrauen Sie nur einer realen Zeit und wählen Sie je nach Frist den am wenigsten störenden Weg: warten, ein aktuell in /models verfügbares Modell wählen oder einen separat abgerechneten provider nutzen. Belegen Sie die Wiederherstellung mit einer kurzen Antwort und providerseitiger Nutzung, bevor Sie zur ursprünglichen Aufgabe zurückkehren.

Bereit, Ihren LLM-Workflow zu optimieren?

Verbinden Sie Modelle über eine API, verwalten Sie Schlüssel und behalten Sie KI-Kosten im Blick.

Kostenlos starten