Build This Now
Build This Now
TastenkürzelStatus Line Guide
Hooks-LeitfadenPlattformübergreifende Hooks für Claude CodeClaude Code Setup-HooksStop HooksSelbstvalidierende Claude Code AgentenClaude Code Session-HooksKontext-Backup-Hooks für Claude CodeSkill-Aktivierungs-HookClaude Code Permission-Hook
speedy_devvkoen_salo
Blog/Toolkit/Hooks/Claude Code Setup Hooks

Claude Code Setup-Hooks

Verknüpfe Skripte, Agenten und Docs in Claude Code Setup-Hooks. Ein Befehl führt ein deterministisches Skript aus, übergibt die Ausgabe an einen diagnostizierenden Agenten und protokolliert lebendige Dokumentation.

Hören Sie auf zu konfigurieren. Fangen Sie an zu bauen.

SaaS-Builder-Vorlagen mit KI-Orchestrierung.

Published Mar 11, 2026Toolkit hubHooks index

Die Qualität eines Engineering-Teams zeigt sich in einer Zahl: wie lange es dauert, bis ein neuer Mitarbeiter das Projekt auf seinem Rechner zum Laufen bringt.

Gute Teams brauchen einen Link, ein Dokument, ein paar Befehle. Die meisten Teams verlieren ein oder zwei Tage mit Pair-Programming, Slack-Threads, verstaubten Wiki-Seiten und dem Hin und Her, warum etwas kaputt ist.

Agenten machen das lösbar.

Eine Codebasis aufzusetzen war immer eine Wahl zwischen drei schlechten Formen:

Reine Skripte sind vorhersehbar, aber fragil. Sie führen jedes Mal dieselben Befehle aus und stecken fest, sobald sich die Realität verschiebt. Eine fehlende Abhängigkeit oder eine ausgefallene Datenbank, und das Skript stirbt einfach.

Reine Agenten sind clever, aber unzuverlässig. Du kannst keinen in eine CI/CD-Pipeline stecken und erwarten, dass er bei jedem Durchlauf exakt dieselbe Ausgabe liefert.

Reine Docs sind flexibel, aber auf Menschen angewiesen. Niemand liest sie, und nach ein paar Wochen sind sie veraltet.

Was funktioniert, ist alle drei miteinander zu verweben. Skripte übernehmen die Ausführung. Agenten beobachten sie. Du bekommst ein lebendes Dokument, das sich ausführt.

Setup-Hooks kamen am 25. Januar 2026 in Claude Code. Sie sind ein dedizierter Hook-Typ, der vor dem Start deiner Sitzung auslöst. Wenn du ausführst:

claude --init

Geht zuerst der Setup-Hook, dann startet Claude. Der Hook kann Pakete installieren, die Datenbank befüllen und deine Umgebung vorbereiten. Wenn Claude startet, weiß er bereits, was passiert ist.

Hier wird es interessant. Du kannst einen Prompt an das Init-Flag anhängen:

claude --init "/install"

Jetzt läuft der Hook, und der /install-Befehl feuert direkt danach. Der Agent liest die Log-Dateien, arbeitet aus, was passiert ist, und berichtet auf Klartext zurück.

claude --init "/install true"

Drei Setups ergeben sich daraus:

┌─────────────────────────────────────────────────────────┐
│  DETERMINISTISCH       AGENTISCH          INTERAKTIV    │
│  (nur Hooks)           (Hooks + Prompt)   (Hooks + Fragen)│
│                                                         │
│  claude --init          /install          /install true │
│                                                         │
│  - Schnell              - Überwacht       - Stellt Fragen│
│  - Vorhersehbar         - Diagnostiziert  - Passt sich  │
│  - CI-freundlich        - Meldet Status     an           │
└─────────────────────────────────────────────────────────┘

Deterministischer Modus: Nur Skript. Schnell, wiederholbar, perfekt für CI/CD wo jeder Durchlauf übereinstimmen muss.

Agentischer Modus: Erst Skript, dann liest ein Agent die Ergebnisse. Er scannt Log-Dateien, parst Fehler und sagt dir auf Klartext, was gut oder schlecht gelaufen ist.

Interaktiver Modus: Erst Skript, dann zieht der Agent dich in ein kurzes Q&A. "Neue Datenbank oder die alte behalten? Vollinstallation oder minimal? Soll ich zuerst die Voraussetzungen prüfen?"

Das Skript ist immer die Quelle der Wahrheit. Hooks und Prompts rufen dasselbe Skript jedes Mal auf. Was sich ändert, ist ob ein Agent überwacht und ob er dir vorher Fragen stellt.

