Claude Code Says “App Unavailable in Region”: What It Means

Marcus
Marcus
Proxy Network Analyst

The exact Claude Code message “App unavailable in region” is not the same as a generic terminal timeout, an OAuth callback failure, or a 403 after login. Anthropic's current Claude Code troubleshooting documentation treats this message as a regional availability result, so the first task is to confirm that this is the error you actually received.

Do not broaden the diagnosis too early. Record where the message appeared, the exact text, the Claude Code version or installer step, and whether the terminal is local, WSL, SSH, a container, or a managed workstation. Those details help separate a real region result from the neighboring login and network errors covered by the other Claude troubleshooting pages.

Quick Answer

If Claude Code shows the exact message “App unavailable in region”, treat it as a Claude Code regional-availability result and check Anthropic's current supported-country guidance. Do not keep retrying OAuth, switching shells, or changing network routes as if it were a normal login error. If an installer returns HTML but the page does not contain that region message, the failure may instead involve network routing, a temporary service issue, or the installation path.

Key Takeaways
  • “App unavailable in region” is a specific Claude Code availability message, not a generic authentication error.
  • Use Anthropic's supported-country page as the policy source, then diagnose the CLI or installer symptom separately.
  • If claude.ai login fails, diagnose the web login separately.
  • If Claude Code shows OAuth, invalid-code, callback, or 403 errors, use the Claude Code login troubleshooting path instead.
  • If an installer returns HTML without the region message, network routing or a temporary service problem can still be relevant.
  • A proxy or alternate route can provide diagnostic evidence, but it cannot make an officially unsupported region supported.
Verification Note

Last verified: September 2026. Regional availability, installer behavior, and supported installation methods can change. The checks below use Anthropic's current documentation and commands that can be reproduced without executing a downloaded installer during diagnosis.

How This Guide Was Verified
  • Policy: checked against Anthropic's current supported-country page.
  • Product behavior: checked against current Claude Code installation, error, and network documentation.
  • Real-world failure patterns: compared with public reports in Anthropic's official anthropics/claude-code GitHub repository.
  • Reproducibility: the installer checks below save the response for inspection instead of piping downloaded content directly into a shell.

What the “App Unavailable in Region” Message Means

Anthropic's current Claude Code installation and login troubleshooting lists App unavailable in region as a distinct error and states that Claude Code is not available in the user's country in that case. That makes the exact wording more important than a broad assumption such as “Claude Code cannot connect.”

The same troubleshooting page also documents a related but different installation symptom: the install command can return HTML instead of an installer script. If that HTML page contains “App unavailable in region”, it is a regional-availability result. If it does not, Anthropic notes that network issues, regional routing, or a temporary service disruption may be involved instead.

Observed result Primary interpretation Next path
App unavailable in region Claude Code regional availability Check current supported-country policy
Installer returns HTML containing the region message Regional availability surfaced during installation Do not treat it as a shell syntax problem
Installer returns HTML without the region message Could be installation delivery, routing, or temporary service trouble Check network and alternative install method
OAuth error, invalid code, callback failure, or 403 Authentication / authorization Use Claude Code login troubleshooting
claude.ai browser login fails Claude web account / session Use Claude web login troubleshooting
Table 1: The exact Claude Code message determines whether the problem is regional availability, installation delivery, or authentication.
Claude App unavailable message stating Claude is only available in certain regions
Figure 1: An explicit App unavailable message is direct evidence of a Claude regional-availability result.

Confirm Where the Message Appeared

Record the surface that produced the message before changing settings. The text may appear while running an install command, launching Claude Code, or opening an HTML response returned by the installer. A message shown in a browser login page, API response, or unrelated desktop app belongs to a different diagnostic surface.

For a local-environment check, Anthropic's current Claude Code getting-started guide documents the supported installation paths and the basic claude --version verification step. If that check fails, fix the installation first; a missing or broken binary is not evidence of a regional restriction.

For platform requirements and supported installation methods, Anthropic's official Claude Code advanced setup guide documents supported operating systems, shell requirements, native installation, Homebrew, WinGet, and installation verification. Use it to confirm that the local environment itself is supported before treating a setup symptom as a region error.

