Guider
Kom i gang på 5 minutter
Fra installasjon til en agent som jobber i repoet ditt, med Copilot CLI eller OpenCode i sandkassen cplt.
Guiden gjelder nav-pilot 2026.09.29-221653 eller nyere. Sjekk med nav-pilot --version. Har du en eldre versjon, kjør brew update og brew upgrade navikt/tap/nav-pilot navikt/tap/cplt.
Installer
På Mac med Homebrew:
brew install navikt/tap/nav-pilot navikt/tap/cplt brew install gh
Installer så én av klientene. OpenCode:
brew install anomalyco/tap/opencode
Eller Copilot CLI. Den havner i ~/.local/bin, så den andre linja legger den mappa til i PATH:
curl -fsSL https://gh.io/copilot-install | bash export PATH="$HOME/.local/bin:$PATH"
På Linux og i WSL bruker du installasjonsskriptet. Kommandoene står på Kom i gang.
Logg inn på GitHub
Agenten pusher og åpner pull requests med gh-innloggingen din. Logg inn én gang, utenfor sandkassen:
gh auth login
OpenCode eller pi på Mac: gh legger tokenet i nøkkelringen til macOS, og cplt slipper ikke disse klientene til nøkkelringen. Da feiler push og pull requests i sandkassen. Logg inn slik at gh lagrer tokenet i sin egen fil i stedet:
gh auth login --insecure-storage
Kloner du med SSH (git@github.com:…)? cplt stenger ~/.ssh, så push over SSH feiler i sandkassen. Få git til å bruke HTTPS mot GitHub. Kjør dette utenfor cplt, siden git-vakta stopper endringer i remote-oppsettet:
git config --global url."https://github.com/".insteadOf "git@github.com:"
Første kjøring
Gå til et repo og start nav-pilot:
cd ~/src/min-app nav-pilot
Første gang spør nav-pilot om noen innstillinger. Enter gir det anbefalte valget. Spørsmålene er på engelsk:
- Which coding agent? OpenCode, GitHub Copilot eller pi. OpenCode er valgt på forhånd.
- Conversation mode: vanlig samtale, plan eller autopilot.
- How much should the agent do on its own? Se Hvor mye skal agenten gjøre selv?
- Model, Reasoning effort og Auto-update nav-pilot.
Til slutt viser Save these settings? hva som blir endret, både i nav-pilot og i cplt. Velger du Cancel, lagres ingenting. Etterpå sjekker nav-pilot gh-innloggingen og sier hvilken kommando du må kjøre hvis push eller pull requests ikke vil virke.
Kjenner cplt igjen verktøyene i repoet, kommer spørsmålet om .cplt.toml nå, se Første gang i et repo. Så spør nav-pilot hvor agentpakka skal ligge (Where to install?): i repoet, som hele teamet får, eller i hjemmekatalogen, bare for deg. Installere og oppgradere forklarer forskjellen.
Ber agentpakka om et unntak i sandkassen, spør nav-pilot før den installerer (agentpakke nav-pilot asks for more than the sandbox gives it. Allow it?). Nav-pakka ber om å nå Grafana-verktøyene Mimir, Loki og Tempo. Enter svarer Decline, og da virker alt annet i pakka. Agentpakker forklarer unntakene. Deretter starter klienten i sandkassen.
Første gang i et repo
Står du i et repo uten .cplt.toml, og cplt kjenner igjen verktøyene, for eksempel Gradle, spør nav-pilot: Apply the suggested sandbox rules for this repo? Svarer du ja, skriver cplt init --write fila. Den gir ingen tilgang før den er sjekket inn og godkjent:
git add .cplt.toml git commit -m "chore: add cplt sandbox config" cplt trust accept
cplt trust accept viser hva fila ber om, og spør før den godkjenner. Har repoet allerede en .cplt.toml, sier cplt fra ved oppstart om at den ikke er godkjent. Da kjører du bare cplt trust accept. Mer om fila står i Sett opp cplt i et repo.
Hva agenten kan gjøre
Med det anbefalte valget kan agenten:
- lese og skrive filer i katalogen du startet i, og kjøre kommandoer der
- committe, pushe egne grener og åpne pull requests
cplt stopper:
- merging av pull requests (
gh pr merge) - push til standardgrenen, for eksempel main, og force push
- skriving utenfor prosjektkatalogen, og lesing av SSH-nøkler, nøkler til skytjenester og andre hemmeligheter
I tillegg ber nav-pilot agenten om å spørre deg før den sletter grener eller filer utenfor oppgaven, deployer, endrer CI eller tilganger, legger til avhengigheter, og når kravene er uklare. Det er en instruks, ikke en sperre. Det er cplt som sperrer.
Kjører klienten uten cplt, for eksempel med --no-sandbox der cplt ikke er installert, sender nav-pilot ingen flagg som lar agenten jobbe uten å spørre. Da spør Copilot CLI før hver handling, og OpenCode følger sine egne tillatelser.
Hvor mye skal agenten gjøre selv?
nav-pilot tilbyr fire nivåer. På alle fire stopper cplt merging, push til standardgrenen og force push. Unntaket er hvis du under Custom beholder cplt-nivået permissive eller full-trust. Der er sperrene av, og ingenting blir stoppet.
- Autonomous in the sandbox (recommended). Agenten jobber uten å spørre for hver kommando, innenfor sandkassen. Den committer, pusher egne grener og åpner pull requests, og kan fortsatt spørre deg når den er usikker. For Copilot CLI sender nav-pilot
--allow-all-tools --allow-all-paths --allow-all-urls, men bare når klienten kjører i cplt. - Ask before each command. Samme git-regler, men Copilot CLI spør før hver kommando. Bare for Copilot CLI.
- Locked down. Agenten kan ikke pushe i det hele tatt, så du pusher selv. Nettverket er begrenset til en liste over tillatte verter, og Copilot CLI spør før hver kommando. nav-pilot setter cplt til
strictog legger Navs verter i lista først. - Custom. Du velger selv om Copilot CLI skal spørre før hver kommando, og om nettverket skal være vanlig eller bare lista. Med cplt-nivået
standardellerstrictvelger du også om agenten kan pushe og åpne pull requests eller bare committe. Har du satt cplt tilpermissiveellerfull-trustog beholder det, får du ikke det spørsmålet. Da er git- og gh-vaktene av, og cplt stopper verken merge, push til standardgrenen eller force push.
Bruker du OpenCode eller pi, får du ikke valget Ask before each command. Der styrer klienten selv hva den spør om. For OpenCode er det nøkkelen permission i opencode.json.
Locked down koster noe. Agenten kan ikke pushe en gren eller åpne en pull request fra den, så du må pushe selv. Verter som ikke står på lista, blir blokkert. Det gjelder også interne verter du tar i bruk senere. Lista ligger i ~/.nav-pilot/cplt-allowed-domains.txt. På Linux krever nivået kjerne 6.7 eller nyere med Landlock slått på.
Bytter du fra Locked down til et annet nivå, spør nav-pilot fra versjon 2026.09.29-223958: Remove the network allowlist nav-pilot set up for strict? Svarer du nei, eller har du en eldre versjon, blir lista stående, og agenten når fortsatt bare vertene på den. Fjern den slik:
cplt config set proxy.allowed_domains --unset --global
Du kan bytte nivå når som helst. Med Copilot CLI bytter du mellom Autonomous in the sandbox og Ask before each command med én innstilling. Resten av innstillingene blir som de er. Til Ask before each command:
nav-pilot config set autonomy conservative
Tilbake til Autonomous in the sandbox:
nav-pilot config set autonomy sandbox
Til Locked down, Custom eller tilbake fra Locked down går du gjennom veiviseren:
nav-pilot config setup
nav-pilot spør om du vil erstatte innstillingsfila. Velg Replace. Veiviseren skriver en ny fil. Klienten og nivået du har nå, er valgt på forhånd, og kilden blir med over. Samtalemodus, modell, resonneringsnivå og automatisk oppdatering starter på standardverdiene, og andre innstillinger i fila blir ikke med over. Gå gjennom hvert svar, og se over oppsummeringen før du lagrer.
Brukte du nav-pilot med Copilot CLI før nivåene kom, har du Ask before each command til du velger noe annet. Hele sammenligningen av standard og strict står i Sandkassen.
Videre
- Stopper cplt noe agenten trenger? Slå opp meldingen i Feil i sandkassen.
- Vil du la agenten jobbe på flere grener samtidig? Se Worktrees med nav-pilot og cplt.
- Trenger agenten verktøy utenfor klienten, som Playwright? Se Navs MCP-register.