Slik styrer du tillatelser med settings.json i Claude Code

Bestem hva Claude Code får gjøre uten å spørre, hva den alltid må spørre om og hva den aldri får gjøre. Sett opp allow, ask og deny i settings.json fra Anthropics teameksempel.

Publisert

Utdrag fra nettkurset «Claude Code – komplett guide»Av

Claude Code spør om lov til å kjøre npm run lint. Så spør den om npm run typecheck. Så om å lese en fil du gjerne vil den skal lese. Og så, uten å spørre, pusher den til master. Begge deler er feil vei: for mange spørsmål om det ufarlige, for få om det som teller. Filen som retter på det heter settings.json.

I settings.json bestemmer du hva Claude får gjøre uten å spørre, hva den alltid må spørre om først, og hva den aldri får gjøre. Filen ligger i prosjektet, så den kan deles med hele teamet.

To filer: teamets og din egen

Inne i mappen .claude oppretter du settings.json. Det er teamets innstillinger, og den sjekkes inn i Git. Vil du ha personlige innstillinger i tillegg, lager du settings.local.json ved siden av. Den vises nedtonet i Visual Studio Code, et tegn på at den allerede ignoreres av Git. Sjekk likevel at .gitignore dekker den, for personlige innstillinger skal ikke committes.

Start med Anthropics teameksempel

Dokumentasjonen for Claude Code har en side med eksempler på innstillingsfiler, ett for en enkelt utvikler, ett for et team og ett for en organisasjon. Start med teamversjonen, selv om teamet bare er deg. Slik gjør du det:

  1. Kopier eksempelet «a team's shared settings» fra dokumentasjonen.
  2. Lim det inn i .claude/settings.json.
  3. Slett nøklene du ikke trenger ennå: environment, hooks, extraKnownMarketplaces, enabledPlugins, sandbox og plansDirectory. Alle kan du utforske senere.
  4. Fjern det siste kommaet som blir stående igjen, så linteren slutter å klage.
  5. Lagre.

Under eksempelet på samme side ligger «what each key does», en forklaring av hver linje. Den er verdt å lese én gang.

Permissions: allow, ask og deny

Det som er igjen, og det som er viktigst å lære først, er permissions. Tre lister styrer alt:

ListeBetyrEksempel fra kurset
allowClaude gjør dette uten å spørreKjøre npm run-kommandoer
askClaude må alltid spørre førstgit push, uansett hvor
denyClaude får aldri gjøre detteLese .env-filer og mappen secrets

De tre reglene fra kurset er gode standardvalg for de fleste prosjekter. Npm-skript er ufarlige og kjøres ofte, så de skal ikke koste et spørsmål. Push til master er uopprettelig nok til at du vil bekrefte. Og miljøfiler inneholder nøkler som aldri skal inn i en samtale.

Slik tester du at reglene virker

I kurset gjøres en liten endring for hånd, en testtekst i bunnen av forsiden, og Claude får beskjed: «Create commit, push to prod.» Modusen står på Auto, som ellers lar Claude jobbe fritt. Likevel stopper den før git push origin master og spør om lov. Reglene i settings.json gjelder på tvers av modus. Svarer du ja, pusher den. Etterpå fjernes testteksten med en ny commit.

Tips: Reglene i settings.json er det som gjør Rediger automatisk og Auto trygge å bruke. Du slipper å velge mellom å godkjenne alt og å godkjenne ingenting.

Slik er en regel bygget opp

Hver linje i listene består av et verktøy og et mønster. Verktøyet er det Claude bruker for å gjøre handlingen, for eksempel Bash for kommandoer i terminalen eller Read for å lese filer. Mønsteret sier hvilke kommandoer eller filer regelen gjelder for, og kan bruke jokertegn, slik at én linje dekker alle npm run-kommandoer eller alle filer som begynner på .env. Claude sjekker listene i rekkefølge: står handlingen i deny, stoppes den uansett. Står den i ask, får du spørsmålet. Står den i allow, går den gjennom. Alt annet håndteres av modusen du står i.

Bruk settings.local.json til dine egne unntak

Teamfilen bør være konservativ, for den gjelder alle. Vil du selv slippe spørsmål om noe teamet ikke har tatt stilling til, for eksempel et verktøy bare du bruker, legger du det i settings.local.json. Den gjelder bare på din maskin, og du kan være rausere der uten å endre reglene for andre. Er det derimot en regel alle bør ha, som å aldri lese miljøfiler, hører den hjemme i teamfilen, så den følger med i neste klone av prosjektet.

Hva som ikke hører hjemme her

Settings.json styrer hva Claude får lov til, for hele prosjektet. Den styrer ikke hvordan Claude skal skrive kode eller hvilke konvensjoner den skal følge. Det hører hjemme i CLAUDE.md, eller i rules når instruksjonen bare gjelder deler av kodebasen. Hold tillatelser og instruksjoner adskilt, så vet du hvor du skal lete når noe oppfører seg rart.

Neste steg

Rules er neste lag i .claude-mappen: instruksjoner som lastes bare når Claude jobber med bestemte filer, se Slik bruker du rules i Claude Code. Hooks-nøkkelen du slettet ovenfor kommer tilbake i Slik automatiserer du med hooks i Claude Code. Og hvordan tillatelsene spiller sammen med modus, viser Slik velger du riktig modus i Claude Code.

Denne videoen er hentet fra kurset Claude Code – komplett guide på Utdannet.no. I det fulle kurset setter du opp settings.json linje for linje, ser push-regelen slå inn i sanntid, og går videre til rules, skills, hooks og MCP i samme prosjekt.

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.