Back to guides
Installation·October 3, 2026·Updated October 10, 2026·14 min read

How to install Claude Code: step by step on Windows, macOS, and Linux, with a subscription-free API key and card payments

The installation command is one line; the time-consuming parts are using the wrong terminal, an outdated Node.js version, PATH, configuring a key without a subscription, and paying from Turkey. It is all covered on this page.

Short answer: Claude Code is installed with a single terminal command suited to your environment. On macOS, Linux, and WSL, run install.sh; in Windows PowerShell, run irm … | iex; and in Command Prompt (CMD), run install.cmd—all three are shown below. This method does not require Node.js; if you prefer to install with npm, Node.js 22 or later is required. After installation, you have two options: sign in with a Claude account (Pro, Max, Team, Enterprise, or Console; the free plan does not include Claude Code) or use an API key without a subscription. With the key-based method, define ANTHROPIC_BASE_URL=https://api.kunavo.com (without adding /v1 at the end), ANTHROPIC_AUTH_TOKEN, and the four variables that pin the models; /status shows whether the key is active in the session. You are charged only for tokens used. Add at least 10 USD to your balance using a Visa or Mastercard, Apple Pay, Google Pay, or Link; installment payments and Papara are not available.

Terminal
# macOS, Linux, WSL
curl -fsSL https://claude.ai/install.sh | bash
PowerShell
# Windows PowerShell
irm https://claude.ai/install.ps1 | iex
cmd.exe
:: Windows – Komut İstemi (CMD)
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

We sourced these commands and the variable names below from Claude Code's setup and gateway connection documentation on October 3, 2026. Anthropic does not publish this documentation in Turkish, so we provide error messages in their original English. We last checked Kunavo prices and payment methods on October 10, 2026. There is no need to search for a VPN or an overseas proxy: Anthropic's supported countries page lists Türkiye for both Claude.ai and the API (checked on October 3, 2026).

Which command belongs in which terminal?

Most people who get stuck during installation make a mistake with the terminal, not the command. The table below matches your environment to the correct command. If you are using Windows, the next section explains how to identify your terminal.

Your environmentCommand to useUpdates
macOS, Linux, WSL on Windowsinstall.sh command (native installer, recommended)Automatically in the background
Windows PowerShellirm https://claude.ai/install.ps1 | iexAutomatically in the background
Windows Command Prompt (CMD)install.cmd commandAutomatically in the background
Homebrew (macOS) or WinGet (Windows)Package manager (below)Not by default; you update it yourself through the package manager
Node.js 22 or later installednpm (below)With npm install -g @anthropic-ai/claude-code@latest

System requirements

Requirements in the official installation documentation (as of October 3, 2026):

  • Operating system: macOS 13.0 or later; Windows 10 version 1809 and later or Windows Server 2019 and later; on Linux, Ubuntu 20.04, Debian 10, and Alpine Linux 3.19 or later.
  • Hardware: at least 4 GB of RAM and an x64 or ARM64 processor. 32-bit Windows is not supported.
  • Shell: Bash, Zsh, PowerShell, or CMD.
  • Node.js: not required for the native installer; only version 22 or later is required for the npm method.
  • Account: if you sign in, you need Pro, Max, Team, Enterprise, or Console. Neither a subscription nor sign-in is required when using an API key.

Some Turkish-language guides circulating online still copy an older version of this list: you can still find references to Node.js 18 for npm and Ubuntu 18.04 or CentOS 7 for Linux. The current documentation lists Node.js 22 and Ubuntu 20.04 as the minimum versions. The warning that “every step fails without a fixed US-based proxy” also does not apply to Türkiye; on the contrary, using an open VPN can trigger a regional error (see the download errors in the macOS and Linux section).

Claude Code installation on Windows

On Windows, you do not need administrator privileges, WSL, or Git. The official documentation does not require opening the terminal as an administrator, so you can skip the “run PowerShell as administrator” step found in some Turkish-language videos. The only thing you need to know is which terminal you are using:

  • If the prompt starts with PS C:\Users\KullaniciAdi>, such as PS, you are in PowerShell: use the irm … | iex command.
  • If there is no PS at the beginning and you see only C:\Users\KullaniciAdi>, you are in Command Prompt: use the install.cmd command.
  • Do not open the “Windows PowerShell (x86)” entry in the Start menu. Because it is a 32-bit process, it produces the Claude Code does not support 32-bit Windows error even on a 64-bit computer; choose “Windows PowerShell” without the suffix.

