Zurück zur Startseite

Claude Code Sources: CLI-Architektur

Claude Code Sources Leak Enthüllt Multi-Modus-Runtime auf React/Ink mit Agent-Orchestrierung, Dynamic Imports und Strenger Bash-Sicherheit. Analyse Konzentriert Sich auf Architektur für Terminal-KI.

Claude Code-Interna aus dem Leak: React und Agents
Advertisement 728x90

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.

Google AdInline article slot

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.

Google AdInline article slot
  • 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:

Google AdInline article slot
  • 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_interrupted vs sibling_error vs streaming_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.tsx als 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

Advertisement 728x90

Weiterlesen