Just ist ein kleiner Command-Runner, und er passt gut zu Setup-Hooks. Behandle ihn als Startrampe für deine Engineering-Arbeit. Statt Flags auswendig zu lernen, tippst du just und siehst alle verfügbaren Befehle:

just          # See all commands
just cldi     # Deterministic setup
just cldii    # Agentic setup (with reporting)
just cldit    # Interactive setup (asks questions)

Das Justfile selbst bleibt einfach:

# Deterministic codebase setup
cldi:
  claude --init
 
# Agentic codebase setup
cldii:
  claude --init "/install"
 
# Interactive setup (asks questions)
cldit:
  claude --init "/install true"
 
# Deterministic maintenance
cldm:
  claude --maintenance
 
# Agentic maintenance (with reporting)
cldmm:
  claude --maintenance "/maintenance"

Teamkollegen und Agenten müssen Flags nie zweimal auswendig lernen. Sie führen just cldii aus und es funktioniert.

SzenarioModusBefehl
CI/CD-PipelineDeterministischclaude --init-only
Schnelles lokales SetupDeterministischjust cldi
Setup fehlgeschlagen, Diagnose nötigAgentischjust cldii
Neuer Entwickler, unbekannte CodebasisInteraktivjust cldit
Wöchentliche Dependency-UpdatesAgentischjust cldmm

--init-only ist das Pipeline-Flag. Es führt den Hook aus, gibt einen Exit-Code zurück und beendet sich. Keine interaktive Sitzung dabei.

Beim Onboarding glänzt das. Ein neuer Entwickler tippt just cldit und der Agent führt ihn durch:

Agent: How should I handle the database?

┌─ Database Setup ─────────────────────────────────┐
│  ○ Fresh database (Recommended)                  │
│  ○ Keep existing                                 │
│  ○ Skip database setup                           │
└──────────────────────────────────────────────────┘

Der Agent fragt nach dem Installationsmodus, Umgebungsvariablen und ob zuerst die Voraussetzungen geprüft werden sollen. Er passt sich den Antworten an und führt nur die passenden Schritte aus.

Skripte können das nicht. Sie spielen immer dasselbe Band ab. Agenten können mittendrin anhalten, eine Rückfrage stellen und basierend auf der Antwort verzweigen.

Setup-Hooks sind eines von 12 Lifecycle-Events im Hook-System. Die Konfiguration liegt in .claude/settings.json:

{
  "hooks": {
    "Setup": [
      {
        "matcher": "init",
        "hooks": [
          {
            "type": "command",
            "command": ".claude/hooks/setup_init.py",
            "timeout": 120
          }
        ]
      },
      {
        "matcher": "maintenance",
        "hooks": [
          {
            "type": "command",
            "command": ".claude/hooks/setup_maintenance.py",
            "timeout": 60
          }
        ]
      }
    ]
  }
}

Das Hook-Skript führt deine Befehle aus und protokolliert alles:

def main():
    # Install backend dependencies
    run(["uv", "sync"], cwd="apps/backend")
 
    # Install frontend dependencies
    run(["npm", "install"], cwd="apps/frontend")
 
    # Initialize database
    run(["uv", "run", "python", "init_db.py"], cwd="apps/backend")
 
    # Tell Claude what happened
    print(json.dumps({
        "hookSpecificOutput": {
            "hookEventName": "Setup",
            "additionalContext": "Setup complete. Run 'just be' and 'just fe' to start."
        }
    }))

Der /install Slash-Befehl greift das Log und schreibt die Ergebnisse auf:

---
description: Run setup and report installation results
---
 
## Workflow
 
1. Run /prime to understand the codebase
2. Read the log file at .claude/hooks/setup.init.log
3. Analyze for successes and failures
4. Write results to app_docs/install_results.md
5. Report to user

Wenn etwas kaputt geht, hat der Agent bereits den Kontext, um es zu diagnostizieren. Liste die üblichen Fehlermodi im Prompt auf, und der Agent geht das Fix-Playbook selbständig durch.

Denk an die Onboarding-Zeit im Verhältnis zu der Geschwindigkeit, mit der dein Team wachsen soll. Könnte ein Prompt Setup und Installation für einen neuen Mitarbeiter übernehmen? Könnte er jeden Schritt klar machen, indem er fragt, bevor er handelt?

Ja, auf beide Fragen. Agenten sind gut genug dafür. Das fehlende Stück ist Standardisierung.

Determinismus erhalten: Der Hook führt jedes Mal dasselbe Skript aus. Null LLM-Varianz während der Ausführung. Der Agent schaut sich die Ergebnisse nur nach der deterministischen Arbeit an.

