Skip to content

Claude Code – lokalt miljø

Denne guiden beskriver hvordan du installerer og bruker Claude Code lokalt på maskinen din med AWS Bedrock og sikre standardinnstillinger.

Det er primært to måter å bruke Claude Code på:

  1. Lokalt på din egen maskin (denne guiden)
  2. I DevContainer i VS Code (se devcontainer guiden)

Når du bruker Claude Code for første gang kan det være en god ide å starte med den lokale installasjonen for å bli kjent med verktøyet. Når du er komfortabel med det, kan du vurdere å bruke det i en DevContainer for et mer isolert miljø der du kan gi verktøyet større friheter uten å kompromittere sikkerheten på din egen maskin.

Forutsetninger

  • Node.js 18+ og npm
  • AWS CLI konfigurert med SSO-tilgang til ki-bedrock-inference-026090540363-profilen

Installasjon

Installer Claude Code globalt:

npm install -g @anthropic-ai/claude-code

Oppsett

AWS-konfigurasjon

For å bruke Claude Code med AWS Bedrock må du konfigurere AWS CLI med SSO. Legg til følgende profil i ~/.aws/config:

[profile ki-bedrock-inference-261916864828]
sso_account_id = 261916864828
sso_role_name = OrigoBedrockInferenceAccess
sso_start_url = https://osloorigo.awsapps.com/start
sso_region = eu-west-1
sso_registration_scopes = sso:account:access
region = eu-central-1
output = json

Logg inn med SSO før du starter Claude Code:

aws sso login --profile ki-bedrock-inference-261916864828

Tips

Du kan sette denne profilen som standard ved å legge til AWS_PROFILE=ki-bedrock-inference-261916864828 i settings.local.json under env, eller eksportere den i terminalen din: export AWS_PROFILE=ki-bedrock-inference-261916864828

Før du begynner

Det eksisterer tre nivåer av instillinger for Claude Code:

  1. Globale innstillinger: Disse gjelder for alle prosjekter og ligger i ~/.claude/settings.json.
  2. Lokale delte innstillinger: Disse gjelder for alle som jobber på prosjektet og ligger i <prosjekt>/.claude/settings.json.
  3. Lokale innstillinger: Dette er dine private innstillinger for prosjekter som ligger i <prosjekt>/.claude/settings.local.json.

Instillingene kan være de samme i alle nivåene. Du velger selv hvilke nivåer du ønsker å bruke.

Konfigurasjon (.claude)

Opprett katalogen .claude/ i prosjektets rot. Legg inn settings.local.json med sikre standarder (eksempel):

{
  "awsAuthRefresh": "aws sso login --profile ki-bedrock-inference-261916864828",
  "env": {
    "AWS_PROFILE": "ki-bedrock-inference-261916864828",
    "CLAUDE_CODE_USE_BEDROCK": "1",
    "ANTHROPIC_MODEL": "eu.anthropic.claude-opus-4-6-v1",
    "AWS_REGION": "eu-central-1",
    "DISABLE_BUG_COMMAND": "1",
    "DISABLE_TELEMETRY": "1",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "eu.anthropic.claude-3-haiku-20240307-v1:0",
    "CLAUDE_CODE_SUBAGENT_MODEL": "eu.anthropic.claude-opus-4-6-v1"
  },
  "includeCoAuthoredBy": false,
  "permissions": {
    "allow": [
      "Bash(git add:*)",
      "Bash(git commit -m :*)"
    ],
    "deny": [
      "Read(**.ssh/**)",
      "Read(.gnupg/**)",
      "Read(.aws/**)",
      "Read(.docker/config.json)",
      "Read(secrets**)",
      "Read(.secrets**)",
      "Read(.env**)",
      "Read(*.pem)",
      "Read(*.key)",
      "Read(*.p12)",
      "Read(*.pfx)",
      "Read(id_rsa*)",
      "Read(id_ed25519*)",
      "Read(id_ecdsa*)",
      "Read(*.crt)",
      "Read(*.csr)",
      "Read(.devcontainer/devcontainer.env)"
    ]
  }
}

Tips

  • Som standard vil Claude Code forsøke å bruke din aktive AWS-profil. Hvis du legger til en "env": { "AWS_PROFILE": "myprofile" } i innstillingene kan du bruke en spesifikk AWS-profil for Bedrock.

Tips

  • Legg gjerne til .claude/settings.local.json i .gitignore for å unngå å commite lokale innstillinger.

Tilganger

Når du bruker Claude Code vil du få spørsmål om tillatelser hver gang Claude Code prøver å gjøre noe som ikke er eksplisitt tillatt i permissions i innstillingene dine. Dette gir deg kontroll over hva Claude Code kan gjøre, men er slitsom. For enkelte ting som å endre filer kan det være nok å bruke tillatt alltid for denne sessjonen, men verdien av Claude Code blir større dersom man gir den mer frihet. Du bør ha som mål at du har gitt Claude Code nok tilganger til at den kan løse oppgaven du gir den uten å spørre deg om lov. Det gjør at du kan jobbe mer effektivt.

For å legge til tilganger i permissions kan du bruke følgende mønster:

"permissions": {
  "allow": [
    "Bash(git add:*)",
    "Bash(git commit -m :*)"
  ],
  "deny": [
    "Read(**.ssh/**)",
    "Read(.gnupg/**)",
  ]
}

I dette formatet er :* et wildcard. Det gir Claude mer frihet til å løse oppgaver på dine vegne, men det er viktig at du fortsatt er klar over at du er du som har ansvaret for hva modellen gjør. Du må følge med på hva som skjer og stoppe den dersom den gjør noe du ikke ønsker.

Bruk

  • Start interaktiv modus: claude
  • Kjør en enkeltforespørsel: claude "Hjelp meg å sette opp en ny Terraform-modul"
  • Slash-kommandoer: legg egne kommandoer i .claude/commands/ og bruk dem med /navn i chatten

Neste steg

Du kan se mer om hvordan Claude Code brukes i dette prosjektet ved å gå til github.com/oslokommune/kunstig-intelligens.

Les flere generelle tips i Claude Code tips og tricks