Anthropic's regions policy page gives an effective date: November 12, 2026. It does not say what changes that day or how the policy applies to existing accounts. Guessing gets you nowhere, but preparing does. The list below takes one evening and breaks nothing, even if November 12 passes without incident.
What we know about the policy itself, and where it stays vague, is covered in Does Claude work in Russia. This article is only about actions.
Step 1. Find every direct call to Anthropic
You need a list of the places where code, CI or scripts talk to Anthropic directly. There is no need to print any keys, file names are enough:
grep -rlE "api\.anthropic\.com|ANTHROPIC_(API_KEY|AUTH_TOKEN|BASE_URL)" . \
--exclude-dir=node_modules --exclude-dir=.git
Do not stop at a code search. Look through CI settings, .env.example, Docker Compose and secret files too. The usual casualties are the bot that answers customers and the cron script that sorts the inbox once a day.
Step 2. Copy your Claude Code configuration
According to the Claude Code documentation, settings live in three places: ~/.claude/settings.json (all projects on the machine), .claude/settings.json (shared by the project and committed) and .claude/settings.local.json (personal, for one project). MCP server configuration and account data are kept in ~/.claude.json. If you moved the directory with CLAUDE_CONFIG_DIR, look there instead.
Put copies in a separate folder:
mkdir -p ~/claude-backup
cp ~/.claude/settings.json ~/claude-backup/ 2>/dev/null
cp ~/.claude.json ~/claude-backup/ 2>/dev/null
~/.claude.json holds account and connection details. Keep the copy out of shared repositories and do not send it through a messenger. CLAUDE.md and the project's .claude/ directory are another matter: check that they are committed. They belong in git, not in a single copy on your laptop.
Step 3. Export your chat data
If you use claude.ai, export your history: Settings, then Privacy, then the Export data button. A link to the archive arrives by email at your account address and stays valid for 24 hours. The mobile apps cannot export. The limits are laid out in Exporting your Claude data.
Prompts you reuse are better moved into a repository right away. The export cannot be imported into another personal Claude account. It works as an archive, not as a way to move.
Step 4. Tidy up your keys
- Create a separate key for each service and each person, so revoking one does not take down the rest.
- Keep keys in a secrets manager or in a
.envfile that git does not see. A key in a project's.claude/settings.jsonleaves with the repository, and the Claude Code documentation warns about exactly this. - Check expiry dates. codexkey keys can be given an expiry, and the list of keys is in the "API keys" section of your dashboard.
- Revoke keys nobody uses.
Step 5. Move the address, key and model into environment variables
When the API address and model are written into code, moving means editing a dozen files. When they come from the environment, switching channels takes a minute:
import os
import anthropic
client = anthropic.Anthropic(
base_url=os.environ["LLM_BASE_URL"],
api_key=os.environ["LLM_API_KEY"],
)
reply = client.messages.create(
model=os.environ["LLM_MODEL"],
max_tokens=1024,
messages=[{"role": "user", "content": "Hello"}],
)
With the Anthropic SDK, the codexkey address is written without /v1: https://api.claudexia.tech. OpenAI-compatible clients need the version with /v1. One endpoint understands both formats.
Step 6. Set up a fallback channel and test it ahead of time
A channel you have never called guarantees nothing. Create a key in codexkey, top up the balance with a small amount in advance (a Russian card, SBP, the Russian Faster Payments System, or crypto) instead of waiting for the day you need it, and then send a one-token request:
curl -sS -w '\n%{http_code}\n' https://api.claudexia.tech/v1/messages \
-H "x-api-key: $CLAUDEXIA_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model":"claude-sonnet-5","max_tokens":1,"messages":[{"role":"user","content":"."}]}'
If the response contains {"id":"msg_, the address and key work. The available models come from GET https://api.claudexia.tech/v1/models, and prices are collected on the models page. Moving a whole project is described in Moving a project to a gateway.
Step 7. Prepare Claude Code
You can point Claude Code at the gateway with the env block in ~/.claude/settings.json. Do not put the key into .claude/settings.json inside a project, because that file gets committed.
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.claudexia.tech",
"ANTHROPIC_AUTH_TOKEN": "sk_cdx_YOUR_KEY",
"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-sonnet-5"
}
}
The ANTHROPIC_DEFAULT_* lines are required. Without them Claude Code asks for its own default models. Start claude and type /status. The Anthropic base URL line should show the gateway address, and the token line should name ANTHROPIC_AUTH_TOKEN. If you see a saved claude.ai login instead, the variable never reached the session. The full setup is in the Claude Code guide.
One more warning from the Anthropic documentation. If you set only ANTHROPIC_BASE_URL without a key, requests go to the gateway, but authorization stays with the saved claude.ai login. The key is mandatory.
Step 8. Check everything in one pass
Run through this short list before November 12 and again after it.
- A one-token curl request gets a response.
- A test call to your service goes through the environment variables and succeeds.
- Streaming, tool calls and your heaviest prompt return the same result as before.
- Claude Code starts,
/statusshows the gateway, and a simple edit in a test repository goes through. - The balance is topped up and the keys work.
If you are a company
The policy treats as unsupported any use by an organization that is incorporated or headquartered in an unsupported region, or that is majority-owned or controlled by people from there. Whether that describes your business is something neither this article nor gateway support can tell you. Take that question to a lawyer. The technical plan in the steps above does not depend on the verdict.
What to do after November 12
Repeat the check from step 8. If something stops responding, do not change everything at once. Open the diagnostics guide and work out what broke: the service, the key, the payment or the region. If the problem is the account itself, the recovery plan is in Claude account banned or blocked. Anyone weighing other tools will find the Gemini CLI and Antigravity CLI breakdown useful.
FAQ
What should I do about Claude before November 12?
Find hardcoded addresses and keys, copy your Claude Code configuration, export your chat data, move settings into environment variables and test a fallback channel ahead of time. The whole list takes an evening.
How do I keep access to the Claude API?
Do not tie your code to a single channel. Take the address, key and model from the environment, and keep a second key with another provider that you have already tested with a one-token request. Then switching takes a minute.
How do I save my Claude Code settings?
Copy ~/.claude/settings.json and ~/.claude.json, and keep CLAUDE.md and the project's .claude/settings.json in git. Do not publish the copy of ~/.claude.json: it holds account data and connections.
Will Claude Code work after November 12?
We do not know and we do not promise. The policy page does not explain how enforcement will change. Claude Code connects to a gateway through environment variables, and that route is worth testing in advance.
Do I need to do anything if I am not in Russia?
Any team needs a fallback channel. An untested key fails at the worst possible moment, and the policy is only one reason: providers have outages, account blocks and payment problems.