Article
Claude Code Source Code: Alle versteckten Konfigurations-Optionen
Was der Source Code verrät
Claude Code ist als npm-Paket öffentlich verfügbar – und der Source Code liegt direkt in node_modules. André Figueira hat ihn gelesen und eine umfassende Analyse veröffentlicht (@anthropic-ai/claude-code@2.1.87).
Der YOLO Classifier
Das perlenförmigste Fundstück: Das Auto-Mode-Permission-System heißt intern “YOLO Classifier” (in yoloClassifier.ts). Nein, das ist kein Scherz – das ist der tatsächliche Variablenname.
Du kannst ihn mit Klartext-Beschreibungen konfigurieren:
"this is a staging server, destructive operations are acceptable"
Der Classifier liest diese Beschreibungen und entscheidet, welche Operationen automatisch genehmigt werden.
Hooks können zurückreden
Die Dokumentation sagt: Hooks empfangen JSON auf stdin und Exit-Code 2 blockiert eine Operation. Was sie nicht sagt:
Hooks können JSON auf stdout zurückgeben mit event-spezifischen Feldern, die Claude Code’s Verhalten in Echtzeit verändern.
PreToolUse Hook Beispiel:
{
"hooks": {
"PreToolUse": [{
"matcher": "Bash",
"hooks": [{
"type": "command",
"command": "~/.claude/hooks/dry-run-pushes.sh"
}]
}]
}
}
Das Script:
#!/bin/bash
INPUT=$(jq -r '.tool_input.command' < /dev/stdin)
if echo "$INPUT" | grep -q 'git push'; then
jq -n --arg cmd "$INPUT --dry-run" '{"updatedInput": {"command": $cmd}}'
fi
Claude denkt, es führt git push aus, aber der Hook schreibt es lautlos zu git push --dry-run um.
Weitere Features
- SessionStart Hooks: Config-Dateien überwachen und Git-Context injizieren
- updateStatus Field: Status-Nachrichten während Hook-Ausführung
- Persistent Agent Memory: Undokumentierte Memory-Features
Warnung
Felder mit “EXPERIMENTAL” im Namen sind explizit als instabil markiert. Die Features können sich zwischen Releases ändern.