Pasting the command into the wrong window is one of the most common causes of Windows errors, and the messages do not make this explicit. A CMD command pasted into PowerShell returns The token '&&' is not a valid statement separator. A PowerShell command pasted into CMD says, in Turkish Windows, “'irm' is not recognized as an internal or external command, operable program or batch file.” (On an English system: 'irm' is not recognized as an internal or external command). If you try macOS's curl … | bash command in PowerShell, you will see A parameter cannot be found that matches parameter name 'fsSL' or 'bash' is not recognized as the name of a cmdlet; these messages may appear in Turkish on a Turkish-language system. In all three cases, the solution is the same: use the command for the terminal you are currently in.

Are Git for Windows and WSL required?

Both are optional. If Git for Windows is installed, Claude Code runs shell commands in the Git Bash that comes with it; otherwise, it switches to the PowerShell tool. The documentation recommends Git but does not require it. If Git is installed but Git Bash cannot be found, set the full path to bash.exe in the env block of the ~/.claude/settings.json file, using the CLAUDE_CODE_GIT_BASH_PATH variable (example from the documentation: C:\Program Files\Git\bin\bash.exe).

There are two reasons to choose WSL: you need Linux tools, or you want to run commands in a sandbox. A native Windows installation has no sandbox:

InstallationPrerequisiteSandboxFor whom
Native WindowsNone (Git for Windows is optional)Not supportedPeople whose projects and tools are on Windows
WSL 2WSL 2 enabledSupportedPeople who want to work with Linux tools or inside a sandbox
WSL 1WSL 1 enabledNot supportedPeople who cannot use WSL 2

If you are staying in WSL, perform both the installation and your work in the WSL terminal: the macOS/Linux command works there, and claude also starts there.

The “claude” command cannot be found

If you see 'claude' is not recognized after installation (or command not found: claude on macOS and Linux), you are most likely working in a window that was opened before installation: the installer updates the PATH variable, but the old terminal does not see the change. First, close and reopen the terminal. The program is located at %USERPROFILE%\.local\bin\claude.exe on Windows and ~/.local/bin/claude on macOS and Linux. If opening a new window still does not help on Windows, add the folder to your user PATH variable using the commands in the documentation:

PowerShell
# 1. Kurulum klasörü PATH içinde mi?
$env:PATH -split ';' | Select-String '\.local\\bin'

# 2. Sonuç yoksa kullanıcı PATH'ine ekleyin, terminali kapatıp yeniden açın
$currentPath = [Environment]::GetEnvironmentVariable('PATH', 'User')
[Environment]::SetEnvironmentVariable('PATH', "$currentPath;$env:USERPROFILE\.local\bin", 'User')

# 3. Yeni terminalde
claude --version

npm.ps1 cannot be loaded

This message appears only with the npm method: npm writes a .ps1 launcher for PowerShell, and the system's execution policy blocks it. The documentation gives three ways forward: run the commands using the npm.cmd and claude.cmd names, switch to the native installer in PowerShell, or allow local scripts only for your own user:

PowerShell
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

Installation on macOS and Linux

The install.sh command above appears in the official documentation under the “Native Install (Recommended)” tab and works identically in WSL. Claude Code installed this way downloads new versions automatically in the background. If you prefer to use a package manager, Homebrew and WinGet are also official options; however, according to the documentation, these installations do not update themselves by default, so you obtain new versions through the package manager:

# Homebrew – stable kanalı; varsayılan olarak kendini güncellemez
brew install --cask claude-code

# WinGet (Windows) – varsayılan olarak kendini güncellemez
winget install Anthropic.ClaudeCode

If you receive HTML or a 403 instead of the script

The syntax error near unexpected token '<' message indicates that an HTML page was sent to bash instead of a script; curl: (22) The requested URL returned error: 403 means the server rejected the download. The installation troubleshooting documentation (checked on October 3, 2026) attributes both cases to the installer URL not returning a script. If the page says App unavailable in region, according to the documentation, the request appears to come from a country where Claude Code is not offered. Since Türkiye is on the list, if you get this message from Türkiye, your traffic is most likely being routed through a VPN or proxy to another country; turn it off and try again. A 403 with no content usually comes from a corporate proxy or firewall: try another network or ask your IT team to allow this address.

Installation with npm: Node.js 22 required