If Claude Code itself launches and then fails during browser authorization, returns an invalid OAuth code, waits after browser approval, or shows a 403, use the separate Claude Code login and OAuth troubleshooting guide. Those errors are authentication problems, not evidence that the country is unsupported.

If the problem occurs before Claude Code authorization because claude.ai itself cannot sign in, treat it as a browser-account problem rather than a Claude Code region result. Browser sessions, email links, verification codes, and Google sign-in belong to a different diagnostic path.

Check Country Availability Without Repeating the Main Guide

Use Anthropic's current supported countries and regions page as the policy reference. If you need a broader explanation of Claude country availability beyond the CLI symptom, see IPWeb's Claude country availability guide.

The useful distinction here is narrower: Claude Code produced a region-specific error inside a CLI or installation workflow. Once current official availability explains that exact message, further shell, OAuth, DNS, or proxy changes are no longer the primary diagnosis.

Claude Code Region Error Record
  • Exact error text, including whether it says App unavailable in region.
  • Where it appeared: installer response, terminal launch, browser page, or another surface.
  • Claude Code version if the CLI is already installed.
  • Operating system and whether the shell is local, WSL, SSH, containerized, or managed.
  • Account type only if the product has already reached an authenticated step.
  • Timestamp and current official availability result.

Verify the Result With Reproducible Checks

Use an evidence hierarchy instead of changing several variables at once. The strongest evidence is the exact Claude Code message plus Anthropic's current country policy. Installer headers, terminal diagnostics, and network details are supporting evidence that help explain where the failure occurred; they do not override an official availability restriction.

Evidence What It Can Establish What It Cannot Establish
Exact App unavailable in region text Claude Code surfaced a region-specific availability result Why a country is unsupported or when policy will change
Anthropic supported-country page Current official availability policy The health of your local shell, proxy, DNS, or TLS path
Installer response captured without execution Whether the install endpoint returned a script, HTML, or a region message Whether OAuth would succeed later
claude doctor and claude --version Local installation and environment diagnostics when Claude Code is already installed Official country eligibility
Visible IP country, ISP, ASN, and route Network-path context when the error is generic rather than region-specific A change to Anthropic's supported-region policy
Table 2: Region troubleshooting is more reliable when policy evidence, installer evidence, and local diagnostics are kept separate.

Windows: capture the installer response without running it

On Windows, use curl.exe explicitly so PowerShell aliases do not change the command's behavior. This saves the response to a text file for inspection instead of piping it into PowerShell.

curl.exe -L -D claude-install-headers.txt ^
  -o claude-install-response.txt ^
  https://claude.ai/install.ps1

findstr /i /c:"App unavailable in region" claude-install-response.txt

macOS or Linux: capture the installer response without running it

curl -L -D claude-install-headers.txt \
  -o claude-install-response.txt \
  https://claude.ai/install.sh

grep -i "App unavailable in region" claude-install-response.txt

If Claude Code is already installed, verify the binary and collect its built-in diagnostic report before reinstalling:

claude --version
claude doctor

Anthropic's current installation and authentication troubleshooting guide recommends claude doctor for a diagnostic report when normal installation or authentication checks do not resolve the issue. Do not paste API keys, OAuth codes, session cookies, or other credentials into a public issue or support screenshot.

Two Real-World Cases That Clarify the Diagnosis

Public bug reports in Anthropic's own Claude Code repository show why the exact response matters more than a generic country note.

Case A: the installer returned an actual region page

In Anthropic Claude Code issue #17813, the official macOS install command failed with a shell syntax error because the URL returned HTML instead of a shell script. The captured HTML identified the page as App unavailable in region | Claude and used the canonical region-unavailable URL. That is strong evidence that the installer failure was caused by a region response, not by Bash syntax.

Case B: a country warning appeared even though the user was in a supported country

In Anthropic Claude Code issue #62971, the CLI showed an Unable to connect to Anthropic services message that included the standard country-availability note, while the reporter was in the United States and direct curl connectivity to the API succeeded. The report associated the failure with conflicting network routes left by VPN software. The lesson is that a generic connection screen mentioning supported countries is not equivalent to the exact App unavailable in region page.

Practical Inference

Exact region page + official country policy = strong regional-availability evidence. A generic connection error that merely mentions country availability is weaker evidence and should be separated from DNS, routing, proxy, TLS, and local network problems.

