Обновлено: 2026-09-14
❯ claude✗ Your session has expired. Please run /login to sign in again.# first, make sure no API key is overriding the subscription:❯ echo $ANTHROPIC_API_KEYsk-ant-api03-… ← unset this if you meant to use Pro/Max❯ /logoutLogged out. Cleared ~/.claude/.credentials.json.❯ /loginOpening browser to authenticate…✔ Logged in as you@example.com — Claude Pro
Что на самом деле значит «сессия истекла»
Claude Code не отправляет ваш пароль с каждым запросом. Когда вы выполняете /login, завершается вход через браузер и OAuth-токен сохраняется в ~/.claude/.credentials.json (или в системном хранилище ключей). Этот access-токен короткоживущий и обновляется в фоне с помощью более долгоживущего refresh-токена.
«Your session has expired. Please run /login» означает, что токен, который держит Claude Code, мёртв, а фоновое обновление было отклонено. Это не баг в вашем коде или промпте — это состояние авторизации, которое нужно восстановить.
Что срабатывает чаще всего: /logout, затем /login
Внутри Claude Code выполните /login и пройдите вход в браузере. Если само по себе не закрепляется — сначала /logout, чтобы сбросить устаревшие данные, затем /login заново с чистого состояния. Чистый цикл logout→login решает подавляющее большинство случаев.
Если шаг с браузером открывается, но не завершается, скопируйте ссылку авторизации в браузер, где вы уже вошли в claude.ai, подтвердите и вставьте код обратно в терминал.
Если зацикливается или возвращается через часы
Когда /login проходит, но вас снова разлогинивает вскоре после — падает само обновление токена. Частые причины: вы сменили пароль Anthropic, вышли из claude.ai (или «выйти на всех устройствах») в другом месте, аккаунт или админ отозвали сессии, машина спала или была офлайн дольше окна обновления, либо сбиты системные часы — уплывшие часы заставляют валидный токен выглядеть истёкшим.
Сначала устраните первопричину: включите автосинхронизацию часов и не выходите из всех веб-сессий, пока Claude Code запущен. Затем один чистый /logout → /login.
Ловушка ANTHROPIC_API_KEY
Самая частая причина входа, который «не держится», — переменная окружения ANTHROPIC_API_KEY в профиле оболочки. Claude Code предпочтёт API-ключ входу по подписке, а этот pay-as-you-go ключ может быть истёкшим, упёршимся в лимит или с другими правами — и это всплывает как ошибки авторизации, хотя с подпиской всё в порядке.
Проверьте: `echo $ANTHROPIC_API_KEY` (macOS/Linux) или `echo %ANTHROPIC_API_KEY%` (Windows). Если он задан, а вы хотели пользоваться подпиской Pro/Max, уберите его из профиля оболочки (~/.zshrc, ~/.bashrc или переменных среды Windows), перезапустите терминал и сделайте /login.
Крайняя мера: удалить credential-файл
Если /logout → /login всё равно зацикливается, сохранённые данные повреждены — недописанный ~/.claude/.credentials.json или запись в Keychain на macOS, которая заблокирована или недоступна для записи. Закройте Claude Code, удалите ~/.claude/.credentials.json, откройте заново и выполните /login, чтобы авторизоваться с нуля. На macOS может понадобиться удалить запись «Claude Code» в Keychain Access.
В этом файле — живые учётные данные: относитесь к нему как к файлу с паролями и никогда не вставляйте его содержимое в чат или скриншот.
Проверьте, жива ли вообще ваша сессия
Прежде чем тратить время на лечение, полезно понять, жива ли вообще базовая сессия claude.ai — тот же аккаунт, в который входит Claude Code. Выгрузите cookie сессии claude.ai и прогоните её через проверку ниже: за секунды узнаете, жива ли сессия, какой тариф и сколько осталось от 5-часового и недельного лимитов — так вы отличите истёкшую сессию от упёршегося лимита.
Вход Claude Code — вопросы
Refresh-токен за /login живёт примерно 30 дней активности, но выдаваемый им access-токен короткоживущий и обновляется в фоне. На практике заново делать /login приходится раз в несколько недель — если это каждые несколько часов, что-то блокирует обновление (см. причины про ANTHROPIC_API_KEY и часы выше).
Редко — переустановка не чистит ~/.claude/.credentials.json, так что повреждённые данные остаются. Точечное решение — удалить этот файл (или запись в хранилище ключей) и сделать /login; переустановка нужна, только если сломан сам бинарник.
Нет. Ошибка сессии/входа не тратит лимит и деньги. Но если задан ANTHROPIC_API_KEY, Claude Code может биллить этот API-ключ по токенам вместо подписки — повод убрать его, если вы хотели Pro или Max.
Для интерактивной работы на тарифе Pro/Max используйте вход по подписке (/login) и уберите ANTHROPIC_API_KEY. API-ключ — только для автоматизации или CI, где нужен помегабайтный биллинг и без шага с браузером.
Машина, спавшая или бывшая офлайн дольше окна обновления, даёт токену истечь, а VPN или прокси могут завалить запрос обновления или показать новую локацию. Переподключитесь, проверьте часы и сделайте /login один раз со стабильного соединения.
Жива ли ваша сессия Claude?
Вставьте cookie сессии claude.ai и за секунды узнайте, валидна ли она, какой тариф и сколько осталось от 5-часового и недельного лимитов.