The npm method has not been removed; it is still covered in the official documentation, but the package now requires Node.js 22 or later. If node -v shows an older version, npm will not stop the installation; it will only print an EBADENGINE warning. Still, the best approach is to upgrade Node.js to version 22 or later from nodejs.org.

Terminal
node -v                                    # v22 veya üstü olmalı
npm install -g @anthropic-ai/claude-code   # sudo kullanmadan

# güncelleme: npm update -g değil, @latest
npm install -g @anthropic-ai/claude-code@latest

Three habits cause problems with this method:

  • Installing with sudo. The documentation warns about permission issues and security risks with sudo npm install -g.
  • Updating with npm update -g. The correct command is npm install -g @anthropic-ai/claude-code@latest.
  • Disabling optional dependencies. The actual executable is provided as an optional dependency through a platform-specific @anthropic-ai/claude-code-* package. The --omit=optional flag or optional=false in .npmrc skips this package: installation finishes without errors, but when claude starts on macOS and Linux, it reports claude native binary not installed.

Did the installation work?

Whichever method you chose, open a new terminal and run these two commands:

claude --version   # sürüm numarasını yazar, ör. 2.1.211 (Claude Code)
claude doctor      # oturum açmadan kurulum ve ayar teşhisi

If claude --version prints a version number, the program is in place. claude doctor lists the installation status and problems in the configuration files without signing in; if something goes wrong in the next step, this helps you determine whether the problem is with the installation or the configuration.

Without a subscription: configure an API key for Claude Code

When claude starts for the first time, it asks for authentication. If you have a Claude plan, sign in and continue; if you do not have a plan or prefer to pay for what you use instead of a fixed monthly fee, run Claude Code with an API key. The difference between the two methods:

CriterionSign in with a Claude accountKunavo API key
RequirementsA Pro, Max, Team, Enterprise, or Console account. The free Claude.ai plan is not sufficient.A sk-kn-… key and several environment variables. No subscription or sign-in.
CostPro costs $20 per month; with annual billing, it is $17 per month, or $200 upfront. Max starts at $100 per month. Taxes excluded (Claude pricing page, checked on October 3, 2026).Based on tokens used, deducted from a prepaid balance. Minimum 10 USD; no monthly fee, and the balance does not expire.
Payment methodPlans purchased through its website can only be paid for by credit or debit card (Claude Paid Plan Billing FAQs, checked on October 3, 2026).Card (Visa, Mastercard), Apple Pay, Google Pay, or Link. No installments, Papara, or bank transfer/EFT.
Unavailable features—Remote Control and voice dictation. No invoice is issued (including e-Arşiv).

The key-based method is a configuration anticipated by Anthropic: ANTHROPIC_BASE_URL is Claude Code's built-in variable, and the official gateway documentation describes running Claude Code behind a proxy or gateway with this variable. You do not install a plugin, patch, or modified client. On macOS and Linux, add the six lines to your shell file (~/.zshrc or ~/.bashrc):

~/.zshrc
export ANTHROPIC_BASE_URL=https://api.kunavo.com   # yalnızca alan adı, /v1 yok
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-5

Before making the settings persistent on Windows, test them in a single PowerShell session; the variables disappear when the window closes:

PowerShell
# Yalnızca bu PowerShell penceresinde geçerli – pencereyi kapatınca kaybolur
$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"
claude

If you want them to apply in every terminal, write the same values in the env block of the user settings file. According to the documentation, this file applies to all your projects; on Windows, it is located at %USERPROFILE%\.claude\settings.json. The %APPDATA%\Claude\settings.json path that appears in some AI-generated summaries is not the path in the official documentation. If the file already exists, add only the env block without deleting its contents:

~/.claude/settings.json
{
  "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"
  }
}

Six variables and important considerations