Separate Region Errors From Login and OAuth Errors

A regional availability error should not absorb every Claude Code authentication symptom. Browser authorization, terminal callback, expired or truncated login codes, subscription roles, Console roles, and credential precedence are separate mechanisms. If the terminal says OAuth error: Invalid code, 403 Forbidden, or waits after browser approval, diagnose authentication rather than regional availability.

Anthropic's official Claude Code error reference is also useful when the symptom is an HTTP error or connection failure rather than the exact regional-availability message. It separates request, authentication, rate-limit, overload, and connection errors from installation-region results.

Claude Code terminal showing OAuth error Invalid code and prompting the user to retry
Figure 2: An OAuth Invalid code error belongs to Claude Code authentication, not regional availability.

The practical distinction is simple: an explicit region page points to availability policy, while OAuth and 403 messages point to authentication or authorization. Treating them as the same failure leads to unnecessary shell and network changes.

When Network Evidence Still Matters

Network evidence has a narrow role. Anthropic notes that when an installer returns HTML without the explicit region message, network issues, regional routing, or a temporary service disruption may be responsible. In that case, keep the shell and install method constant while checking whether the request reaches the expected endpoint. Anthropic's official Claude Code network configuration guide documents supported proxy environment variables, certificate handling, and the network destinations that Claude Code needs to reach.

Claude Code terminal showing Unable to connect to Anthropic services and a possible country availability notice
Figure 3: A connection failure can mention country availability without proving that the exact regional-availability error occurred.

For a generic connection failure or 5xx response, check the official Claude Status page before changing the local environment. A documented service incident is direct evidence of a platform-side problem; a healthy status page only means you should continue with local or network-path diagnostics.

If a proxy, VPN, corporate gateway, or secure web gateway is already part of the environment, record that fact but do not change routes merely because Claude Code displays an official region error. Anthropic's current network configuration documentation explains supported proxy environment variables, certificate handling, and the destinations Claude Code needs to reach.

If Anthropic currently supports your location but Claude Code still reports a regional error, compare the visible IP country, ISP, ASN, and network path before treating it as an account problem. Geolocation databases can disagree, so compare more than one lookup source and keep Anthropic's supported-country policy as the controlling reference.

Know When to Stop Troubleshooting

Stop changing shells, browsers, DNS settings, or network routes when the exact error and current official availability guidance already explain the result. An alternative install method can help when the installer delivery path is broken, but it does not change an official region restriction.

If the installer returned generic HTML rather than the region message, Anthropic suggests retrying after a short wait or using an alternative installation method such as Homebrew on macOS or WinGet on Windows; the current commands are maintained in Anthropic's official setup documentation. If the exact region message persists even though the current official country list appears to support your location, preserve the error, timestamp, environment, and redacted network context before escalating to Anthropic support.

Frequently Asked Questions

Does “App unavailable in region” mean my Claude Code installation is broken?

Not by itself. Anthropic's current Claude Code troubleshooting documentation treats that exact message as a regional availability result. If the installer returns HTML but does not contain that message, then installation delivery, routing, or a temporary service problem may be more relevant.

Can Claude web work while Claude Code shows a region error?

Do not infer Claude Code availability only from a working web session. Treat the exact Claude Code message and current Anthropic availability guidance as the relevant evidence for the CLI workflow. Keep ordinary claude.ai login problems in the separate web-login troubleshooting path.

What if the Claude Code installer returns HTML instead of a script?

Read the returned page before assuming the shell command is wrong. If the page says App unavailable in region, Anthropic classifies it as a country-availability result. If it does not, network issues, regional routing, or a temporary service disruption may be involved.

Should I try Homebrew or WinGet when the installer fails?

Anthropic documents Homebrew on macOS and WinGet on Windows as alternative installation methods when the normal install path returns generic HTML or otherwise fails. An alternative installer does not change an official App unavailable in region result.

Can a VPN or proxy make Claude Code available in an unsupported region?

No network route should be presented as a way to change Anthropic's availability policy. A route can help document network behavior when the failure is not an official region message, but it cannot turn an unsupported location into a supported one.

What if my IP lookup shows the wrong country?

