Claude Code

Claude Code 2.1.268: Das Gateway kennt jetzt die Preise, und die Todo-Tools verschwinden

3 Min. Lesezeit KI-generiert

Ein Regex im Artifact-Tool hat seit 2.1.265 jeden Turn auf Fremd-Endpunkten abgeschossen. Dazu fünf Stellen, an denen Tokens und Passwörter in Fehlermeldungen landeten, und ein Busy-Loop, der stundenlang einen CPU-Kern belegte.

Featured image for "Claude Code 2.1.268: Das Gateway kennt jetzt die Preise, und die Todo-Tools verschwinden"

Einen Tag nach 2.1.267 kommt 2.1.268. Diesmal steht das Neue nicht im Terminal, sondern in der Buchhaltung.

Das Gateway rechnet mit

Wer ein Claude-Apps-Gateway betreibt, kann in der gateway.yaml jetzt pricing: setzen. Angemeldete Claude-Code-Clients bekommen dieselben Sätze über die verwalteten Einstellungen – und damit zeigen /cost und die Telemetrie endlich das, was auch auf dem Spend Meter steht. Vorher rechnete jede Seite für sich.

Dazu zwei Warnungen, die vorher fehlten: Beim Start meckert das Gateway, wenn access_control.allow_cidrs leer ist. Trifft die erste Anfrage von einer öffentlichen Adresse ein, gibt es einmalig einen Hinweis. Ein offenes Gateway war vorher still.

Neu ist außerdem gatewayInternalNetworks. Damit erlauben Admins /login gegen ein Gateway, das im eigenen öffentlichen IPv4-Block der Organisation steht. Klingt nach Nische, ist es auch – bis man selbst so ein Netz hat.

Der Bug, der Fremd-Endpunkte lahmgelegt hat

Seit 2.1.265 scheiterte auf Anthropic-kompatiblen Endpunkten von Drittanbietern (ANTHROPIC_BASE_URL) jeder einzelne Turn mit HTTP 400. Ursache war ein Regex im Input-Schema des Artifact-Tools, den diese Endpunkte zurückweisen. Drei Releases lang war Claude Code dort unbenutzbar. Jetzt nicht mehr.

In dieselbe Kategorie gehört ein WebFetch, der unendlich hing, wenn ein Server die Antwort offen hielt und nie abschloss. Nach 300 Sekunden bricht der Abruf jetzt ab, CLAUDE_CODE_WEBFETCH_DEADLINE_MS verschiebt die Grenze, 0 schaltet sie aus. Dazu ein Busy-Loop, der in lange leerlaufenden Sitzungen einen CPU-Kern belegte, bis man das Fenster schloss.

Fünf Stellen, an denen Geheimnisse rausliefen

Das ist der Block, der mich am meisten interessiert:

  • Fehlermeldungen von Plugins und Marketplaces zeigten Token oder Passwort aus der Git-Quell-URL.
  • /mcp, /plugin, claude mcp list und get sowie MCP-Login-Fehler zeigten Werte, die aus ${VAR}-Platzhaltern in MCP-Configs aufgelöst wurden.
  • Deny- und Ask-Regeln auf symbolisch verlinkten Verzeichnissen (/etc, /tmp, /var auf macOS, /bin auf Linux) griffen nicht, wenn der Pfad in seiner echten Form angegeben wurde. Umgekehrt ignorierten Bash-Kommandos Deny-Regeln, die auf die Symlink-Schreibweise geschrieben waren.
  • Eine Read- oder Edit-Deny-Regel griff nicht, wenn in derselben Zeile ein env -C, eval oder etwas ähnlich Undurchsichtiges stand.
  • Und ein neu gestarteter In-Process-Teammate holte sich Tools und System-Prompt aus einer gleichnamigen Agent-Datei in einem Ordner, dem du nie vertraut hast.

Vier davon sind Umgehungen von Berechtigungen, zwei sind schlicht Geheimnisse im Klartext. Wer Claude Code mit MCP-Servern hinter Umgebungsvariablen betreibt: einmal durch die Logs schauen, ob da was steht, das nicht dort stehen sollte.

Die Todo-Tools werden abgeschaltet

Der Eintrag, der leicht untergeht: TaskCreate, TaskGet, TaskUpdate, TaskList und TodoWrite werden nur noch auf Claude 3.x, Opus 4.0 bis 4.7, Sonnet 4.0 bis 4.6 und Haiku 4.5 angeboten. Auf allen anderen Modellen braucht es CLAUDE_CODE_ENABLE_TODO_TOOLS=1.

Die Lesart liegt nahe: Die neueren Modelle planen von sich aus gut genug, dass eine explizite Aufgabenliste im Tool-Block nur Platz und Cache kostet. Für ältere bleibt sie drin. Wenn du Skripte oder Hooks hast, die auf die Todo-Ausgabe hören, musst du die Variable jetzt setzen.

Kleinkram

Veröffentlichte Artifacts haben jetzt ein Browser-Tab-Icon, das Claude zur Seite passend wählt. claude auth status --json gibt configDirectory mit aus. claude plugin install, uninstall, update, enable und disable können --json. Auto-Mode-Ablehnungen nennen jetzt die Regel, die geblockt hat, und bitten Claude, erst den unabhängigen Rest fertigzumachen, bevor es nachfragt. Und in öffentlichen Slack-Kanälen hat jeder Kanal jetzt seine eigenen Notizen, statt dass Claude sich an Notizen aus anderen öffentlichen Kanälen erinnert.

Für Cowork: Lokale Sitzungen, die alle Freigaben überspringen, lesen über das Artifact-Tool keine lokale Datei mehr, die außerhalb der Sitzungsordner oder hinter einem Symlink liegt. Vorher lasen sie sie einfach.

Einordnung

Zwei Releases hintereinander mit Cache-Aufräumen, jetzt eins mit Berechtigungs-Aufräumen. Das sieht nach jemandem aus, der systematisch eine Liste abarbeitet, und das ist in dieser Codebasis eine gute Nachricht. Der HTTP-400-Bug zeigt aber auch, wie schnell so ein Projekt an den Rändern kaputtgeht: Ein Regex in einem Tool, das mit Fremd-Endpunkten nichts zu tun hat, und drei Tage lang läuft dort nichts mehr.

Quellen: Claude Code Release v2.1.268, Claude Code Changelog

Claude CodeReleaseAnthropicSicherheit