MCP OAuth tokens expire in idle conversations with no way to re-authenticate

Resolved 💬 3 comments Opened Jan 15, 2026 by bonecondor Closed Jan 19, 2026

Problem

When a Claude desktop conversation using MCP servers (like "Control your Mac" via osascript) sits idle for several hours, the OAuth tokens expire. Returning to the conversation results in:

API Error: 401 {"type":"error","error":{"type":"authentication_error","message":"OAuth token has expired. Please obtain a new token or refresh your existing token."}}

Expected behavior

  • Tokens should auto-refresh when returning to a conversation
  • OR /login should actually re-authenticate the MCP connections

Actual behavior

  • Running /login does nothing visible and subsequent messages still fail with 401
  • There is no way to revive MCP connections in a stale conversation
  • Users must start a new conversation and lose context

Impact

This defeats the purpose of conversation persistence. Users can't step away overnight and resume work the next day without losing their MCP-enabled context.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