Compare the visible IP, country, ISP, and ASN across more than one source because geolocation databases can disagree. Treat that as network evidence only. If Anthropic's exact region message and current availability policy already explain the result, an IP lookup does not override that policy.

What if Claude Code shows OAuth error, invalid code, or 403 instead?

Those belong to Claude Code authentication, not regional availability. Use the dedicated Claude Code login troubleshooting path for browser OAuth, terminal callbacks, invalid codes, roles, credential precedence, and 403 errors.

Limitations of This Diagnosis

This guide can distinguish documented region responses from neighboring install, authentication, and network failures, but it cannot determine why Anthropic supports or excludes a country, predict future policy changes, or verify account-level enforcement that is not exposed in the error message. When the evidence conflicts, preserve the raw response and use Anthropic support as the final escalation path.

Final Thoughts

Start with the strongest evidence: the exact error text and Anthropic's current supported-country policy. If both point to regional availability, stop treating the problem as a normal OAuth, shell, or network failure.

If the message is different, capture the installer response without executing it, verify the local installation with claude --version and claude doctor, check the official service status, and then follow the matching authentication or network path. This produces a cleaner diagnosis and a more useful support record than changing several variables at once.

About the author
View all articles
Marcus
Marcus
Proxy Network Analyst

Marcus is a network infrastructure analyst specializing in proxy configuration, IP routing, browser connectivity, and network troubleshooting. His work focuses on diagnosing HTTP/SOCKS proxy connections, authentication failures, DNS behavior, firewall rules, and IP routing across browser and automation environments.

Service areas
Proxy Testing , IP Diagnostics,Network Troubleshooting & Reliability

You may be interested in

Perplexity not available in your country cover showing a region unavailable message and checks for account, service status, and network evidence

Why Perplexity Says It Is Not Available in Your Country

A Perplexity country or region warning looks like a network problem, but the wording alone does not tell you whether the entire service, one feature, one account context, or one network path is responsible. The useful question is not “Which IP should I try next?” It is “What exactly failed, on which Perplexity surface, and what changed immediately before the failure?” That distinction matters because Perplexity Search, mobile apps, organization accounts, the API Console, and individual features can have different access conditions. A route test can reveal a network difference, but it cannot prove what Perplexity’s internal eligibility logic is...

Marcus

Marcus

Proxy Network Analyst

Google Search Operators for Better SERP Checks

Google Search Operators for Better SERP Checks

Google search engine syntax includes operators and query patterns that make a search more specific, such as quotation marks for exact phrases, site: for a domain or URL prefix, minus signs for exclusions, before: and after: for date limits, and filetype: for document types. Used well, these operators help SEO teams, analysts, and developers answer a narrower search question before they compare Google results or move to a structured SERP workflow. The important distinction is that search operators control the query, not the entire result environment. They can make a manual check clearer and easier to document, but they do...

Ryan

Ryan

IP Proxy Research Team

Claude Code Proxy Setup guide showing HTTPS_PROXY, HTTP_PROXY, NO_PROXY, TLS, OAuth, and a secure proxy connection workflow

How to Set Up a Proxy for Claude Code

Claude Code does not automatically inherit a browser extension or browser-only proxy. The CLI reads its own network configuration, while browser authorization can run in a different process or even on a different host. A reliable setup therefore starts with the terminal process itself, then verifies DNS, TLS, and OAuth behavior separately. Use one stable endpoint for the first test and keep credentials out of reusable commands, screenshots, and support tickets. Once the terminal path is confirmed, you can compare another approved route without mixing proxy setup with account, region, or OAuth problems. Quick Answer Set HTTPS_PROXY or HTTP_PROXY before...

Clark

Clark

IPWeb Technical Researcher

Ready to scale your data operations?
Join 10,000+ teams using IPWeb to power their web data collection. Start free today.

Strictly anti-abuse

Fraud, automated operation, and unauthorized use are prohibited.

Enterprise-level services

For legitimate commercial and technical use cases only

Risk control and restrictions

Abnormal behavior may trigger service restrictions or termination.

Compliance data use

Data acquisition and use must comply with relevant regulations.

Privacy protection first

The collection or misuse of sensitive personal information is strictly prohibited.

All services are subject to《the Usage Policy》