From b7365c661e28dcf6e87ef83847fcaeaca3a97e2b Mon Sep 17 00:00:00 2001 From: Bortlesboat Date: Sun, 15 Mar 2026 17:22:36 -0400 Subject: [PATCH] fix(auth): auto-refresh expired tokens in single-user stdio mode When credentials had a refresh_token but credentials.expired was False (e.g., token=None with no stored expiry), the refresh was skipped and the server would start a new OAuth flow instead. This changes the condition to attempt refresh whenever credentials are not valid and a refresh_token is available, regardless of the expired flag. --- auth/google_auth.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/auth/google_auth.py b/auth/google_auth.py index 93e438e..d855d71 100644 --- a/auth/google_auth.py +++ b/auth/google_auth.py @@ -772,9 +772,9 @@ def get_credentials( logger.debug( f"[get_credentials] Credentials are valid. User: '{user_google_email}', Session: '{session_id}'" ) - elif credentials.expired and credentials.refresh_token: + elif credentials.refresh_token: logger.info( - f"[get_credentials] Credentials expired. Attempting refresh. User: '{user_google_email}', Session: '{session_id}'" + f"[get_credentials] Credentials not valid. Attempting refresh. User: '{user_google_email}', Session: '{session_id}'" ) try: logger.debug(