Ошибка авторизации в Claude Code: 401 и невалидный ключ
Ошибка 401 в Claude Code значит, что запрос ушёл без верной авторизации. Причин четыре: ключ не задан, ключ устарел или отозван, ключ скопировался с мусором, или сработала геоблокировка. Реже проблема в нулевом балансе счёта. Чаще всего лечится за минуту правильной переменной окружения.
Как выглядит ошибка
Error: 401 Unauthorized
{"type":"authentication_error","message":"invalid x-api-key"}
или при геоблоке:
Error: 403 / unexpected response
Четыре причины и фикс
| Причина | Как проверить | Фикс |
|---|---|---|
| Ключ не задан | echo $ANTHROPIC_API_KEY пусто | Задать переменную окружения заново |
| Ключ отозван или устарел | В консоли Anthropic ключ inactive | Создать новый ключ |
| Лишний пробел или перенос | Длина ключа скачет | Скопировать заново без пробелов |
| Геоблокировка из РФ | 403 при том же ключе | Реселлерский шлюз вместо прямого API |
Проверить ключ по шагам
# 1. ключ задан? echo $ANTHROPIC_API_KEY # Linux/macOS/WSL echo $env:ANTHROPIC_API_KEY # PowerShell # 2. прямой запрос без Claude Code: curl https://api.anthropic.com/v1/messages -H "x-api-key: $ANTHROPIC_API_KEY" -H "anthropic-version: 2023-06-01" -H "content-type: application/json" -d '{"model":"claude-sonnet-4-6","max_tokens":32,"messages":[{"role":"user","content":"hi"}]}'
Если curl тоже падает с 401, дело в ключе. Если 403, дело в геоблоке.
Геоблок и оплата
Из России прямой ключ Anthropic часто упирается в геоблок: тот же ключ, который работал из Европы, из РФ даёт 403. В этом случае помогает реселлерский шлюз CLOD: Anthropic-совместимый API с оплатой рублём, Claude Code подключается ключом как обычно.
Частые вопросы
401 значит, что ключ неправильный?
Чаще да, но не всегда. Ещё ключ может быть не задан, скопирован с пробелом или отозван. Проверьте переменную и сам ключ в консоли.
Почему один и тот же ключ даёт 401 в РФ, но работал за рубежом?
Скорее это 403, геоблокировка. Из РФ прямой API Anthropic часто блокирует запросы. Помогает реселлерский шлюз.
Ключ надо обновлять?
Сам по себе он не устаревает, но его могут отозвать в консоли или скомпрометировать. Если 401 появилась внезапно, создайте новый ключ.
CLOD тоже вернёт 401?
Нет, если ключ CLOD задан верно. Это Anthropic-совместимый API, авторизация работает так же, но без геоблока.