Решение проблем
Найдите свою ошибку и исправьте — быстро.
Проверено: 2026-04-06Быстрая сортировка
Выберите область проблемы:
Начните здесь
Прежде чем разбираться с конкретными проблемами, попробуйте эти пять универсальных проверок:
- Обновите Claude — устаревшие версии вызывают большинство странных ошибок.
claude update - Перезапустите сессию — закройте терминал и запустите
claudeснова. Новая сессия сбрасывает временное состояние. - Включите подробный режим — нажмите
Ctrl+O, чтобы увидеть, что Claude делает под капотом. - Проверьте расположение конфигов — настройки проекта находятся в
.claude/settings.json; конфигурация MCP — в.mcp.json(проект) или~/.claude.json(пользователь). - Спросите Claude, вставив ошибку — часто самый быстрый путь:
"I'm getting this error: <paste>"
Проблемы Claude Code
Симптом
Сессия зависает / нет ответа
Проверка: Вращается ли индикатор? Нажмите Ctrl+C для прерывания.
Вероятная причина: Долгий вызов инструмента завершился по таймауту, или сетевой сбой остановил соединение.
Решение:
Ctrl+C # прервать текущий ход
/clear # сбросить состояние сессии
Если всё ещё зависает, полностью закройте терминал и запустите claude в новом окне.
Признак успеха: Claude отвечает на следующий промпт в течение нескольких секунд.
Симптом
Отказ в доступе на каждую команду
Проверка: В каком режиме разрешений вы работаете?
Вероятная причина: Режим по умолчанию требует подтверждения для каждого вызова инструмента.
Решение: Нажмите Shift+Tab для переключения режимов разрешений, или запустите с более разрешающим режимом:
claude --permission-mode acceptEdits
Также можно нажать a во время промпта, чтобы разрешить инструмент до конца сессии.
Признак успеха: Команды выполняются без повторных запросов подтверждения.
Симптом
CLAUDE.md не загружается
Проверка: Выполните /memory в сессии, чтобы увидеть какие файлы загружены.
Вероятная причина: Файл находится в неправильной директории или содержит битую ссылку @path.
Решение: Убедитесь, что файл расположен по пути ./CLAUDE.md или ./.claude/CLAUDE.md относительно места запуска Claude. Исправьте все ссылки @path, чтобы они корректно разрешались.
Признак успеха: /memory отображает содержимое вашего CLAUDE.md.
Симптом
Навыки не отображаются
Проверка: Убедитесь, что файл навыка существует по ожидаемому пути.
Вероятная причина: Файл SKILL.md расположен неправильно или структура директорий нарушена.
Решение: Навыки должны находиться по одному из путей:
Project: .claude/skills/<skill-name>/SKILL.md
User: ~/.claude/skills/<skill-name>/SKILL.md
После исправления начните новую сессию — навыки загружаются при запуске.
Признак успеха: Навык появляется, когда Claude перечисляет доступные возможности.
Симптом
Авто-память не работает
Проверка: Подтвердите версию и настройки.
Вероятная причина: Устаревшая версия Claude Code или функция отключена в настройках.
Решение:
claude --version # нужна v2.1.59+
claude update
Затем проверьте, что ~/.claude/settings.json содержит:
{ "autoMemoryEnabled": true }
Признак успеха: Claude проактивно сохраняет факты между сессиями.
Симптом
Контекст становится слишком длинным
Проверка: Claude забывает ранние инструкции или повторяется?
Вероятная причина: Разговор превысил эффективное контекстное окно.
Решение: Сжимайте разговор заблаговременно — не ждите, пока Claude начнёт забывать.
/compact
Признак успеха: Claude отвечает связно, помня о предыдущем контексте.
Проблемы MCP
Симптом
MCP-сервер не подключается
Проверка: Конфиг в правильном файле? Уровень проекта: .mcp.json. Уровень пользователя: ~/.claude.json.
Вероятная причина: Отсутствуют переменные окружения, неверный путь к команде сервера или бинарник сервера не установлен.
Решение: Проверьте, что команда сервера существует, установите необходимые переменные окружения (например, GITHUB_TOKEN), затем перезапустите сессию Claude — конфигурация MCP читается только при запуске.
Признак успеха: Claude показывает инструменты MCP в своих возможностях при старте сессии.
Симптом
Инструменты MCP не появляются
Проверка: Нажмите Ctrl+O для включения подробного режима и найдите сообщения о рукопожатии MCP.
Вероятная причина: Сервер запустился, но регистрация инструментов не удалась — обычно несовпадение схемы или падение сервера при инициализации.
Решение: Запустите команду MCP-сервера вручную в терминале, чтобы увидеть вывод ошибок. Исправьте проблемы и перезапустите сессию Claude.
Признак успеха: Инструменты этого MCP-сервера появляются и доступны для вызова.
Проблемы хуков
Симптом
Хуки не срабатывают
Проверка: Включите подробный режим через Ctrl+O, чтобы видеть выполнение хуков.
Вероятная причина: Неправильный регистр имени события, матчер не совпадает или скрипт не имеет прав на выполнение.
Решение:
# Проверить JSON настроек
claude -p "validate the JSON in .claude/settings.json"
# Убедиться, что скрипт хука исполняемый
chmod +x .claude/hooks/your-hook.sh
Имена событий в PascalCase: PreToolUse, а не preToolUse. Коды выхода важны: 0 = разрешить, 2 = заблокировать.
Признак успеха: Подробный режим показывает выполнение хука на ожидаемом событии.
Симптом
Хук блокирует неожиданно
Проверка: Какой вызов инструмента блокируется? Подробный режим (Ctrl+O) показывает имя хука и код выхода.
Вероятная причина: Матчер слишком широкий или скрипт хука возвращает код выхода 2 на пути, который вы не собирались блокировать.
Решение: Сузьте шаблон матчера в .claude/settings.json, чтобы он был нацелен только на нужный инструмент. Протестируйте, запустив скрипт хука вручную с тестовыми данными.
Признак успеха: Вызов инструмента проходит без блокировки.
Проблемы инфраструктуры
Симптом
Не удаётся подключиться к дроплету по SSH
Проверка: Запустите SSH с подробным выводом, чтобы увидеть, где происходит сбой.
Вероятная причина: Неверный IP, SSH-ключ не добавлен при создании дроплета или файрвол блокирует порт 22.
Решение:
ssh -v root@<droplet-ip>
Проверьте IP в консоли DigitalOcean. Если ключ отсутствует, добавьте его через панель DO и пересоздайте дроплет.
Признак успеха: Вы получаете root-шелл на дроплете.
Симптом
k3s не запускается
Проверка: Посмотрите статус сервиса и логи.
Вероятная причина: Недостаточно RAM (нужно минимум 2 ГБ), порт 6443 уже используется или правила файрвола блокируют необходимые порты.
Решение:
sudo systemctl status k3s
sudo journalctl -u k3s -f
Признак успеха: systemctl status k3s показывает active (running).
Симптом
kubectl — отказ в соединении
Проверка: Вы используете правильный kubeconfig?
Вероятная причина: k3s использует собственный путь к kubeconfig, а не стандартный ~/.kube/config.
Решение:
# На дроплете
sudo kubectl --kubeconfig /etc/rancher/k3s/k3s.yaml get nodes
Для локального доступа скопируйте kubeconfig и замените 127.0.0.1 на публичный IP вашего дроплета.
Признак успеха: kubectl get nodes возвращает ваш узел в состоянии Ready.
Симптом
Поды застряли в ImagePullBackOff
Проверка: Опишите под, чтобы увидеть ошибку загрузки образа.
Вероятная причина: Образ не существует, тег неверный или Docker Hub ограничивает запросы.
Решение:
kubectl describe pod <pod-name> -n ai-coderrank
Проверьте имя образа и тег. При проблемах с ограничением запросов переключитесь на ghcr.io.
Признак успеха: Под переходит в состояние Running.
Симптом
Поды застряли в CrashLoopBackOff
Проверка: Прочитайте логи предыдущего упавшего контейнера.
Вероятная причина: Приложение падает при запуске — отсутствует переменная окружения, ConfigMap/Secret или несоответствие портов.
Решение:
kubectl logs <pod-name> -n ai-coderrank --previous
Признак успеха: Под остаётся в состоянии Running после исправления конфигурации.
Проблемы публичного доступа
Симптом
Приложение недоступно по публичному IP (NodePort 30080)
Проверка: Подтвердите тип сервиса и доступность порта.
Вероятная причина: Сервис не типа NodePort, порт не 30080 или файрвол DigitalOcean блокирует его.
Решение:
# Проверить, что сервис — NodePort на 30080
kubectl get svc -n ai-coderrank
# Сначала проверить локально на дроплете
curl http://localhost:30080
Если локальный curl работает, а внешний нет, откройте порт 30080 в файрволе DigitalOcean: Консоль DO > Networking > Firewalls.
Этот курс использует NodePort 30080 для публичного доступа, а не Ingress. Убедитесь, что спецификация вашего Service содержит type: NodePort и nodePort: 30080.
Признак успеха: curl http://<droplet-ip>:30080 возвращает ответ вашего приложения.
Проблемы ArgoCD
Симптом
Интерфейс ArgoCD недоступен
Проверка: Работает ли port-forward?
Вероятная причина: Port-forward не активен или под сервера ArgoCD не запущен.
Решение:
kubectl port-forward svc/argocd-server -n argocd 8080:443
Получить пароль администратора:
kubectl -n argocd get secret argocd-initial-admin-secret \
-o jsonpath="{.data.password}" | base64 -d
Признак успеха: Браузер загружает панель ArgoCD по адресу https://localhost:8080.
Симптом
ArgoCD не синхронизируется
Проверка: Посмотрите статус приложения.
Вероятная причина: Опечатка в URL репозитория, неверное имя ветки или путь не совпадает со структурой директорий.
Решение:
kubectl get app -n argocd
Принудительная синхронизация, если приложение существует, но зависло:
kubectl patch app ai-coderrank -n argocd \
--type merge -p '{"operation":{"sync":{}}}'
Признак успеха: Статус приложения показывает Synced и Healthy.
Симптом
ArgoCD показывает Degraded
Проверка: Определите, какой ресурс нездоров.
Вероятная причина: Под, управляемый ArgoCD, падает — обычно это CrashLoopBackOff под капотом.
Решение:
kubectl get app ai-coderrank -n argocd -o yaml | grep -A 20 health
kubectl logs -n ai-coderrank -l app=ai-coderrank --tail=50
Исправьте проблему с подом (см. Проблемы инфраструктуры), и ArgoCD автоматически обнаружит восстановление.
Признак успеха: Здоровье приложения возвращается к Healthy.
Проблемы GitHub Actions
Симптом
Claude Action не срабатывает
Проверка: Присутствует ли файл workflow и правильно ли указан триггер?
Вероятная причина: Файл workflow не в .github/workflows/, событие-триггер не совпадает, условие if фильтрует его, или секрет ANTHROPIC_API_KEY отсутствует.
Решение: Проверьте все пять пунктов:
- Файл workflow находится в
.github/workflows/ - Событие-триггер совпадает (
issue_comment,pull_request_review_comment) - Условие
ifсоответствует шаблону вашего комментария ANTHROPIC_API_KEYустановлен в Settings > Secrets репозитория- Разрешения GitHub App настроены
Признак успеха: Вкладка Actions показывает новый запуск после публикации подходящего комментария.
Симптом
Action запускается, но нет вывода
Проверка: Откройте лог запуска во вкладке GitHub Actions.
Вероятная причина: API-ключ недействителен/истёк, сработало ограничение запросов, max_turns установлен слишком низко, или CLAUDE.md содержит слишком строгие инструкции.
Решение:
- Проверьте статус API-ключа и ошибки ограничения запросов в панели Anthropic
- Увеличьте
max_turns, если workflow завершается слишком рано - Проверьте лог workflow, чтобы убедиться, что Claude получил триггер
- Временно упростите строгие инструкции
CLAUDE.md, если агент блокируется политикой
Признак успеха: Лог запуска action показывает ответ Claude и он публикует результат в PR/issue.
Что вставить в Claude
Когда вы застряли, дайте Claude структурированный контекст. Скопируйте этот шаблон:
I'm working on the Claude Code 101 course. I hit this issue:
**Block**: [какой блок]
**Step**: [какой шаг]
**Error**: [вставьте ошибку]
**What I tried**: [что вы уже пробовали]
Help me diagnose and fix this.
Чем точнее вы укажете блок, шаг и полный текст ошибки, тем быстрее Claude сможет помочь.
Если вы застреваете снова и снова, менторинг может быть быстрее, чем самостоятельная отладка.