← Все артефакты

Переавторизация Claude на сервере

Если бот перестал отвечать или мгновенно присылает пустые сообщения, скорее всего истёк вход агента в Claude. Ручное обновление занимает около 5 минут.

Признаки

Причина

Claude выдаёт агенту токен доступа на срок около суток, перед каждым запросом агент обновляет его сам. Обновление ломается после смены пароля в Anthropic, после случайного запуска claude setup-token и в других редких случаях. Раз в год-два ручной вход бывает нужен: это обычная мера безопасности.

Порядок

  1. Подключиться к серверу. Через VS Code: Remote Explorer → Tunnels → сервер. Либо по SSH.
  2. Открыть терминал (Ctrl + ` ``).
  3. Переключиться на пользователя бота:
sudo -u agent -i

В строке приглашения должно стоять $, а не #. Если бот работает не от agent, имя можно узнать командой systemctl cat agent-bot | grep User.

  1. Запустить вход:
claude /login

На вопрос о доверии папке нажать 1. В меню выбрать Claude Pro/Max subscription. Варианты «API key» и «Create token» не подходят.

  1. Авторизоваться в браузере. Скопировать длинную ссылку из терминала, открыть её на своём компьютере, войти под аккаунтом с подпиской Pro или Max и нажать «Authorize». Появится короткий код.
  2. Вставить код в терминал и нажать Enter. Должно появиться Login successful.
  3. Выйти и перезапустить бота:
exit
sudo systemctl restart agent-bot
  1. Проверить: написать боту любое сообщение.

Если через сутки сломалось снова

Мешают устаревшие переменные окружения со старого входа. От root или через sudo:

sudo sed -i '/^CLAUDE_CODE_OAUTH_TOKEN=/d' /home/agent/.agent/.env
sudo sed -i '/^CLAUDE_CODE_OAUTH_REFRESH_TOKEN=/d' /home/agent/.agent/.env
sudo sed -i '/^CLAUDE_CODE_OAUTH_SCOPES=/d' /home/agent/.agent/.env

Затем повторить шаги 3–8. Это безопасно: настоящий токен хранится в другом файле.

Типичные ошибки