US home broadband IP One-tap connect · no VPS needed Learn more Ad opens in a new tab

Claude Code / Codex exit check

A clean browser doesn’t mean Claude Code is clean. The terminal’s exit needs its own check.
Look up an IP

Run this in your terminal:

curl -sL ipjudge.org/en/cc | bash
Read-only: it installs, changes and uploads nothing. It asks api.anthropic.com, claude.ai, api.openai.com and chatgpt.com which IP they see, compares with the no-proxy exit, and checks IPv6 and the time zone. Below is the browser-side check — compare its “IP used for Claude”.

CheckingRuns only between your browser and this site. No sign-in.

Checking your network exit…

Start hereThe first suggested action appears when checks finish.
Network exit Checking Platform reach Checking Browser & connection Checking
Looking up your IP…

Can you use these AI platforms?

By each company’s official regions + the exit you actually reach them from
ClaudeAnthropic
Checking
ChatGPTOpenAI
Checking
GeminiGoogle
Checking

How to fix

Most serious first · what happened → how to fix it

When all checks finish, issues and fixes are listed here, most serious first.

Who sees which of your IPs

Grouped by exit

Shown when the checks finish.

IP details

The exit that opened this site

Looking up…

Browser and connection checks

13 checks · tap for details · run only between your browser and our probe
Show all 13 checks
IP used for Claude
Checking…
IP used for ChatGPT
Checking…
Reaching Gemini
Checking…
IPv4 exit
Checking…
IPv6 exit
Checking…
WebRTC
Checking…
DNS resolver
Checking…
Exit for unlisted domains
Checking…
TLS fingerprint
Checking…
TCP fingerprint
Checking…
Browser time zone
—
Browser language
—
Automation traces
Checking…

Proxies often route by domain: the IP that opened this site is not necessarily the one Claude or ChatGPT sees. The first two checks ask claude.ai and chatgpt.com directly.

Run the check from inside Claude Code

With IP Judge’s Agent Skill installed, ask Claude Code (or Codex / Cursor) to check the terminal exit. It runs the same read-only check and lays out what it observed, what it flagged and what it could not finish. The check changes no settings; anything unfinished is labelled as such rather than treated as a pass. Source.

npx skills add ipjudge/ipjudge --skill ipjudge-exit-check --agent claude-code

Does the terminal exit relate to residential IP?

Long Claude Code tasks are sensitive to connection stability: if the exit IP changes mid-run, the SSE stream drops and the task stalls. So beyond confirming the terminal actually uses a proxy, the exit needs to stay put. IP type is another lead — community reports show datacenter ranges being challenged more often, but that is user observation, not a published Anthropic rule.

Setting up a proxy for the terminal →

FAQ

Why do the terminal and browser use different exits?

Many proxy apps default to “system proxy” mode: browsers follow it, terminals don’t. Without HTTPS_PROXY, Claude Code goes direct. TUN / enhanced mode, or setting the variables, fixes it.

How do I set a proxy for the terminal?

Add this to ~/.zshrc or ~/.bashrc (use your proxy app’s HTTP / mixed port, often 7890 or 7897):

export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890
Open a new terminal and run the check again. Per Claude Code’s docs, it only reads https_proxy / HTTPS_PROXY / http_proxy / HTTP_PROXY — no SOCKS, and no ALL_PROXY. You can also put them in the env block of ~/.claude/settings.json, which is the only place background Claude Code sessions read.

What about Windows?

Run the same command in Git Bash or WSL. In PowerShell, curl.exe -s https://api.anthropic.com/cdn-cgi/trace shows the ip= and loc= lines.

Further reading

Related guides

These go deeper on the problems above

Which exit do Claude Code / Codex use?

A clean browser doesn’t mean a clean terminal. Run this in your terminal:

curl -sL ipjudge.org/en/cc | bash

Why the terminal needs its own check →

Is the residential IP you bought really a home line?

The check looks at the IP itself, not the seller’s description: type, native or broadcast, blocklists and proxy flags, each with its evidence. For several IPs:

curl -s ipjudge.org/en/ip/THE_IP

How to verify a residential IP →