Slik automatiserer du med hooks i Claude Code

En hook kjører automatisk når noe skjer i Claude Code. Lær å lage en som formaterer kode med Prettier etter hver redigering, og hvilke andre hooks som er verdt å ha.

Publisert

Utdrag fra nettkurset «Claude Code – komplett guide»Av

Hver gang Claude Code redigerer en fil, må du huske å formatere den etterpå. Eller du glemmer det, og neste commit er full av innrykk og linjeskift som ikke følger prosjektets stil. Det er en oppgave som burde skje av seg selv, og med hooks gjør den det.

En hook er noe Claude Code kjører automatisk når en bestemt hendelse skjer. Du bestemmer to ting: når hooken skal kjøre, og hva den skal gjøre. Når hendelsen inntreffer, kjøres den uten at du eller Claude trenger å tenke på det.

Hva du kan automatisere med hooks

Hendelsene kan være før Claude kjører en kommando, etter at den er kjørt, eller når Claude trenger input fra deg. Anthropics dokumentasjon lister noen typiske bruksområder:

  • Få varsel når Claude venter på deg.
  • Formatere kode automatisk etter hver redigering.
  • Blokkere endringer i beskyttede filer.
  • Legge kontekst tilbake etter at kontekstvinduet er komprimert.

Eksempelet i kurset er det andre punktet, med Prettier som formateringsverktøy.

Installer Prettier først

Prettier er en npm-pakke som formaterer filer etter forhåndsdefinerte regler, slik at alle filer ser like ut uansett hvem som skrev dem. Den trengs bare av utviklerne, ikke av den kjørende appen, så den installeres som en dev dependency:

  1. Åpne terminalen i prosjektet.
  2. Kjør npm install prettier --save-dev.
  3. Sjekk i package.json at prettier ligger under devDependencies, ikke dependencies.

Vil du se hva den gjør, roter du til innrykkene i en fil, lagrer, og kjører npx prettier --write etterfulgt av stien til filen. Filen ryddes opp etter reglene. Det er nøyaktig dette hooken skal gjøre automatisk.

Slik lager du hooken i Claude Code

Du kan skrive hooken selv, men Claude Code kjenner formatet bedre enn de fleste. Start en ny økt på Auto og beskriv det du vil ha:

  1. Fortell hva som er gjort: «Jeg har nettopp installert npm-pakken Prettier som dev dependency.»
  2. Beskriv hooken: «Lag en hook som kjøres automatisk hver gang du redigerer en fil, og som formaterer filen med Prettier.»
  3. Si hvor den skal ligge: mappen hooks inne i .claude.
  4. Åpne for spørsmål: «Spør meg hvis noe er uklart.»

I kurset kom Claude med tre spørsmål, hver med en anbefaling. Prettier hadde ingen konfigurasjonsfil, skulle den lage en? Ja. Hvilke filer skulle hooken formatere? Bare dem Prettier støtter. Hva skulle skje hvis Prettier feilet på en fil, for eksempel ved syntaksfeil? Hooken avslutter stille uten å stoppe Claude. Deretter lagde Claude hooken som en PostToolUse-hook, altså noe som kjører etter at et verktøy er brukt, og la den i .claude/hooks som en liten JavaScript-fil.

Tips: La en formateringshook feile stille. Hvis den stopper Claude hver gang en fil har en midlertidig syntaksfeil midt i en redigering, blir den mer til bry enn til hjelp.

Test hooken uten å nevne Prettier

Den riktige testen er å gi Claude en redigeringsoppgave, ikke en formateringsoppgave. I kurset rotes page.tsx til for hånd og lagres. Så får Claude beskjed: «Kommentarene i filen jeg ser på er litt lange. Skriv dem kortere, maks to linjer.» Ingenting om Prettier. Når Claude er ferdig med kommentarene, kjører hooken, og hele filen er formatert. Claude melder selv at hooken kjørte.

Flere hooks du kan lage etterpå

Når den første hooken er på plass, ser du fort flere kandidater. Noen som passer de fleste prosjekter:

  • Typesjekk etter redigering. Kjør prosjektets typecheck hver gang Claude endrer en TypeScript-fil, så feil fanges før Claude melder at den er ferdig.
  • Beskyttede filer. Blokker redigering av lockfilen, databasemigrasjoner eller produksjonskonfigurasjon, så en ivrig økt ikke rører dem uten at du er involvert.
  • Varsel når Claude venter. Jobber du med noe annet mens Claude arbeider, kan en hook gi deg et systemvarsel når den trenger et svar fra deg.
  • Kontekst etter komprimering. Når kontekstvinduet komprimeres, kan en hook legge tilbake instruksjoner du vil at Claude alltid skal ha for hånden.

Fremgangsmåten er den samme som for Prettier: beskriv hendelsen og handlingen, la Claude lage filen, og test med en oppgave som utløser hendelsen uten å nevne hooken.

Videre med hooks

Dette er den enkleste typen. Dokumentasjonen beskriver også prompt-baserte hooks, agent-baserte hooks og HTTP-hooks, samt begrensninger og feilsøking. Har du én ting du alltid gjør etter at Claude har jobbet, er det sannsynligvis en hook. Og hooks er en av nøklene i settings.json, så teamet kan dele dem.

Neste steg

Hooks er én av flere måter å tilpasse Claude Code på. Tillatelser styrer du i settings.json, og arbeidsmåter du starter selv hører hjemme i en skill, se Slik lager du din egen skill i Claude Code. Skal Claude nå ut av prosjektet, til GitHub eller en database, er neste steg Slik kobler du Claude Code til GitHub med MCP.

Denne videoen er hentet fra kurset Claude Code – komplett guide på Utdannet.no. I det fulle kurset installerer du Prettier, får Claude til å lage hooken og ser den kjøre på en ekte redigering, i samme prosjekt som settings.json, rules og skills.

Om kursholderen

Espen Faugstad kursholder hos Utdannet.no

Gründer av Utdannet.no

Ekspert på digital kompetanse med over 160 nettkurs – fra Google Ads og Analytics til Adobe-programmer og kunstig intelligens. Gründer av Utdannet.no og en av Norges mest erfarne formidlere av digital læring, med over 1,5 millioner videoavspillinger. Har levert kurs og opplæring for virksomheter som NKI, NITO, NHO, NAV, Polaris Media og Adresseavisen. Forfatter av læreboken «Lær Photoshop i en fei» utgitt på Fagbokforlaget i 2015. Kursene er bygget på praktisk læring med konkrete eksempler – tilpasset både nybegynnere og viderekomne.