Workbranch › Veiledninger

Veiledning

Slik bruker du hooks i Claude Code

Du vil at noe skal skje hver gang, for eksempel at en fil formateres etter at Claude har redigert den, eller et varsel når Claude venter på deg, uten å håpe at Claude husker det. Det er akkurat det hooks gjør. Denne veiledningen forklarer hva de er, går gjennom en første hook og viser hvor de skal ligge.

Oppdatert 30. oktober 2026

Kort svar: en hook er en skallkommando som Claude Code kjører automatisk på et fast tidspunkt, for eksempel før et verktøy kjører, etter at en fil er redigert, eller når Claude trenger input fra deg. Du legger til hooks under en hooks-nøkkel i en innstillingsfil som ~/.claude/settings.json (alle prosjekter) eller .claude/settings.json (ett prosjekt), og skriver så /hooks for å bekrefte at Claude Code ser dem.

Navn på hendelser, filplasseringer og oppførsel nedenfor kommer fra Anthropics dokumentasjon for Claude Code per oktober 2026. Claude Code oppdateres ofte, så kjør claude update hvis noe mangler.

Hva hooks er og hvorfor de hjelper

Instruksjoner i en prompt eller en CLAUDE.md-fil er forslag: Claude følger dem som regel, men det er Claude som bestemmer. En hook er noe annet. Claude Code kjører selv kommandoen din hver gang hendelsen inntreffer, så handlingen er deterministisk. Typiske bruksområder fra Anthropics veiledning:

Noen av de mest brukte hendelsene er SessionStart (en økt starter eller gjenopptas), UserPromptSubmit (du sender en prompt), PreToolUse (før et verktøykall, og den kan blokkere det), PostToolUse (etter at et verktøykall har lykkes), Notification, Stop (Claude er ferdig med å svare), PreCompact og SessionEnd. Den fullstendige listen i referansen for hooks er mye lengre.

Sett opp din første hook: et skrivebordsvarsel

Dette eksempelet, tilpasset fra Anthropics gjennomgang, varsler deg på macOS hver gang Claude Code trenger oppmerksomheten din.

  1. Åpne ~/.claude/settings.json i en teksteditor. Lag filen hvis den ikke finnes.
  2. Legg til et hooks-objekt med en Notification-oppføring. Inne i den ligger en liste med matcher-grupper; hver har en matcher (la den være en tom streng for å reagere på alle varsler) og en hooks-liste med ett element med "type": "command".
  3. Sett kommandoen til osascript -e 'display notification "Claude Code needs your attention" with title "Claude Code"'. På Linux bruker Anthropics eksempel notify-send i stedet. Husk å escape de indre doble anførselstegnene i JSON.
  4. Har filen allerede en hooks-nøkkel, legger du Notification ved siden av de eksisterende hendelsene i stedet for å erstatte hele objektet.
  5. I Claude Code skriver du /hooks. Hooks-oversikten skal vise den nye hooken din under Notification. Trykk Esc for å gå tilbake.
  6. Be Claude om noe som krever tillatelse, og bytt til et annet vindu. Et varsel skal dukke opp.

Vil du bare reagere på noen varsler, setter du matcheren til en type som permission_prompt (et spørsmål om tillatelse har ventet i omtrent seks sekunder) eller idle_prompt (Claude er ferdig og du har ikke skrevet noe på omtrent ett minutt).

Et eksempel til: formater filer etter endringer

For en prosjekt-hook legger du konfigurasjonen i .claude/settings.json i prosjektroten. Bruk hendelsen PostToolUse med matcheren Edit|Write, så den bare kjører etter verktøy som redigerer filer. Anthropics eksempelkommando leser stien til den redigerte filen fra JSON-en Claude Code sender på standard input, og gir den videre til Prettier: jq -r '.tool_input.file_path' | xargs npx prettier --write. Den krever at jq er installert. En vellykket hook viser ingenting i samtalen; du ser bare at filen er formatert på nytt.

Hvor hooks settes opp

PlasseringGjelder forDelt?
~/.claude/settings.jsonAlle prosjektene dineNei, bare på maskinen din
.claude/settings.jsonEtt prosjektJa, kan committes
.claude/settings.local.jsonEtt prosjektNei, holdes utenfor git
Administrerte policyinnstillingerHele organisasjonenSatt av administratorer
En plugins hooks/hooks.jsonSå lenge pluginen er slått påFølger med pluginen
Frontmatter i en skillResten av økten etter at skillen er kaltI skill-filen
Frontmatter i en subagentMens den subagenten kjørerI subagent-filen

For å slå av hooks setter du "disableAllHooks": true i en innstillingsfil. Hooks fra administrerte innstillinger fortsetter å kjøre, med mindre det også er satt der.

Hvordan en hook svarer

Når en hendelse inntreffer, sender Claude Code detaljer om hendelsen som JSON til kommandoens standard input. Kommandoen svarer med exit-koden sin:

For finere kontroll avslutter du med exit 0 og skriver ut et JSON-objekt i stedet. Velg én fremgangsmåte per hook.

Greit å vite

Hvis det ikke fungerer

Hold oversikt over hva hver økt lar stå åpent

Workbranch-pluginen for Claude Code bruker en oppsummering ved øktstart: i en mappe som er koblet til et Workbranch-prosjekt, viser den hva som fortsatt er åpent når en økt begynner, og sier du «save this to Workbranch» (lagre dette i Workbranch), legges øktens oppgaver, beslutninger og åpne spørsmål inn i det prosjektet. Se Workbranch for Claude. Ny i Claude Code? Start med slik kommer du i gang med Claude Code.

Kilder

Vanlige spørsmål

Kan Claude skrive en hook for meg?

Ja. Anthropics veiledning sier at du kan beskrive hooken du vil ha i Claude Code-prompten og be Claude legge den til i innstillingene dine. Sjekk resultatet med /hooks etterpå.

Kan en hook stoppe Claude selv i bypass-modus?

En PreToolUse-hook som returnerer en deny-beslutning, blokkerer verktøyet i alle tillatelsesmoduser, også bypassPermissions. Det er det som gjør hooks nyttige for regler folk ikke kan slå av ved å bytte modus.

Finnes det hooks som bruker en modell i stedet for et skript?

Ja. I tillegg til skallkommandoer kan en hook være en HTTP-forespørsel, et kall til et MCP-verktøy, én enkelt prompt som vurderes av en Claude-modell, eller en eksperimentell agent-hook med tilgang til verktøy.