Claude Code

Claude Code 2.1.277 liest AGENTS.md, wenn keine CLAUDE.md da ist

3 Min. Lesezeit KI-generiert

Unsichtbare Unicode-Zeichen fliegen jetzt aus dem Prompt, und Subagenten-Ergebnisse kommen gekennzeichnet zurück. 87 Zeilen hat der Changelog-Eintrag.

Featured image for "Claude Code 2.1.277 liest AGENTS.md, wenn keine CLAUDE.md da ist"

Zwei Versionen an einem Tag: Nach 2.1.276 heute Nacht kam am Nachmittag 2.1.277. Die Liste ist mit 87 Zeilen die längste seit Wochen, und ganz oben steht etwas, das größer ist als der Rest.

AGENTS.md statt CLAUDE.md

Liegt in einem Projekt keine CLAUDE.md, liest Claude Code jetzt AGENTS.md. Umstellen lässt sich das unter „Project instructions” in /config. Auf Bedrock, Vertex und Foundry noch nicht.

AGENTS.md ist das herstellerübergreifende Format, auf das sich mehrere Coding-Agenten geeinigt haben. OpenAI hat Astra vergangene Woche darauf umgestellt. Dass Claude Code die Datei jetzt liest, heißt: Ein Repository braucht keine zwei Anweisungsdateien mehr, nur weil zwei Werkzeuge daran arbeiten.

Drei Änderungen gegen untergeschobene Anweisungen

Der Sicherheitsteil ist diesmal der interessantere. Subagenten-Ergebnisse erreichen den Hauptagenten ab sofort unter einer Kopfzeile, die sie als Subagenten-Ausgabe kennzeichnet, mit eingerücktem Inhalt — damit Text aus einem Subagenten-Ergebnis nicht als Anweisung der Sitzung durchgeht. Dieselbe Logik greift bei Workflow-Skripten auf Bedrock, Vertex und Foundry: berechnete agent()-Prompts kommen dort als skriptgeschriebener Text an, nicht als Nutzereingabe.

Dazu kommt eine Reinigung am Eingang: Unsichtbare Unicode-Formatierungs- und Tag-Zeichen werden aus dem Prompt entfernt, und der bereinigte Prompt wird vor dem Absenden zur Prüfung angezeigt. Wer schon mal einen aus einer Webseite kopierten Prompt abgeschickt hat, weiß, warum das nicht paranoid ist.

Still geschlossen wurde außerdem eine Sandbox-Lücke: Ein Glob in sandbox.excludedCommands hat bisher einen ganzen verketteten Bash-Befehl aus der Sandbox geholt, wenn nur ein Teil davon passte. Jetzt muss jeder Teil passen.

Was sonst auffällt

48 der 87 Zeilen sind Fehlerbehebungen. Darunter: claude -p und Agent-SDK-Sitzungen, die nach einem internen Fehler ohne Ergebnis hängen blieben, melden den Fehler jetzt und beenden sich mit Code 1. Gespräche, die bei jeder Anfrage an „text content blocks must be non-empty” scheiterten, laufen wieder. Und wer eine ältere Claude-Code-Fassung parallel auf derselben Maschine hatte — etwa die in einer IDE-Erweiterung mitgelieferte CLI —, wurde unerwartet ausgeloggt.

Für Gateway-Betreiber gibt es CLAUDE_GATEWAY_PROXY_IS_EGRESS_BOUNDARY=1: Läuft der einzige Ausgang über einen Forward-Proxy, übergibt jede ausgehende Anfrage dem Proxy den Hostnamen, statt ihn lokal aufzulösen. Dazu eine optionale headers:-Map für statische Header an einen eigenen Proxy.

Das TaskOutput-Tool ist weg; Claude liest die Ausgabedatei eines Hintergrundprozesses jetzt mit Read. Und die VS-Code-Erweiterung bekommt Kopierknopf, Abmelden-Zeile und Hintergrundprozesse in der Agentenkarte.

AGENTS.md ist ein Zugeständnis, kein Feature

Eine Zeile im Changelog, und trotzdem die eigentliche Meldung. Anthropic hat mit CLAUDE.md ein eigenes Format etabliert und viele Repositories dazu gebracht, eines anzulegen. Die Datei eines anderen Lagers zu lesen, kostet nichts an Funktion und gibt ein Stück Bindung auf.

Das macht man nicht aus Großzügigkeit. Man macht es, wenn genug Entwickler zwei Agenten nebeneinander laufen lassen und keine Lust mehr haben, dieselben Anweisungen zweimal zu pflegen. Die Reihenfolge stimmt übrigens weiter: Wo eine CLAUDE.md liegt, gewinnt sie.

Quellen:

Claude CodeReleaseSicherheitAnthropic