Gleiche Arbeit, doppeltes Fenster: Warum dein Claude-Max-Kontingent unter Hermes schneller leerläuft


Drei Uhr nachmittags, und du blinzelst auf das Claude-Nutzungspanel: ein paar Dateibearbeitungen im Terminal, und dein Fünf-Stunden-Fenster ist fast zur Hälfte weg. Kein Batch-Job, keine zweite Session. Wo ist das Kontingent also hingegangen?

Wahrscheinlich nicht in den Umfang deiner Arbeit, sondern in den Namen, unter dem du sie erledigt hast. Claude Code schreibt die Identität des Aufrufers in den Abrechnungs-Header jeder Anfrage, und Abos gewichten das Kontingent nach dieser Identität – claude -p und andere nicht-interaktive Aufrufer laufen standardmäßig als sdk-cli, und das liegt zufällig im teureren Eimer. Gleiche Arbeit, anderer Name, ungefähr die halbe Rechnung.

Eine Umgebungsvariable entscheidet deinen Tarif

Hier ist der Mechanismus. Claude Code benennt seinen Aufrufer bei jeder Anfrage – cc_entrypoint im Abrechnungs-Header und noch einmal im User-Agent. Wenn du claude -p ausführst oder über das Agent SDK aufrufst, ist dieser Name standardmäßig sdk-cli. Beim Abo-Metering werden sdk-*-Aufrufer mit ungefähr doppeltem Gewicht pro Token gezählt – deutlich schwerer als die interaktive CLI und schwerer als ein Client, der unter seinem eigenen Namen läuft. Das Verhalten wurde im Tracker von Anthropic mehrfach gemeldet (anthropics/claude-code#97074) und nie offiziell dokumentiert.

Das ist das ganze Problem: Dein Agent fährt dasselbe Modell auf demselben Kontext wie du, wenn du claude in ein Terminal tippst – und wird fast doppelt belastet, weil er auf den Namen sdk-cli hört.

Der Fix ist klein: den Kindprozess als hermes-agent laufen lassen und jeden vom Host geerbten Namen (sdk-py, claude-desktop) überschreiben. Das ist kein Trick am Zähler vorbei – es ist das Auftreten unter der eigenen Identität des Clients, und genau das ist der normale Weg, den Anthropic für Drittanbieter-Clients vorsieht.

Gemessen: dieselben 2,19 US-Dollar kosten 12 % gegenüber 7 %

Das ist keine Schätzung. Es ist ein A/B-Lauf auf einem echten Max-Abo, mit präzise genannten Bedingungen:

  • Max-Tarif, Opus 5.5, Claude Code 2.1.316;
  • jeder Arm schickte vier frische Anfragen mit rund 43.000 Token (Cache-Writes, nichts aus dem Cache gelesen), Ausgabe auf 16 Token begrenzt, etwa 1,09 US-Dollar Listenäquivalent pro Arm;
  • die Arme wechselten vorher, nachher, vorher, nachher; die Fünf-Stunden-Auslastung wurde 60 Sekunden nach jedem Arm mit einer Haiku-Probe gelesen;
  • das Fenster startete bei 3 %, ohne weiteren Verkehr auf dem Konto.

Das Ergebnis:

Arm Name auf den Anfragen Fünf-Stunden-Delta (zwei Runden) Summe für 2,19 US-Dollar
Vorher sdk-cli +6 % / +6 % 12 %
Nachher hermes-agent +4 % / +3 % 7 %

Dieselbe Arbeit verbrauchte etwa 1,7-mal weniger vom Fenster. Die Maintainer des Plugins haben das am 31. Oktober 2026 gemessen und ins README geschrieben – eine offizielle Messung, kein Community-Gerücht – und sie nennen den Vorbehalt selbst: Anthropic hat die Gewichtung nicht dokumentiert, der Vorteil kann sich also ohne Vorwarnung ändern.

Es gibt einen Nebeneffekt, und einen Patch dafür

Das Umbenennen ist nicht folgenlos. Wenn Claude Code einen Aufrufer sieht, der kein SDK ist, aktiviert es die native Artefakt-Berechtigung, und die hängt an die Umgebungsnachricht jeder einzelnen Anfrage eine Zeile Scratchpad directory: … an. In einem Fenster, das pro Token zählt, ist das reiner Overhead – bei jedem Aufruf erneut.

Das Plugin setzt CLAUDE_CODE_DISABLE_ARTIFACT=1, um diese Zeile draußen zu halten. Die vollständige Änderung sind also zwei Dinge gleichzeitig: als hermes-agent laufen und die Artefakt-Zeile abschalten.

Wie du den Fix bekommst

Er liegt im offiziellen Plugin claude-subscription-directsdk, nicht im Core. Die Plugin-Version ist weiterhin 0.3.3, aber der Katalog-Pin wanderte von 20048e6 auf 01fa168, was PR #245 im Plugin-Repo entspricht.

Wenn du es schon installiert hast, pinnt ein Befehl neu:

hermes plugins update claude-subscription-directsdk

Katalog-Installationen machen beim Update kein git pull – sie installieren am geprüften SHA neu, und genau so wird der alte Commit ersetzt. Um zuerst zu prüfen, was du laufen hast:

hermes plugins info claude-subscription-directsdk

Die Ausgabe zeigt Version und gepinnten SHA. Für eine frische Installation:

hermes plugins install claude-subscription-directsdk

Es verlangt Hermes >=0.21.4 und eine eingeloggte claude-CLI auf der Maschine. Das Plugin prüft das beim Laden, in den Modellauswahlen und vor jeder Anfrage – fehlt sie, verweigert es sauber mit einem Installationshinweis, statt halb zu funktionieren.

Lies das nicht als „Abo heißt kostenlos“

Zwei Missverständnisse lohnt es sich vorab auszuräumen.

Erstens: Dieser Provider wird nicht bestraft. Er zieht Kontingent exakt zum Satz von claude -p / Agent SDK, keinen Punkt mehr. Die echte Lücke besteht gegenüber der interaktiven TUI: Auf Sonnet 5 mit dem 1M-Kontext gemessen, zieht interaktives Claude Code Nutzung bei etwa dem 0,58-fachen dieses Satzes. Anders gesagt: Dieselbe Arbeit, von Hand im Terminal getippt, streckt ein Fünf-Stunden-Fenster weiter; jede -p-/SDK-artige Umgebung sollte man mit etwa 60 % des Durchsatzes der TUI planen.

Zweitens: Die Gewichtung liegt serverseitig; das Plugin kann die Regel nicht ändern. Was du tun kannst, ist unter der richtigen Identität aufzutauchen. Was du nicht tun kannst, ist Kontingent herbeizaubern. Justiert Anthropic die Gewichte, wird aus diesen 1,7-fach irgendeine andere Zahl – backe sie nicht als Konstante in ein Budgetmodell ein.

Wie du es selbst messen kannst

Verlass dich hier nicht auf Bauchgefühl. Die Methode ist so schlicht wie das A/B oben: eine Aufgabe festlegen, zweimal laufen lassen, zwischen den Runden einmal die Auslastung lesen und das Prozent-Delta gegen das Listenpreis-Äquivalent stellen. So sind die Zahlen des Plugins entstanden, und denselben Vergleich kannst du zwischen /usage von Hermes und /cost von Claude Code bei einer Aufgabe anwenden.

Wenn du Hermes noch nicht mit deinem Abo verbunden hast, deckt der Leitfaden zum Claude-Abo-Provider Installation und Modellauswahl ab. Um Nutzung und Kosten nebeneinander zu sehen, sind Nutzungsfenster und Tarife und Kostenverfolgung die Fortsetzungen.

Eine ehrliche Anmerkung zum Schluss: Ein Fix wie dieser ist nicht wertvoll, weil die Zahl gut aussieht, sondern weil er versteckte Kosten gefunden hat, die nichts damit zu tun hatten, wie viel du gearbeitet hast. Du zahlst für ein Abo; dann solltest du auch zu einem Satz abgerechnet werden.