VariablePurposeImportant
ANTHROPIC_BASE_URLServer to which requests are sentOnly https://api.kunavo.com. Claude Code adds the /v1/messages path itself; if you write /v1 at the end, the request goes to /v1/v1/messages and returns 404.
ANTHROPIC_AUTH_TOKENKey beginning with sk-kn-Sent with the Authorization: Bearer header and takes effect immediately (details below).
ANTHROPIC_MODELPrimary modelHere, Claude Sonnet 5, that is, claude-sonnet-5. The name must match the one in Kunavo's model list exactly.
ANTHROPIC_DEFAULT_OPUS_MODELModel for the opus aliasclaude-opus-5-5, that is, Claude Opus 5.5. This model requires Claude Code v2.1.280 or later; if you are on an older version, run claude update. If it is not set, the alias falls back to Anthropic's newest Opus model.
ANTHROPIC_DEFAULT_SONNET_MODELModel for the sonnet aliasclaude-sonnet-5. If it is not set, the alias requests Sonnet 5.5, which Kunavo does not offer; the execution phase of /model sonnet and the model: sonnet subagents of opusplan receive 404 responses.
ANTHROPIC_DEFAULT_HAIKU_MODELThe haiku alias and background tasksclaude-haiku-4-5. According to the documentation, background functions also run with this model. If it is not set, the alias requests an ID that Kunavo does not offer (Haiku 5.5 from v2.1.293 onward); /model haiku and subagents configured with model: haiku receive 404s.

ANTHROPIC_AUTH_TOKEN or ANTHROPIC_API_KEY? The Kunavo key accepts both headers: Authorization: Bearer and x-api-key. The difference is in Claude Code's behavior. ANTHROPIC_AUTH_TOKEN is sent in the Bearer header and works without asking questions. ANTHROPIC_API_KEY is sent in the x-api-key header and, in interactive mode, asks for your approval the first time; if you answer “no” to that prompt, the key is silently ignored, and to re-enable it you must navigate to /config → Use custom API key. This is why this guide uses ANTHROPIC_AUTH_TOKEN.

Why pin the models? According to the model configuration documentation (checked on October 3, 2026), unless you configure anything, Claude Code using the API requests Opus 5.5 as the default model and for the opus alias, and Sonnet 5.5 for the sonnet alias; these aliases shift as Anthropic releases new models. As of October 3, 2026, Kunavo does not offer Sonnet 5.5, so an unpinned sonnet request returns 404. Claude Opus 5.5 works on Kunavo, but its rate ($2.80 / $14.00) is higher than the rate for Claude Sonnet 5 ($1.40 / $7.00); if you do not pin it, you may unknowingly use the more expensive model. That is why the block above includes the ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-5 line: /model sonnet, the execution phase of opusplan, and subagents set to model: sonnet will use Claude Sonnet 5 instead of Sonnet 5.5. We pin the opus alias to the Claude Opus 5.5 model (claude-opus-5-5); this model requires Claude Code v2.1.280 or later, so if you have an older version, run claude update.

Kunavo rates (input / output, per 1 million tokens): Claude Sonnet 5 $1.40 / $7.00 (Anthropic rate: $2.00 / $10.00); Claude Opus 5.5 $2.80 / $14.00; Claude Haiku 4.5, which handles background tasks, $0.70 / $3.50.

Where should the key not be written, and which value takes precedence?

The project's own .claude/settings.json file is the wrong place for a key: the gateway documentation points out that this file is committed to the repository, so the key goes to everyone who clones it. If the same variable is defined both in the shell and in the settings file's env block, the settings file generally takes effect; if a value you changed in the shell has no effect, check there first. The settings file's model key is an exception to this rule: the ANTHROPIC_MODEL variable takes precedence, and model is used only if the variable is absent. In the VS Code extension, enter the variables in the claudeCode.environmentVariables field in VS Code user settings.

First launch and /status check

If the variables are in the right place, the claude command opens the session without showing the sign-in screen; the gateway documentation (checked: October 3, 2026) describes this behavior when ANTHROPIC_AUTH_TOKEN is configured. If the sign-in screen appears, Claude Code did not see the key. A common cause is that the key exists only in project settings: in interactive mode, the env block in the project's .claude/settings.json or .claude/settings.local.json file is read after the first-run wizard and the folder trust prompt have been completed. The key must be in a location read before the wizard: export in the shell, the user-level ~/.claude/settings.json, or managed settings.

When the session opens, enter /status. Two lines provide enough information:

  • Anthropic base URL: appears only when a custom address is configured and should say https://api.kunavo.com. If the line is absent, ANTHROPIC_BASE_URL has not reached the session.
  • Auth token: if the ANTHROPIC_AUTH_TOKEN name appears next to it, requests are being sent with the API key. If instead there is a Login method line showing your claude.ai account, Claude Code is still using the saved login; sign out, open a new terminal, and check where you wrote the variables.

Testing without opening Claude Code

