OAuth token expires frequently despite refresh_token present
Resolved 💬 3 comments Opened Apr 14, 2026 by mrachenko Closed Apr 14, 2026
Description
Authentication drops multiple times per day. ~/.claude/.credentials.json contains a refreshToken but it doesn't auto-refresh. Requires manual /login each time.
Started happening recently. Running /login in one session fixes all sessions (they share the same credentials file).
Environment
- Claude Code version: 2.1.92 (native installer)
- OS: Ubuntu Linux (VPS)
- Auth method: OAuth (Max $200 plan)
- Setup: Multiple tmux sessions with Claude Code running, sharing the same credentials file
Steps to reproduce
/loginin one session- Run Claude Code in multiple tmux sessions
- After some hours all sessions lose auth simultaneously
What Should Happen?
Token should auto-refresh using the stored refreshToken without requiring manual /login. Sessions should stay authenticated indefinitely.
What Actually Happens?
Token expires silently, all sessions stop working until manual /login.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