Install Claude Code with one official command: on macOS, Linux, and WSL with curl -fsSL https://claude.ai/install.sh | bash, on Windows in PowerShell with irm https://claude.ai/install.ps1 | iex (in the Command Prompt, CMD, use the install.cmd line below). Then choose how to pay. You can log in with a Pro, Max, Team, Enterprise, or Console account (the free Claude.ai plan does not include Claude Code), or use an API key without a subscription: set ANTHROPIC_BASE_URL (the domain only, without /v1), ANTHROPIC_AUTH_TOKEN, and four model variables, then check with /status whether the key is active. Top up your Kunavo credit with iDEAL (Netherlands) or Bancontact (Belgium), starting at $10, with no monthly fee.
Commando’s en variabelen gecontroleerd op October 3, 2026 in de official Claude Code installation documentation en de documentation about environment variables; prijzen en betaalmethoden gecontroleerd op October 3, 2026. Nederland en België staan allebei op de list of countries supported by Anthropic (gecontroleerd op October 3, 2026), zowel voor Claude.ai als voor de API. Deze handleiding bestaat ook in het Engels: Install Claude Code.
Before you install
| Component | Requirement (official installation documentation, checked on October 3, 2026) |
|---|---|
| Operating system | macOS 13.0 or later; Windows 10 1809 or later, or Windows Server 2019 or later; Ubuntu 20.04+; Debian 10+; Alpine Linux 3.19+ |
| Hardware | At least 4 GB of RAM, x64 or ARM64 processor (no 32-bit Windows) |
| Shell | Bash, Zsh, PowerShell, or CMD |
| Network and location | Internet connection, in a country supported by Anthropic (the Netherlands and Belgium are included) |
| Account | To log in, you need Pro, Max, Team, Enterprise, or Console; the free Claude.ai plan does not include Claude Code. With an API key, you do not need a subscription and do not log in. |
| Node.js | Only for the npm route, and then version 22 or later; the native installer does not require it |
Installing Claude Code on macOS and Linux
Open Terminal and paste this line:
# macOS, Linux, WSL
curl -fsSL https://claude.ai/install.sh | bashThis is the recommended native installation: one standalone program that updates itself in the background. The claude command is placed in ~/.local/bin. A terminal that was already open does not know about the new PATH, so open a new window before testing. In WSL, use exactly the same line in the WSL terminal.
Installing Claude Code on Windows
On Windows, there are two lines, and which one you need depends only on the window you have open. If the prompt begins with PS C:\Users\Naam>, you are in PowerShell; if it shows only C:\Users\Naam> without PS, it is the Command Prompt (CMD). You do not need to open the window as an administrator: according to the official documentation, this is not necessary.
# Windows PowerShell
irm https://claude.ai/install.ps1 | iex:: Windows Opdrachtprompt (CMD)
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmdThe most common mistake is pasting the line into the wrong window. The CMD line in PowerShell produces The token '&&' is not a valid statement separator; the PowerShell line in CMD produces 'irm' is not recognized as an internal or external command. On Dutch-language Windows, the second message may appear in Dutch, with the same cause. And the macOS line containing | bash in PowerShell produces an error stating that bash is not recognized. In all three cases, use the line that matches your window.
Git for Windows is optioneel. Staat het erop, dan voert Claude Code commando’s uit via de meegeleverde Git Bash; zonder Git gebruikt het PowerShell. Is Git wel geïnstalleerd maar wordt Git Bash niet gevonden, zet dan CLAUDE_CODE_GIT_BASH_PATH in het env-blok van ~/.claude/settings.json op het pad naar bash.exe; het voorbeeldpad in de documentatie is C:\Program Files\Git\bin\bash.exe.
| Option | What you need | Sandboxing | When to choose it |
|---|---|---|---|
| Native Windows | None; Git for Windows optional | Not supported | Projects and tools running directly on Windows |
| WSL 2 | WSL 2 enabled | Supported | Linux tools required, or commands in a sandbox |
| WSL 1 | WSL 1 enabled | Not supported | If WSL 2 is unavailable |
WSL is therefore not a requirement, as some older guides claim, but an option. If you choose WSL, run the macOS/Linux line in the WSL terminal and start claude there as well, not from PowerShell or CMD.
Via Homebrew, WinGet, or npm
That also works, with one important difference: according to the official documentation, Homebrew and WinGet installations do not update themselves. You must update them yourself:
# Homebrew (macOS)
brew install --cask claude-code
brew upgrade claude-code # bijwerken gebeurt niet vanzelf
# WinGet (Windows)
winget install Anthropic.ClaudeCode
winget upgrade Anthropic.ClaudeCode # bijwerken gebeurt niet vanzelfThe npm package requires Node.js 22 or later, not Node.js 18 as older guides still state. With an older Node.js version, npm only displays an EBADENGINE warning and the installation continues normally: the package installs the same native program, which does not need Node.js to run. Never use sudo npm install -g: it causes permission problems and is a security risk. Update with @latest, not npm update -g.
node -v # moet v22 of hoger zijn
npm install -g @anthropic-ai/claude-code # nooit met sudo
# later bijwerken: met @latest, niet met npm update -g
npm install -g @anthropic-ai/claude-code@latestChecking the installation
claude --version # toont het versienummer, gevolgd door (Claude Code)
claude doctor # alleen-lezen diagnose van installatie en instellingen, start geen sessieclaude doctor does not start a session; it displays the state of the installation and your settings files. This lets you quickly determine whether a problem is in the installation or the configuration.
Krijg je command not found: claude, of meldt Windows dat claude niet wordt herkend, dan staat de installatiemap niet in je PATH. Open eerst een nieuw terminalvenster. Helpt dat niet, zet dan op macOS en Linux ~/.local/bin in je PATH via ~/.zshrc of ~/.bashrc. Op Windows is de map %USERPROFILE%\.local\bin; volgens de official troubleshooting controleer en voeg je die zo toe in PowerShell:
# 1. Staat de installatiemap al in je PATH?
$env:PATH -split ';' | Select-String '\.local\\bin'
# 2. Geen uitvoer? Voeg de map toe aan je gebruikers-PATH en open een nieuw venster
$currentPath = [Environment]::GetEnvironmentVariable('PATH', 'User')
[Environment]::SetEnvironmentVariable('PATH', "$currentPath;$env:USERPROFILE\.local\bin", 'User')
# 3. In het nieuwe venster: twee paden betekent twee installaties naast elkaar
where.exe claudeIf you install via npm and PowerShell reports npm.ps1 cannot be loaded because running scripts is disabled on this system, PowerShell's execution policy is blocking npm's startup scripts. Use the native installer, start npm.cmd and claude.cmd, or allow local scripts for your own user:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUserFirst launch: subscription or API key
On the first launch, choose how Claude Code will be paid for. The two routes are mutually exclusive: if an API key is configured, a saved login remains unused; if you remove the variable, Claude Code falls back to the login without requiring reinstallation.
| Route A: log in with a subscription | Route B: API key, without a subscription | |
|---|---|---|
| What you need | Pro, Max, Team, Enterprise, or Console account | A Kunavo key beginning with sk-kn- |
| How you pay | Pro and Max: fixed monthly fee; Console: per token at Anthropic | Per token, from prepaid credit; no monthly fee |
| Payment method | Through the website, credit or debit card only | iDEAL, Bancontact, card, Apple Pay, Google Pay, or Link |
| Remote Control and voice dictation | Available: both work only with a claude.ai login | Not available |
| Setup | Log in in the browser | Six environment variables |
Route A: log in with your subscription
Start claude in your project directory and log in through the browser. One pitfall: if ANTHROPIC_API_KEY is already set, Claude Code asks once whether it should use that key. If you decline, it ignores the key thereafter without asking again, making it seem as though the variable is not being read. Re-enable it through /config → Use custom API key.
Route B: without a subscription, using an API key
ANTHROPIC_BASE_URL is a built-in Claude Code variable. According to the official documentation, it overrides the API endpoint to route requests through a proxy or gateway. Pointing Claude Code to an endpoint with the Anthropic Messages API is therefore a supported configuration, without a plug-in or custom version. Steps:
- Create a Kunavo account.
- Top up your credit through Billing, starting at $10 (iDEAL and Bancontact are described below).
- Create a key at /app/keys that begins with
sk-kn-. It is displayed only once, so save it immediately. - Set the variables. On macOS and Linux, in
~/.zshrcor~/.bashrc:
export ANTHROPIC_BASE_URL=https://api.kunavo.com # alleen het domein, zonder /v1
export ANTHROPIC_AUTH_TOKEN=sk-kn-...
export ANTHROPIC_MODEL=claude-sonnet-5
export ANTHROPIC_DEFAULT_OPUS_MODEL=claude-opus-5-5
export ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-5
export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5On Windows, to test first in a single PowerShell window:
# Geldt alleen voor dit PowerShell-venster
$env:ANTHROPIC_BASE_URL = "https://api.kunavo.com"
$env:ANTHROPIC_AUTH_TOKEN = "sk-kn-..."
$env:ANTHROPIC_MODEL = "claude-sonnet-5"
$env:ANTHROPIC_DEFAULT_OPUS_MODEL = "claude-opus-5-5"
$env:ANTHROPIC_DEFAULT_SONNET_MODEL = "claude-sonnet-5"
$env:ANTHROPIC_DEFAULT_HAIKU_MODEL = "claude-haiku-4-5"
claudeFor permanent use, the env block in your user settings is the best place: ~/.claude/settings.json (on Windows %USERPROFILE%\.claude\settings.json). The values apply everywhere Claude Code runs, including background agents. Variables from your shell apply only to that terminal window: an editor opened from the Dock or Start menu does not see them. If the file already contains other settings, add only the env block:
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.kunavo.com",
"ANTHROPIC_AUTH_TOKEN": "sk-kn-...",
"ANTHROPIC_MODEL": "claude-sonnet-5",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "claude-opus-5-5",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-5",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "claude-haiku-4-5"
}
}Zet de sleutel never in de .claude/settings.json van een project: volgens de official gateway documentation (gecontroleerd op October 3, 2026) wordt dat bestand gecommit en gedeeld met iedereen die de repository kloont. Let ook op de volgorde: zetten zowel je shell als een instellingenbestand dezelfde variabele, dan wint het instellingenbestand. Heeft een gewijzigde shellvariabele geen effect, kijk dan eerst in settings.json.
Every line has its own pitfall:
ANTHROPIC_BASE_URLis only the domain. Claude Code appends/v1/messagesitself; with/v1at the end, the request goes to/v1/v1/messagesand you get a 404.- Use
ANTHROPIC_AUTH_TOKEN, notANTHROPIC_API_KEY. According to the documentation,ANTHROPIC_AUTH_TOKENis sent as anAuthorizationheader withBearerin front of it and takes effect immediately.ANTHROPIC_API_KEYgoes in thex-api-keyheader and must first be approved once in interactive mode (see route A). - Write the model name in
ANTHROPIC_MODELexactly. Kunavo recognizes only the exact name and does not translate old names with a date appended. - Also pin
ANTHROPIC_DEFAULT_OPUS_MODELandANTHROPIC_DEFAULT_SONNET_MODEL. Volgens de documentation about model configuration (gecontroleerd op October 3, 2026) wijzen de standaardinstelling en de aliasopusvoor API-gebruikers naar Opus 5.5 en de aliassonnetnaar Sonnet 5.5, en schuiven die aliassen mee met nieuwe versies. Vastzetten doe je met de volledige modelnaam of met variabelen alsANTHROPIC_DEFAULT_OPUS_MODEL. Kunavo biedt Sonnet 5.5 nu niet aan, en een nieuw Opus-model staat er niet altijd meteen; een model dat er niet is, geeft een 404. ZonderANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-5mislukken daardoor/model sonnet, de uitvoerfase vanopusplanen subagents die opmodel: sonnetstaan. De aliasopuszet je vast op Opus 5.5 (claude-opus-5-5); daarvoor heb je Claude Code v2.1.280 of nieuwer nodig; een oudere versie werk je bij metclaude update. ANTHROPIC_DEFAULT_HAIKU_MODELalso applies to background tasks. According to the documentation, this variable determines thehaikualias and the model for background functions, such as session titles. With Claude Haiku 4.5, they remain inexpensive.
If you use the VS Code extension, set the variables in claudeCode.environmentVariables, in VS Code's own user settings (command Preferences: Open User Settings (JSON)). The extension already checks the credentials there before it starts; values from ~/.claude/settings.json do reach the started process, but not that check.
{
"claudeCode.environmentVariables": [
{ "name": "ANTHROPIC_BASE_URL", "value": "https://api.kunavo.com" },
{ "name": "ANTHROPIC_AUTH_TOKEN", "value": "sk-kn-..." },
{ "name": "ANTHROPIC_MODEL", "value": "claude-sonnet-5" },
{ "name": "ANTHROPIC_DEFAULT_OPUS_MODEL", "value": "claude-opus-5-5" },
{ "name": "ANTHROPIC_DEFAULT_SONNET_MODEL", "value": "claude-sonnet-5" },
{ "name": "ANTHROPIC_DEFAULT_HAIKU_MODEL", "value": "claude-haiku-4-5" }
]
}Prijzen per miljoen tokens, uit de Kunavo-catalogus; de lijstprijs van Anthropic komt van claude.com/pricing (gecontroleerd op October 3, 2026):
| Model | Kunavo (input / output) | Anthropic list price (input / output) | Difference | Purpose |
|---|---|---|---|---|
claude-haiku-4-5 | $0,70 / $3,50 | $1,00 / $5,00 | ~30% lower | Claude Code's own background tasks and simple work |
claude-sonnet-5 | $1,40 / $7,00 | $2,00 / $10,00 | ~30% lower | The default model for daily work |
claude-opus-5-5 | $2,80 / $14,00 | $4,00 / $20,00 | ~30% lower | Large refactors and planning |
Within a session, switch with /model claude-opus-5-5, or start immediately with claude --model claude-opus-5-5. What Claude Code approximately costs per month and when a subscription is more advantageous is covered in Claude Code pricing (in English); calculate your own usage with the Claude token calculator. All models and prices are listed on the pricing page.
Checking with /status
Start claude. With ANTHROPIC_AUTH_TOKEN set, you get no login screen: the variable takes effect immediately. If you still see the login screen, Claude Code did not read a key. Set it somewhere Claude Code reads before the first-run wizard: an export in your shell or the env block of ~/.claude/settings.json. An env block in the .claude/settings.json or .claude/settings.local.json of a project only takes effect in an interactive session after the first-run wizard and the prompt asking whether you trust the folder.
Typ in de sessie /status en kijk op het tabblad Status naar twee regels (bron: de official gateway documentation, gecontroleerd op October 3, 2026):
Anthropic base URLmust showhttps://api.kunavo.com. This line appears only when a gateway address is configured; if it is missing,ANTHROPIC_BASE_URLdid not reach the session.Auth tokenmust mentionANTHROPIC_AUTH_TOKEN. If you seeLogin methodinstead with a claude.ai account, the variable was not read and the session is using your subscription.
If you previously logged in with a subscription, Claude Code may warn at startup that two login sources are active (the message ends with auth may not work as expected). Requests then go through the key; use /logout to remove the old login.
Want to test the address and key before opening Claude Code? As the documentation suggests, send a request for one output token; it costs a very small amount of credit. The commands read the variables from your shell, so set them there as well if they are already in settings.json.
curl -sS -w '\n%{http_code}\n' -X POST "$ANTHROPIC_BASE_URL/v1/messages" \
-H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model": "claude-sonnet-5", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'Invoke-RestMethod -Method Post -Uri "$env:ANTHROPIC_BASE_URL/v1/messages" `
-Headers @{ "Authorization" = "Bearer $env:ANTHROPIC_AUTH_TOKEN"; "anthropic-version" = "2023-06-01" } `
-ContentType "application/json" `
-Body '{"model": "claude-sonnet-5", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'A JSON response beginning with {"id":"msg_ means the address and key are working; in PowerShell you see an id beginning with msg_. A 401 means the key was rejected.
What else works with an API key
- No Remote Control and no voice dictation. Both require a claude.ai account and are unavailable while
ANTHROPIC_AUTH_TOKENis active; Remote Control is also disabled whileANTHROPIC_BASE_URLpoints to an address outside Anthropic. /fastreports that fast mode is off. With only a bearer token, Claude Code treats fast mode as disabled without sending the check.- MCP tool search is disabled by default as soon as
ANTHROPIC_BASE_URLpoints to an address outside Anthropic. - The numbers in
/contextare an estimate: Kunavo biedt/v1/messages/count_tokensnu niet aan. Volgens de official compatibility documentation for gateways (gecontroleerd op October 3, 2026) valt Claude Code zonder dat endpoint terug op een schatting op basis van tekens, dus/contexttoont benaderde aantallen.
Code, tools, subagents, MCP servers, hooks, and prompt caching work as usual. More details are available in the Claude Code integration documentation (in English) and in Claude Code without a subscription (in English).
Paying with iDEAL or Bancontact
Een Claude-abonnement betaal je via de website alleen met een creditcard of debitcard (Claude help article about paid subscriptions, gecontroleerd op October 3, 2026); de prijzen op claude.com/pricing zijn exclusief belasting.
Het Kunavo-tegoed waardeer je op via Stripe Checkout. De prijzen staan in Amerikaanse dollars; voor kopers in Nederland en België toont Stripe het bedrag in euro’s. Volgens de Stripe documentation about Adaptive Pricing (gecontroleerd op October 3, 2026) zit in die wisselkoers een omrekenopslag van 2–4% die de koper betaalt; wie in dollars betaalt (met een kaart, Apple Pay, Google Pay of Link), betaalt die opslag niet. iDEAL en Bancontact werken alleen in euro’s. Op de betaalpagina worden aangeboden:
- iDEAL, voor Nederland. De methode heet inmiddels iDEAL | Wero (Stripe vroeg om die naam in het eerste kwartaal van 2026 over te nemen), dus ook die naam kun je op de betaalpagina zien. Je wordt doorgestuurd naar de omgeving van je eigen bank en bevestigt daar (Stripe on iDEAL, gecontroleerd op October 3, 2026).
- Bancontact, voor België, met je Bancontact-kaart of de app (Stripe on Bancontact, gecontroleerd op October 3, 2026).
- Cards (Visa, Mastercard), Apple Pay, Google Pay, and Link.
Not offered: PayPal, SEPA Direct Debit, Klarna (available only to buyers in the United States), Tikkie, Riverty (formerly AfterPay), and a regular bank transfer.
- Create a Kunavo account.
- On Billing, choose an amount, at least $10. Those who top up more at once receive additional credit: bij $100 krijg je $110, bij $1.000 krijg je $1.200, bij $5.000 krijg je $6.250.
- On the Stripe payment page, choose iDEAL or Bancontact and complete the payment in your bank's environment (iDEAL) or with the Bancontact app or card. The amount in euros is shown on the payment page before you confirm.
- Create a key at /app/keys and enter it in
ANTHROPIC_AUTH_TOKEN.
The credit is prepaid: there is no monthly charge, the credit does not expire, and failed requests are not charged. Automatic top-ups are available only with a saved card or Link; with iDEAL and Bancontact, you must therefore top up manually each time. Kunavo does not issue VAT invoices; your top-up history is available under Billing. These payment methods only top up your Kunavo API credit: they cannot be used to pay for a Claude Pro or Max subscription. More about paying in euros: Paying for Claude with iDEAL.
Common errors
| What you see | Cause and solution |
|---|---|
The token '&&' is not a valid statement separator | Pasted the CMD command into PowerShell. Use irm … | iex. |
'irm' is not recognized as an internal or external command (or the Dutch version of that message) | The PowerShell line was pasted into CMD. Use the install.cmd line. |
'bash' is not recognized as the name of a cmdlet | The macOS/Linux line was pasted into Windows. Use the PowerShell line. |
| The command displays the script's text but installs nothing | The second half is missing. In PowerShell, it is the entire irm … | iex line; in CMD, the complete command with -o install.cmd. |
syntax error near unexpected token '<' or a 403 | The download returned a web page or error code instead of the script. According to the official troubleshooting guidance, this may be caused by network problems, regional routing, a temporary outage, or (with a bare 403) a corporate proxy or firewall. Try again after a few minutes, or install on macOS via Homebrew and on Windows via WinGet. |
Claude Code does not support 32-bit Windows | You opened Windows PowerShell (x86). Open regular Windows PowerShell. |
npm.ps1 cannot be loaded | PowerShell's execution policy blocks npm. Run the Set-ExecutionPolicy line or use the native installer. |
command not found: claude, or claude is not recognized | The installation directory is not in your PATH. Open a new window; on Windows, use the PATH fragment above. |
| Login screen while the key is configured | Claude Code did not read a key. Set the variables in your shell or in ~/.claude/settings.json, not only in project settings, and open a new window. |
Warning ending with auth may not work as expected | The key and old login are both active. Use /logout to keep only the key, or remove the variable to use the login. |
401 | The key is not recognized: check that you copied the full sk-kn- key, without spaces, that it has not been deleted at /app/keys, and that it is set in ANTHROPIC_AUTH_TOKEN. |
404 | ANTHROPIC_BASE_URL ends with /v1, or the requested model is not available from Kunavo (for example, because the four model variables are missing). |
After installation
When starting for the first time in a project, type /init: Claude Code reads the repository and creates a CLAUDE.md with the test commands and conventions it finds. Check that file and keep it short, because it is loaded in every session. Between separate tasks, /clear starts a new conversation; when a task becomes long, /compact summarizes the history and you continue working.
What you need to know
- This is a pay-per-token API, not a Claude Pro or Max subscription. Anyone who uses Claude Code for hours every day will often spend less with a subscription; paying per token suits variable usage, and a month without using it costs nothing. The comparison is available in Claude Code pricing (in English).
- Remote Control and voice dictation are unavailable with an API key.
- Through Kunavo, you use shared capacity, without a reserved quota or contractual guarantees; if you need those, sign a contract directly with Anthropic.
- iDEAL and Bancontact are only for manual top-ups; automatic top-ups are available only with a card or Link.
- Amounts in euros include Stripe's conversion markup. Kunavo does not issue VAT invoices.
Frequently asked questions
How do I install Claude Code?
With one official command. On macOS, Linux, and WSL: curl -fsSL https://claude.ai/install.sh | bash. On Windows in PowerShell: irm https://claude.ai/install.ps1 | iex. In the Windows Command Prompt (CMD): curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd. This is the native installation Anthropic recommends; it updates itself in the background. Then open a new terminal window, check with claude --version, and start with claude.
Do I need WSL or administrator rights to install Claude Code on Windows?
No. According to the official installation documentation, run the installation command in PowerShell or CMD without opening the window as an administrator. Git for Windows is optional: if it is installed, Claude Code runs commands through Git Bash; otherwise, through PowerShell. WSL 2 is only an option if you need Linux tools or sandboxing; in that case, install and start Claude Code inside the WSL terminal. Do not open Windows PowerShell (x86): Claude Code does not support 32-bit Windows.
Do I need Node.js for Claude Code?
Only if you install via npm, in which case you need Node.js 22 or later. The native installer, Homebrew, and WinGet do not require Node.js. With an older Node.js version, npm only displays an EBADENGINE warning and the installation continues normally. Never use sudo npm install -g, and update with npm install -g @anthropic-ai/claude-code@latest instead of npm update -g.
Can I use Claude Code without a subscription?
Yes. To log in, you need a Pro, Max, Team, Enterprise, or Console account, and the free Claude.ai plan does not include Claude Code. Without a subscription, set ANTHROPIC_BASE_URL=https://api.kunavo.com and ANTHROPIC_AUTH_TOKEN with a Kunavo key; Claude Code then skips the login screen and you pay per token used from prepaid Kunavo credit, starting at $10, with no monthly fee. Remote Control and voice dictation are unavailable this way because they require a claude.ai account.
How do I set up an API key for Claude Code?
Set the variables in the env block of ~/.claude/settings.json (on Windows %USERPROFILE%\.claude\settings.json) or as export lines in ~/.zshrc, ~/.bashrc, or your PowerShell-$PROFILE. Use ANTHROPIC_AUTH_TOKEN, not ANTHROPIC_API_KEY: the former is sent as Authorization: Bearer and applies immediately, while the latter goes in the x-api-key header and must be approved once first. ANTHROPIC_BASE_URL is only the domain, https://api.kunavo.com, without /v1: Claude Code adds /v1/messages itself, so with /v1 you get /v1/v1/messages and a 404. Never put the key in a project's .claude/settings.json, because that file is committed. If the shell and settings file set the same variable, the settings file takes precedence.
Why are there four model variables when using Claude Code with an API key?
Without fixed models, Claude Code uses aliases that track new Anthropic versions. According to the official model configuration documentation (checked on October 3, 2026), the default setting and the opus alias for API users point to Opus 5.5, while the sonnet alias points to Sonnet 5.5. Kunavo does not currently offer Sonnet 5.5, and a model that is unavailable returns a 404: without a fixed sonnet variable, /model sonnet, the execution phase of opusplan, and subagents with model: sonnet fail. With ANTHROPIC_MODEL=claude-sonnet-5, ANTHROPIC_DEFAULT_OPUS_MODEL=claude-opus-5-5, ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-5, and ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5, each request uses a model offered by Kunavo, and you know what you are paying for. Opus 5.5 requires Claude Code v2.1.280 or later; update an older version with claude update. The haiku variable also determines the model for Claude Code's background tasks.
How do I check whether Claude Code is using my API key?
Type /status in Claude Code. On the Status tab, the Anthropic base URL line should show https://api.kunavo.com, and the Auth token line should mention ANTHROPIC_AUTH_TOKEN. If you instead see Login method with a claude.ai account, the variable was not read and the session is using your subscription. If a login screen appears when starting, Claude Code did not read any key at all.
Can I pay for Claude Code with iDEAL or Bancontact?
For Kunavo API credit, yes. The Stripe checkout page offers iDEAL (Netherlands) and Bancontact (Belgium), alongside cards, Apple Pay, Google Pay, and Link. The price is in dollars, and Stripe displays the amount in euros; according to Stripe, the exchange rate includes a 2–4% conversion markup. The minimum is $10, there is no monthly fee, and the credit does not expire. iDEAL and Bancontact are only for manual top-ups: automatic top-ups can be made only with a saved card or Link. PayPal and SEPA direct debit are not offered, and Kunavo does not issue VAT invoices. You cannot use this to pay for a Claude Pro or Max subscription; claude.ai charges that through its website using only a credit or debit card.