You can also test the address and key independently of Claude Code. The method in the official documentation sends a request for one output token; a very small amount is deducted from your balance. The command reads variables from the current shell, so if the key exists only in a settings file, run export in this terminal first. If the response starts with {"id":"msg_, the address and key are valid; 401 indicates that the key was rejected.

Terminal
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": "."}]}'

The PowerShell equivalent is below; on success, the response contains an id field beginning with msg_:

PowerShell
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": "."}]}'

What changes when you use an API key?

  • Remote Control and voice dictation are unavailable. According to the documentation, both require a claude.ai identity and do not work when ANTHROPIC_API_KEY, ANTHROPIC_AUTH_TOKEN, or an apiKeyHelper is active. Starting with v2.1.196, Remote Control is also disabled when ANTHROPIC_BASE_URL points to a server other than Anthropic.
  • /fast appears disabled. According to the documentation, when only a bearer token is configured, Claude Code does not ask about the status of fast mode and assumes it is disabled.
  • MCP tool search is disabled by default. The MCP documentation (checked on October 3, 2026) lists a custom ANTHROPIC_BASE_URL setting among configurations where tool search is not used.
  • /context figures are approximate. Kunavo does not offer the /v1/messages/count_tokens endpoint; in that case, Claude Code estimates context usage from the character count, according to the gateway compatibility documentation (checked on October 3, 2026).

The integration's technical details are in the English Claude Code integration documentation; the English version of this guide is Install Claude Code.

Payment from Türkiye: card, Apple Pay, Google Pay, or Link

What you pay for here is not a subscription, but prepaid API balance that Claude Code consumes per token. Pro and Max plans purchased from Anthropic's website can only be paid for by credit or debit card (Claude Paid Plan Billing FAQs, checked on October 3, 2026). A top-up to Kunavo does not replace or pay for those plans. Steps:

  1. Sign up for Kunavo. An email address or Google account is sufficient; card details are not requested during sign-up.
  2. On the Billing page, select the amount. The minimum is 10 USD; there is no subscription or monthly fee. Higher amounts receive a bonus: Top up 100 USD and get 110 USD in credit, Top up 1.000 USD and get 1.200 USD in credit, and Top up 5.000 USD and get 6.250 USD in credit.
  3. The Stripe payment page opens. Choose a card (Visa or Mastercard), Apple Pay, Google Pay, or Link; Apple Pay and Google Pay are listed only on devices and in browsers that support them.
  4. Then, on the API Keys page, generate a key beginning with sk-kn-. The key is shown only once; copy it and immediately enter it as the value of ANTHROPIC_AUTH_TOKEN.

Does the amount appear in Turkish lira or dollars?

Kunavo prices are in dollars; Stripe decides which currency to display on the payment page, and the amount may also be shown in Turkish lira. Stripe's Adaptive Pricing documentation (checked on October 3, 2026) lists Türkiye among the supported markets and states that this conversion adds a 2–4% fee, paid by the buyer, to the exchange rate. If you choose to pay in dollars, this fee does not apply; your card issuer will then apply its own exchange rate and any foreign transaction fee. Whichever currency is used, you will see the exact amount on the payment page before confirming.

Installments, Papara, bank transfer, and Troy

  • There is no installment option; payment is charged in one transaction. Purchases made with Turkish cards on overseas websites cannot be split into installments afterward either (enuygunfinans.com, checked on October 3, 2026).
  • Papara, bank transfer/EFT, and PayPal are unavailable. These options do not appear on the payment page.
  • Troy: Troy is not listed on Stripe's supported card brands page (checked on October 3, 2026). Pay with a card bearing the Visa or Mastercard logo.
  • No invoice. Kunavo does not issue any invoice, including e-Arşiv; a record of your top-ups remains on the Billing page.

If your card is declined, first check your bank's mobile app: the card must be enabled for online purchases and international transactions. Automatic top-ups can be set up only with a saved card or Link. The balance does not expire, and failed requests are not charged. Rates for all models are in the Claude API pricing guide.

How much does a work session cost?

With the key-based method, the cost depends entirely on the number of tokens. Claude Code sends the conversation context from the beginning with every request; when the unchanged beginning of the context is read from the cache, it is charged at a much lower rate. The table below is a calculation based on explicit assumptions, not a measurement, and should not be read as an upper limit. Assumptions:

  • 40,000 input tokens per request; 36,000 of these (%90) are read from the cache, and the remaining 4,000 are written to the cache;
  • 1,000 output tokens per request;
  • 50 requests in the session; the Claude Haiku 4.5 background calls are not included;
  • For Claude Sonnet 5, reading from the cache costs %10 of the input rate, while writing to the cache costs 1.25 times the input rate. Each model in the table was calculated using its own rates.
ModelOne request50 requests50 requests, without cache hits
Claude Sonnet 5$0.019$0.95$3.15
Claude Opus 5.5$0.033$1.65$6.30

The actual amount depends on the length of the context, cache hits, the length of responses, and whether you clear the conversation when changing topics. The official costs documentation (checked on October 3, 2026) adds two details: Claude Code consumes a small amount of tokens in the background even when you are not typing, usually less than $0.04 per session; with an API key, the cache lifetime defaults to five minutes, so the first message after a longer break misses the cache and the entire context is processed again. When changing topics, /clear helps; for long sessions, /compact reduces this cost.

All rates are on the pricing page. You can estimate your own usage with the Claude token cost calculator (in English). The Claude Code pricing guide addresses whether a subscription or the API is more suitable.

Error messages and solutions

MessageCause and solution
The token '&&' is not a valid statement separatorA CMD command was pasted into PowerShell. Use the irm … | iex command.
“'irm' is not recognized as an internal or external command, operable program or batch file.” (English: 'irm' is not recognized as an internal or external command)A PowerShell command was pasted into CMD. Use the install.cmd command.
A parameter cannot be found that matches parameter name 'fsSL', 'bash' is not recognized as the name of a cmdletA macOS/Linux command was run on Windows. Use the PowerShell command.
syntax error near unexpected token '<', 403, App unavailable in regionThe installer URL returned an HTML page or an error code. Check your VPN, proxy, and firewall; Türkiye is among the supported countries.
command not found: claude, 'claude' is not recognizedThe installation directory is not in PATH. Open a new terminal; on Windows, add the path using the PowerShell commands above.
EBADENGINE warningThe Node.js version is older than 22. Installation does not stop, but updating Node.js is recommended.
claude native binary not installed (macOS, Linux)npm skipped optional dependencies (--omit=optional or optional=false) or installation scripts (--ignore-scripts). Remove these settings and reinstall.
npm.ps1 cannot be loadedThe PowerShell execution policy is blocking the npm script. Run the Set-ExecutionPolicy command or use the native installer.
Claude Code does not support 32-bit WindowsPowerShell (x86) is open. Open the regular “Windows PowerShell.”
Sign-in screen even though the key is configuredClaude Code did not read the key. Write the variables not only in the project settings but also in the shell or the ~/.claude/settings.json file, then open a new terminal.
401The key was rejected. Check that the sk-kn- key was copied completely and without spaces, that it was not deleted on the /app/keys page, and that it is in ANTHROPIC_AUTH_TOKEN.
404ANTHROPIC_BASE_URL ends with /v1 or the requested model is not available on Kunavo; for example, the four variables that pin the models were not configured and the sonnet alias requests Sonnet 5.5.

Limitations you should know

  • Kunavo does not issue invoices; e-Arşiv is also unavailable.
  • Payment is charged in a single transaction: no installments, Papara, or bank transfer/EFT. A saved card or Link is required for automatic top-ups.
  • This is not a Claude Pro or Max subscription; it is an API billed per token. With the key-based method, Remote Control and voice dictation do not work, /fast appears disabled, and MCP tool search is disabled by default.
  • As of October 3, 2026, Kunavo does not offer Sonnet 5.5; if the models are not pinned, the sonnet alias returns 404.
  • Claude Code's official documentation and the Kunavo integration documentation are available only in English (checked: October 3, 2026).

Frequently asked questions

How do you install Claude Code?

The easiest option is the native installer recommended by Anthropic in its documentation. On macOS, Linux, and WSL, run curl -fsSL https://claude.ai/install.sh | bash. On Windows, use irm https://claude.ai/install.ps1 | iex in PowerShell, and in Command Prompt (CMD), use curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd. Then open a new terminal and check the installation with claude --version. The native installation updates itself in the background. If you want to install with npm, Node.js 22 or later is required; do not use sudo, and update with npm install -g @anthropic-ai/claude-code@latest.

How do you install Claude Code on Windows? Should I run it as an administrator? Is WSL or Git required?

Administrator privileges are not required; the official documentation says so explicitly. WSL and Git are not required either: simply run the installation line for PowerShell or CMD in a regular terminal. Git for Windows is optional but recommended; if installed, Claude Code runs commands with Git Bash, otherwise it uses PowerShell. If you need Linux tools or need to run commands in a sandbox, choose WSL 2; then install Claude Code in the WSL terminal and start it there. “Windows PowerShell (x86)” in the Start menu is a 32-bit process and produces a 32-bit Windows error even on a 64-bit computer; do not open it.

Is Claude Code free? Can it be used without a subscription?

The free Claude.ai plan does not include Claude Code; signing in with a Claude account requires a Pro, Max, Team, Enterprise, or Console account. You can also use it without a subscription: when you set ANTHROPIC_BASE_URL=https://api.kunavo.com and ANTHROPIC_AUTH_TOKEN with your API key, Claude Code opens without showing a sign-in screen and pays for the tokens it uses from your prepaid Kunavo balance. There is no monthly fee. In this mode, Remote Control and voice dictation do not work because both require a claude.ai identity.

Where do you enter Claude Code's API key? Should ANTHROPIC_BASE_URL end with /v1? AUTH_TOKEN or API_KEY?

It must not end with /v1. Claude Code adds the /v1/messages path itself; if the address ends in /v1, the request goes to /v1/v1/messages and returns 404. Write the variables in your shell file (~/.zshrc, ~/.bashrc, or $PROFILE in PowerShell) or in the env block of the user settings file ~/.claude/settings.json; on Windows, the path is %USERPROFILE%\.claude\settings.json, not %APPDATA%. Never write them to the project's .claude/settings.json file, as that file is committed to the repository. Kunavo reads its key from both the Authorization: Bearer and x-api-key headers, so both variables work. We recommend ANTHROPIC_AUTH_TOKEN because it takes effect immediately; ANTHROPIC_API_KEY requires one-time approval in interactive mode and is silently ignored if rejected (to enable it again: /config → Use custom API key).

Why should ANTHROPIC_MODEL, ANTHROPIC_DEFAULT_OPUS_MODEL, and ANTHROPIC_DEFAULT_SONNET_MODEL be configured?

If you do not configure them, Claude Code uses aliases that change along with Anthropic's new models. According to the official model configuration documentation (checked: October 3, 2026), the default model 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 (as of October 3, 2026), so a sonnet request returns 404: /model sonnet, the execution phase of opusplan, and subagents configured with model: sonnet do not work. The default Opus 5.5 does work, but is more expensive than Claude Sonnet 5. Once fixed, the main model and sonnet alias are claude-sonnet-5, the opus alias is claude-opus-5-5, and the haiku alias and background tasks use claude-haiku-4-5; you know which model is responding and which rate you are paying. Opus 5.5 requires Claude Code v2.1.280 or later; if you are on an older version, run claude update.

How can I check with /status that Claude Code is using the API key?

In the Claude Code session, enter /status. The “Anthropic base URL” line should show https://api.kunavo.com, and the “Auth token” line should contain the name ANTHROPIC_AUTH_TOKEN. If you see a “Login method” line with a claude.ai account instead, the variables were not read: close the session, open a new terminal, and check where you wrote the variables.

How do I pay from Turkey? Is the price in TRY or dollars?

The Stripe checkout offers card (Visa, Mastercard), Apple Pay, Google Pay, and Link. Prices are in dollars; Stripe may display the amount in lira, in which case the exchange rate includes the 2–4% conversion fee paid by the buyer. If you choose to pay in dollars, there is no such fee, but your bank's own exchange rate and fees apply. The minimum top-up is 10 USD, there is no monthly fee, and the balance does not expire. Automatic top-up works only with a saved card or Link. Kunavo does not issue invoices (including e-Arşiv); your top-up history appears on the Billing page.

Can I pay in installments, with Papara, by bank transfer/EFT, or with a Troy card? Does this payment cover Claude Pro?

No. Kunavo does not offer installments; Papara, bank transfer/EFT, and PayPal are also unavailable. Troy is not among the card brands listed in Stripe's documentation; use a card with a Visa or Mastercard logo. If the card is declined, check in your bank's app whether online purchases and international transactions are enabled. This top-up goes only to your Kunavo API balance; it does not pay for a Claude Pro or Max subscription. Subscriptions purchased from Anthropic's website can be paid for only with a credit or debit card.