CI-kompatibel: GitHub Actions führt claude --init-only aus und bekommt einen sauberen Exit-Code zurück.

Interaktiv, wenn es darauf ankommt: Neue Mitarbeiter werden durch das Setup geführt. Alle anderen nutzen die schnelle Version.

Ein lebendes Dokument, das sich ausführt: Dein Installationsprozess lebt jetzt in natürlicher Sprache, eingebettet in Prompts, die Agenten befolgen. Updates passieren durch Bearbeiten des Prompts.

Fang einfach an. Schreibe ein .claude/hooks/setup_init.py-Skript, das deine Dependencies installiert, verdrahte es in .claude/settings.json, dann füge einen /install-Befehl hinzu, der das Log liest und zurückmeldet. Wickle das Ganze in ein Justfile, damit dein Team just install ausführt und nicht mehr darüber nachdenkt.

Brauchst du etwas Leichteres? Wenn du nur verschiedenen Kontext je nach Sitzungstyp laden willst, reicht meist ein Slash-Befehl. Kein Installationsskript nötig.

Setup-Hooks zahlen sich am meisten aus, wenn du einen Befehl willst, der die Welt installiert, die Fehler diagnostiziert und neue Entwickler durch jeden Schritt führt. Skripte liefern die Gewissheit. Agenten liefern das Urteilsvermögen. Wenn dein Team zwischen Windows, Linux und macOS wechselt, lies die plattformübergreifenden Hook-Muster, damit dasselbe Setup auf jedem OS läuft.

Continue in Hooks

  • Kontext-Backup-Hooks für Claude Code
    Ein StatusLine-gesteuerter Claude Code Kontext-Backup-Hook. Schreibt strukturierte Snapshots alle 10K Tokens, damit die Auto-Komprimierung nie Fehler, Signaturen und Entscheidungen verschluckt.
  • Plattformübergreifende Hooks für Claude Code
    Plattformübergreifende Claude Code Hooks: Vermeide .cmd-, .sh- und .ps1-Wrapper und rufe node direkt auf, damit eine .mjs-Datei auf macOS, Linux und Windows im Team funktioniert.
  • Hooks-Leitfaden
    Claude Code Hooks von Grund auf: Exit-Codes, JSON-Ausgabe, asynchrone Befehle, HTTP-Endpunkte, PreToolUse- und PostToolUse-Matcher, Produktionsmuster.
  • Claude Code Permission-Hook
    Installiere einen dreistufigen Claude Code Permission-Hook: sofortiges Allow für sichere Aufrufe, sofortiges Deny für gefährliche, LLM-Check für die Grauzone. Kein Skip-Flag.
  • Selbstvalidierende Claude Code Agenten
    Selbstvalidierende Claude Code Agenten: PostToolUse-Lint-Hooks, Stop-Hooks und schreibgeschützte Reviewer-Subagenten in Agentendefinitionen verdrahten, damit fehlerhafte Ausgaben nie ausgeliefert werden.
  • Claude Code Session-Hooks
    Vier Claude Code Session-Lifecycle-Hooks: Init bei Bedarf ausführen, Projektkontext bei SessionStart injizieren, Transkripte sichern und Cleanup beim SessionEnd-Exit protokollieren.

More from Toolkit

  • Tastenkürzel
    Claude Code keybindings.json konfigurieren: 17 Kontexte, Tastenkombinations-Syntax, Chord-Sequenzen, Modifier-Kombinationen und wie du jeden Standard-Shortcut sofort deaktivierst.
  • Status Line Guide
    Richte eine Claude Code Status Line ein, die Modellname, Git-Branch, Sitzungskosten und Kontextnutzung anzeigt. settings.json-Konfiguration, JSON-Eingabe, Bash-, Python- und Node.js-Skripte.
  • KI-SEO und GEO-Optimierung
    Ein Überblick über Generative Engine Optimization: Wie du dafür sorgst, dass deine Inhalte in ChatGPT-, Claude- und Perplexity-Antworten zitiert werden, statt nur bei Google zu ranken.
  • Claude Code vs Cursor in 2026
    Ein direkter Vergleich von Claude Code und Cursor in 2026: Agentenmodelle, Kontextfenster, Preisstufen und welches Tool zu welchem Entwickler-Workflow passt.

Hören Sie auf zu konfigurieren. Fangen Sie an zu bauen.

SaaS-Builder-Vorlagen mit KI-Orchestrierung.

On this page

No Headings

Hören Sie auf zu konfigurieren. Fangen Sie an zu bauen.

SaaS-Builder-Vorlagen mit KI-Orchestrierung.