Anatomie von Claude Code: Was der geleakte Quellcode verrät
Am 31. März 2026 wurde der Quellcode von Claude Code über eine Sourcemap in einem npm-Paket geleakt. Es handelt sich nicht um einen sauberen Git-Checkout, sondern um eine wiederhergestellte Momentaufnahme von Client-seitigem Code mit Transformationen und fehlenden Dateien wie assistant/index.ts oder daemon/main.js. screens/REPL.tsx ist bereits mit React Compiler kompiliert, und main.tsx enthält Spuren von Startoptimierungen: profileCheckpoint, Keychain-Prefetching, paralleles MDM-Lesen.
Der Code spiegelt eine Entwicklung von einem einfachen CLI zu einem Terminal-Betriebssystem wider. Importe sind dynamisch für Lazy Loading; --version läuft ohne Abhängigkeiten. Aber die Komplexität wächst: Daemon, Fernsteuerung, tmux, MCP-Server.
CLI als Fassade einer Multi-Mode-Laufzeitumgebung
entrypoints/cli.tsx ist der Routing-Knotenpunkt: --version, System-Prompt, Daemon, Environment-Runner, Self-Hosted-Runner, ps/logs/attach/kill. Dynamische Importe minimieren die Auswertung: Workers sind schlank. Schnellpfade laden keine schweren Module, was Speicher und Absturzrisiken reduziert.
Plus: Startoptimierung. Minus: Die Kenntnis aller Modi lässt die CLI wie einen Flughafen wirken. Lazy Loading rettet den Tag, aber die Struktur ist einschüchternd.
// Beispiel aus cli.tsx
if (fastPath) {
// null Importe über diese Datei hinaus
console.log(version);
process.exit(0);
}
main.tsx: Der Schwerpunkt des Systems
main.tsx ist der Konvergenzpunkt: Initialisierung, Modusauswahl, Tool-Pool, Feature-Flags, KAIROS/Proactive, strukturierte Ausgabe, Session-Wiederherstellung. Plus: Die gesamte Verzweigungslogik an einem Ort. Minus: Kompromisse wie Proactive-Modus vor getTools() für SleepTool.isEnabled().
Die Evolution ist sichtbar: Von CLI zu einem System mit Flags und Checks. Skalierung bringt solche Konstrukte hervor.
- Initialisierung und Modusauswahl
- System-Prompt und Tool-Pool
- Feature-Flags und Remote-Sessions
- UI-Start und Sessions
React im Terminal: Ink und das Frontend vereint
Claude Code ist eine React-Anwendung auf Ink. screens/REPL.tsx verwaltet Benachrichtigungen, Modals, IDE-Integration, MCP, Plugins, Teammate-Modus, Floating-UI, Buddy.
Synchronisiert Zustand, filtert Tools, mischt Plugins ein. Kein Chat, sondern ein Frontend im Terminal mit browserähnlichen Gewohnheiten.
Orchestrierung von Agents als Infrastruktur
Kein einzelner Agent, sondern ein Kontrollzentrum. AgentTool unterstützt:
- Synchronen/asynchronen Start
- Hintergrund- und Worktree-Isolation
- Remote- und Teammate-Modi
- Eigenen Tool-Pool und Berechtigungsmodus
- Cache-Identität für Prompt/Tools
Asynchrone Agents mit Fortschritt, Benachrichtigungen. Worktree als Teil der Route. Ausgereifte Agent-Fähigkeiten über Promise.all hinaus.
Explore-Agent ist eingeschränkt: Read-only, kein Schreiben/Löschen/Umleitung/Heredoc, fokussiert auf paralleles Grep/Lesen. Ein Gleichgewicht aus Autonomie und Zurückhaltung.
Tool-Ausführung: Parallelität und Fehlertoleranz
Tools sind gruppiert: Read-only parallel, riskante seriell. Ein Streaming-Executor mit:
- Abbruch von Geschwistern bei Fehler
user_interruptedvssibling_errorvsstreaming_fallback- Pufferung für Reihenfolge
- Interrupt-Behandlung
Das Produkt überlebt Hänger und Konflikte.
Bash ohne Selbstzerstörung: Sicherheitsparanoia
bashPermissions und bashSecurity blockieren:
- Command/Process-Substitution
- Heredoc/zsh equals
zmodload/ztcp/zpty- Verschleierte Flags
env/sudo/nice/timeout- Whitespace/Escaping
Eine ausgereifte Schicht gegen echte Shell-Angriffe von LLMs.
Der menschliche Touch: Buddy und Animationen
buddy/ — ASCII-Sprites, Sprechblasen, Animationen. Ein Terminal-Begleiter bringt Leben in die CLI.
Wichtige Erkenntnisse:
- Dynamische Importe für schnellen Modus-Start
main.tsxals Orchestrierungszentrum mit Skalierungskompromissen- Agent-Infrastruktur mit Isolation und Lebenszyklus
- Parallele/serielle Tool-Aufrufe mit Fehlerbehandlung
- Bash-Sicherheit gegen Shell-Angriffe
- React/Ink für Terminal-UI mit Buddy
— Editorial Team
Noch keine Kommentare.