# Не удаётся войти в Claude Code: ошибки OAuth, 403 и 500

> Что проверить при Invalid code, 403 после входа и OAuth 500 в Claude Code: код авторизации, активные учётные данные, права, регион и сеть.

- Source: https://www.aifreeapi.com/ru/posts/claude-code-oauth-error
- Language: ru
- Published: 2026-09-06
- Updated: 2026-09-12
- Publisher: AI Free API (https://www.aifreeapi.com)

При ошибке входа в Claude Code сначала определите, **где появилось сообщение**: в браузере до завершения авторизации, в терминале при приёме кода или уже после отправки запроса модели. Одинаковый HTTP-код на разных шагах не обязательно означает одну причину. Например, `Invalid code` требует нового кода авторизации, а `403` после успешного входа — проверки подписки, прав и способа подключения.

Эта инструкция относится к входу в сам Claude Code. Если окно авторизации открыл отдельный MCP-сервер, проверять нужно его подключение и учётную запись.

## Выберите свою ситуацию

Сохраните точный текст ошибки и время с часовым поясом. Затем найдите соответствующую строку:

| Что произошло | Что проверить первым | Какой результат нужен |
|---|---|---|
| Терминал отклонил код с `Invalid code` | Свежесть и полноту кода из текущей попытки входа | Терминал принимает новый код |
| Браузер сообщил об успехе, но терминал в SSH, WSL2 или контейнере продолжает ждать | Передачу кода обратно в исходный терминал | Вход завершается в среде, где запущен Claude Code |
| Вход завершён, но следующий запрос получает `403` | Активные учётные данные, подписку или роль Console, затем сеть | Используется нужная учётная запись с разрешённым доступом |
| Страница авторизации возвращает `500` | Состояние сервиса и повторную попытку входа после паузы | Авторизация снова открывается и завершается |
| `API Error: 500` появляется при обращении к модели | Состояние фактического поставщика запросов, включая настроенный шлюз | Новый запрос получает ответ |

Не удаляйте каталог `~/.claude` в качестве первого шага. Это слишком широкое действие для ошибки, которая может относиться только к одной попытке входа или к правам организации.

![Действия при ошибках Claude Code на разных шагах: Invalid code, вход через SSH и WSL, 403, OAuth 500 и API 500](https://www.aifreeapi.com/posts/ru/claude-code-oauth-error/img/login-failure-stages.webp)

## Invalid code: начните новую попытку входа

Согласно [официальной инструкции по Invalid code](https://code.claude.com/docs/en/troubleshoot-install#oauth-error-invalid-code), код мог истечь или быть скопирован не полностью. Если терминал предлагает повторить вход клавишей Enter, нажмите её. Откройте новую ссылку, завершите подтверждение без долгой паузы и перенесите **полный код из этой попытки** в ожидающий его терминал.

Если ссылка в терминале переносится на несколько строк, используйте клавишу `c`, когда интерфейс предлагает скопировать URL целиком. Не берите код из ранее открытой вкладки: удобнее закрыть старые окна авторизации и оставить текущую попытку.

Точного универсального срока действия кода в секундах официальная инструкция не задаёт. Поэтому совет «успейте за 15 секунд» не помогает установить причину. Повторите вход со свежим кодом, скопированным полностью. Если он снова отклонён, сохраните точный текст ошибки: одного обновления кода оказалось недостаточно. Этот код не является API-ключом; вставлять его в `ANTHROPIC_API_KEY` не нужно.

### Браузер на ноутбуке, Claude Code на другой машине

При SSH, WSL2 и контейнерах браузер может завершить вход, но перенаправление не достигнет процесса Claude Code. [Официальное решение для таких сред](https://code.claude.com/docs/en/troubleshoot-install#oauth-login-fails-in-wsl2-ssh-or-containers) — открыть показанный URL в локальном браузере и вставить полученный код **в исходный терминал**, где начат вход.

Если код не вставляется, попробуйте команду вставки из меню терминала или другое сочетание клавиш, предусмотренное вашим терминалом. Альтернативный запуск из оболочки:

```bash
claude auth login
```

Он читает ввод через стандартный поток ввода и может помочь при проблемах со вставкой. Не запускайте его внутри уже открытого диалога Claude Code. Удалённая машина сама по себе не требует перехода с подписки на API-ключ.

## 403 после входа: кто именно получает отказ

Начните с команды внутри интерактивного сеанса Claude Code:

```text
/status
```

Посмотрите, какой способ авторизации активен. Вход через браузер может быть успешным, а запросы — уходить с другими учётными данными. По [правилам приоритета авторизации](https://code.claude.com/docs/en/authentication#authentication-precedence), `ANTHROPIC_API_KEY` получает приоритет над OAuth подписки в интерактивном режиме после вашего подтверждения; при запуске с `-p` заданный ключ используется всегда. Также имеют значение токены, выбранный поставщик и настройки шлюза.

Проверить, какие переменные заданы, можно без вывода их значений. Следующий пример предназначен для Bash или Zsh и показывает только имена непустых переменных:

```bash
for name in ANTHROPIC_API_KEY ANTHROPIC_AUTH_TOKEN CLAUDE_CODE_OAUTH_TOKEN ANTHROPIC_BASE_URL; do
  if printenv "$name" | LC_ALL=C grep -q .; then
    printf '%s: задана\n' "$name"
  fi
done
```

Это вспомогательная проверка, а не полный перечень настроек авторизации. Если, например, случайно остался API-ключ от другого проекта, а нужен вход по подписке, уберите именно эту переменную из текущей оболочки:

```bash
unset ANTHROPIC_API_KEY
claude
```

Затем снова проверьте `/status`. Если переменная возвращается после открытия терминала, найдите место, где она задаётся: профиль оболочки, конфигурацию IDE или окружение контейнера. Не очищайте все переменные подряд: часть может быть необходима для рабочего подключения.

После подтверждения способа входа проверьте соответствующие права. [Официальное руководство по 403 после входа](https://code.claude.com/docs/en/troubleshoot-install#403-forbidden-after-login) разделяет следующие случаи:

- **Личная подписка Pro или Max.** Убедитесь, что подписка активна у той учётной записи, которую вы выбрали в браузере. Оплата другого аккаунта не подтверждает доступ текущего.
- **Вход через Console.** Администратор организации должен проверить роль в **Settings → Members**: для Claude Code нужна роль **Claude Code** или **Developer**. Повторный ввод кода не добавит недостающие права.
- **Корпоративное подключение.** Прокси может вмешиваться в запросы после авторизации. Передайте администратору время отказа и адрес узла, к которому обращался клиент, без секретных параметров URL.

Сам по себе `403` не доказывает блокировку аккаунта, нехватку денег или истечение кода. Если есть отдельное уведомление о приостановке учётной записи, дальнейшие действия описаны в статье [о блокировке Claude, апелляции и возврате средств](/ru/posts/claude-code-ban-refund).

### Доступ из России и русский язык — разные условия

На 6 сентября 2026 года Россия отсутствует в [официальном списке стран доступности Claude.ai и API](https://www.anthropic.com/supported-countries). При диагностике проверяйте актуальный список для своего фактического местонахождения. Русскоязычный пользователь в поддерживаемой стране находится в другой ситуации, чем пользователь, обращающийся к сервису из России.

Смена IP не подтверждает соответствие условиям доступа и не гарантирует исправление `403`. Если вопрос именно в доступности сервиса по месту использования, повторные входы и переустановка клиента его не решат. Если страна поддерживается, продолжайте проверку учётной записи, прав и сети: наличие страны в списке тоже не гарантирует успех конкретного запроса.

## Ошибка 500: отделите страницу входа от запроса модели

Если `500` возникает в браузере во время OAuth, сначала откройте [страницу состояния Claude](https://status.claude.com/) и сопоставьте время ошибки с затронутыми компонентами и инцидентами. После небольшой паузы начните новую попытку авторизации. Если есть активный инцидент, локальный сброс учётных данных обычно не даёт полезной новой проверки.

Ошибка на этом шаге действительно встречалась: в [обращении № 44719 от 7 апреля 2026 года](https://github.com/anthropics/claude-code/issues/44719) пользователь Claude Code 2.1.92 на macOS сообщил о `500` от OAuth-авторизации после `401`. Обращение закрыто. Это отдельный исторический отчёт, по которому нельзя установить текущий сбой, исправляющую версию или причину вашей ошибки.

Если же вход завершён, а `API Error: 500` появляется после запроса модели, применима [инструкция по внутренней ошибке API](https://code.claude.com/docs/en/errors#api-error-500-internal-server-error): проверить состояние поставщика и повторить запрос после короткой паузы. При заданном `ANTHROPIC_BASE_URL` запрос может идти через сторонний шлюз; состояние Anthropic не описывает работоспособность этого шлюза. Уточните используемый адрес в своей конфигурации, не публикуя его секретные параметры.

Отсутствие инцидента на общей странице состояния не доказывает, что конкретная авторизация или запрос работают. При повторении ошибки переходите к проверке окружения и сохраняйте сведения для обращения.

## Сеть и повторное истечение сессии

Настройки браузера не обязательно действуют в терминале, удалённой машине или контейнере. По [документации Claude Code о сети](https://code.claude.com/docs/en/network-config), поддерживаются HTTP(S)-прокси; SOCKS не поддерживается. Приоритет переменных: `https_proxy`, затем `HTTPS_PROXY`, `http_proxy`, `HTTP_PROXY`. Если заданы несколько, проверьте, не используется ли устаревшее значение с более высоким приоритетом.

Для корпоративного удостоверяющего центра предусмотрена `NODE_EXTRA_CA_CERTS`. Путь к доверенному сертификату следует получить у администратора. Отключение проверки TLS не является подходящим способом восстановления входа.

Если проблема формулируется как истёкший или отозванный токен, начните с обновления входа в Claude Code:

```text
/login
```

При повторном истечении проверьте системные дату, время и синхронизацию часов. На macOS дополнительно запустите из оболочки:

```bash
claude doctor
```

Диагностика проверяет доступ к Keychain. При отказе Keychain текущий клиент может сохранить учётные данные в незашифрованном файле, поэтому проблема Keychain не всегда означает, что вход вообще невозможно сохранить. Эти особенности описаны в [разделе об истёкшем токене](https://code.claude.com/docs/en/troubleshoot-install#not-logged-in-or-token-expired). Не публикуйте содержимое файлов с учётными данными.

Если обычный повторный вход не помог, [официальный сброс входа](https://code.claude.com/docs/en/troubleshoot-install#reset-your-login) предусматривает `/logout`, закрытие Claude Code и новый запуск. **Перед `/logout` учтите:** команда может удалить также сохранённые входы MCP и секретные значения плагинов. После сброса их может потребоваться настроить заново. Применяйте этот шаг осознанно, когда проблема действительно связана с сохранённой авторизацией.

## Когда считать проблему решённой

![Схема входа через браузер и терминал с проверками окружения, учётной записи и сведений для обращения за помощью](https://www.aifreeapi.com/posts/ru/claude-code-oauth-error/img/login-environment-checks.webp)

Проверяйте результат в той же среде, где возникала ошибка: в конкретном SSH-сеансе, контейнере, WSL2 или терминале IDE. Откройте новый сеанс Claude Code, выполните `/status` и убедитесь, что используется ожидаемый способ входа. Затем отправьте небольшой запрос, например «Ответь одним словом: готово».

Успех — это одновременно нужная авторизация и новый ответ модели. Открытая вкладка браузера, сохранённый токен или HTTP-ответ главной страницы этого не подтверждают. Для проверки подписочного входа оставайтесь в интерактивном режиме: запуск с `-p` при наличии API-ключа проверит другой способ авторизации.

Если ошибка сохраняется, подготовьте короткое описание:

```text
Время ошибки и часовой пояс:
ОС и среда: локальный терминал / SSH / WSL2 / контейнер / IDE
Версия Claude Code (claude --version):
Шаг сбоя: браузер / ввод кода / первый запрос
Точный текст ошибки:
Ожидаемый и фактический способ входа по /status:
Прокси или сторонний шлюз: да / нет
Что уже проверено и какой получен результат:
```

Не включайте токены, API-ключи, коды авторизации, полные ссылки входа, cookies и личные данные. Проблемы аккаунта, циклического входа и распознавания подписки направляйте в поддержку через **Get help** после входа в аккаунт. Для воспроизводимой ошибки установки или клиента подходят GitHub и `/feedback`; выбор канала описан в [официальном разделе обращения за помощью](https://code.claude.com/docs/en/troubleshoot-install#still-stuck). Такой отчёт позволит продолжить с конкретного сбоя, а не повторять уже выполненные действия.
