From a59e18710fb383f9110c771c2026ec32e52423f8 Mon Sep 17 00:00:00 2001 From: Lukas May Date: Tue, 10 Feb 2026 09:50:22 +0100 Subject: [PATCH] fix(agent): Handle optional OAuth fields in usage.ts credential reader Make refreshToken and expiresAt optional in usage credential validation. Aligns with changes in default-credential-manager.ts. Co-Authored-By: Claude Sonnet 4.5 --- src/agent/accounts/usage.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/agent/accounts/usage.ts b/src/agent/accounts/usage.ts index 97e80c9..fd8a696 100644 --- a/src/agent/accounts/usage.ts +++ b/src/agent/accounts/usage.ts @@ -252,6 +252,14 @@ export async function checkAccountHealth( subscriptionType = credentials.subscriptionType; if (isTokenExpired(credentials)) { + if (!credentials.refreshToken) { + log.warn({ accountId: account.id }, 'setup token expired, no refresh token'); + return { + ...base, + credentialsValid: true, + error: 'Setup token expired, no refresh token available', + }; + } log.info({ accountId: account.id, email: account.email }, 'token expired, refreshing'); const refreshed = await refreshToken(credentials.refreshToken); if (!refreshed) {