Антон Ларичев

Введение
Claude Code — это CLI-инструмент от Anthropic, который позволяет работать с кодом прямо в терминале: читать файлы, запускать команды, редактировать проект и общаться с моделью в контексте вашего репозитория. Как и любой инструмент, взаимодействующий с сетью, файловой системой и внешними процессами, он иногда отказывается работать: не стартует, зависает на середине запроса или выдаёт непонятную ошибку.
В этой статье разберём самые частые причины, по которым Claude Code не работает, и покажём, как быстро их диагностировать и исправить. Начнём с той, что чаще всего встречается у разработчиков из России, — блокировки по региону.
Блокировка региона: ошибка 403 из России
Если Claude Code установился, но любой запрос падает с 403 unsupported_country_region_territory — дело не в конфиге и не в токене. Anthropic не обслуживает запросы с российских IP: блокировка стоит на уровне API-шлюза, установка через npm при этом проходит нормально, а ломается именно обращение к /v1/messages.
API Error: 403 {"type":"error","error":{"type":"forbidden","message":"Request not allowed"}}
Системный VPN проблему решает лишь частично: он ломает другие сервисы, режет скорость и отваливается в самый неподходящий момент, а запросы Claude Code начинают уходить с разных IP и периодически ловить те же 403.
Надёжнее направить к Claude только запросы самого CLI. Готовый вариант без VPN и зарубежной карты — AI для кода от PurpleSchool: Anthropic-совместимый доступ к моделям Claude (Haiku, Sonnet, Opus) и GPT по одному ключу с оплатой российской картой. Настройка — две переменные окружения:
export ANTHROPIC_API_KEY="ваш ключ"
export ANTHROPIC_BASE_URL="https://app.purpleschool.ru/api-v2/public/ai-proxy/anthropic"
source ~/.zshrc
claude
Тот же ключ работает в VS Code, JetBrains, Cursor, Cline, Windsurf, Neovim и OpenCode, а также в Codex CLI — Claude и GPT списываются с общего баланса токенов. Альтернатива — поднять собственный reverse proxy на зарубежном VPS и указать в ANTHROPIC_BASE_URL его адрес; тогда следите, чтобы прокси не буферизовал ответы, иначе стриминг токенов будет выглядеть как зависший запрос.
Ошибка авторизации и истёкший токен
Самая частая проблема — протухшая или битая сессия авторизации. Если Claude Code внезапно перестал видеть аккаунт, стоит начать именно с переавторизации.
# Проверяем текущий статус авторизации
claude auth status
# Если сессия невалидна — выходим и логинимся заново
claude auth logout
claude auth login
Если команда login зависает в браузере, попробуйте закрыть все открытые вкладки авторизации и повторить процесс в режиме инкогнито — иногда мешают старые куки от предыдущей сессии.
Устаревшая версия Node.js
Claude Code требует достаточно свежую версию Node.js. На старых версиях CLI может падать с невнятными ошибками при старте или не устанавливаться вовсе.
# Проверяем текущую версию Node.js
node -v
# Обновляем через nvm до последней LTS-версии
nvm install --lts
nvm use --lts
# Переустанавливаем сам Claude Code после обновления Node.js
npm install -g @anthropic-ai/claude-code
Если команда claude вообще не найдена после установки, проверьте, что глобальная папка npm добавлена в PATH:
# Смотрим, куда npm ставит глобальные пакеты
npm config get prefix
# Добавляем bin-папку в PATH, если её там нет
export PATH="$(npm config get prefix)/bin:$PATH"
Конфликты в settings.json
Настройки проекта и пользователя хранятся в файлах settings.json и settings.local.json. Один опечатанный флаг или дублирующееся правило permissions способны сломать запуск сессии.
{
"permissions": {
"allow": ["Bash(npm run *)", "Read"],
"deny": []
}
}
Если после правки конфигурации Claude Code начал вести себя странно — отказывать в очевидных действиях или, наоборот, спрашивать разрешение там, где раньше не спрашивал, — проверьте файл на валидность JSON и отсутствие противоречащих друг другу правил allow и deny.
# Быстрая проверка синтаксиса JSON перед перезапуском
cat .claude/settings.json | python3 -m json.tool
Проблемы с сетью и прокси
Claude Code обращается к API Anthropic по сети, поэтому корпоративные прокси, VPN и фаервол — частая причина зависаний и таймаутов.
# Указываем прокси явно через переменные окружения
export HTTPS_PROXY="http://proxy.company.local:8080"
export HTTP_PROXY="http://proxy.company.local:8080"
# Проверяем доступность API напрямую curl-ом
curl -I https://api.anthropic.com
Если ответ не приходит совсем, а не просто медленный, скорее всего дело в блокировке на уровне сети — стоит обратиться к администратору или временно отключить VPN для диагностики.
Ошибки при подключении MCP-серверов
MCP-серверы расширяют возможности Claude Code, но неправильная конфигурация одного из них может замедлить или сломать запуск всей сессии, потому что CLI пытается поднять соединение с каждым при старте.
# Смотрим список подключённых MCP-серверов
claude mcp list
# Отключаем подозрительный сервер, чтобы проверить гипотезу
claude mcp remove имя-сервера
Если после удаления проблемного сервера Claude Code снова запускается быстро — проблема была именно в нём. Проверьте команду запуска сервера и его логи отдельно, прежде чем подключать обратно.
Зависание на больших контекстах и лимиты запросов
Если Claude Code подвисает именно во время генерации ответа, а не при старте, причина часто в объёме контекста или в достижении лимита запросов аккаунта.
# Очищаем историю текущей сессии, если контекст слишком разросся
/clear
# Проверяем, не исчерпан ли лимит использования
claude usage
Для больших монорепозиториев полезно ограничивать область поиска инструментами вроде Grep и Glob с явным путём, а не давать модели сканировать весь проект целиком.
Частые ошибки
- Попытка чинить конфиг и переустанавливать CLI, когда на самом деле запрос упирается в блокировку региона:
403виден в тексте ошибки, но его легко принять за проблему с токеном. - Игнорирование сообщений об устаревшей версии CLI — обновления часто содержат фиксы именно для стабильности запуска.
- Ручное редактирование settings.json без проверки JSON на валидность.
- Смешивание глобальных и локальных npm-установок Claude Code, из-за чего в PATH оказывается сразу две версии.
- Попытка работать через VPN с нестабильным туннелем вместо диагностики через curl.
- Подключение MCP-серверов без проверки их работоспособности по отдельности.
- Накопление огромного контекста в одной сессии вместо периодической очистки командой /clear.
Заключение
Большинство сбоев Claude Code сводится к нескольким типовым причинам: блокировка региона, устаревшая авторизация, старая версия Node.js, битый конфиг, сетевые ограничения или проблемный MCP-сервер. Проверяйте их по порядку — от простого к сложному, начиная с кода ошибки, auth status и версии Node.js, и заканчивая сетевой диагностикой через curl. Если в ответе стоит 403 с упоминанием региона, чинить конфиг бесполезно — нужен доступ через прокси или готовый ключ вроде AI для кода от PurpleSchool. Такой чек-лист экономит время и позволяет быстро вернуть инструмент в рабочее состояние без обращения в поддержку.






Комментарии
1