Article

Claude Code Source Code: Alle versteckten Konfigurations-Optionen

Claude Claude Code Anthropic AI Developer Tools

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.

Link: I Read the Claude Code Source Code | BuildingBetter