{"record":{"id":"e9fdd3a3f55b3314","repo":"jackwener/OpenCLI","slug":"waiting-for-google-sso-cookies-sid-sapisid","errorCode":null,"errorMessage":"Waiting for Google SSO cookies (SID + SAPISID)","messagePattern":"Waiting for Google SSO cookies \\(SID \\+ SAPISID\\)","errorType":"exception","errorClass":"AuthRequiredError","httpStatus":null,"severity":"warning","filePath":"clis/notebooklm/auth.js","lineNumber":53,"sourceCode":"      }\n      return { ok: true, name, authuser };\n    })()\n  `));\n  if (probe?.kind === 'auth') throw new AuthRequiredError(NOTEBOOKLM_DOMAIN, probe.detail);\n  if (!probe?.ok) throw new CommandExecutionError(`Unexpected NotebookLM probe: ${JSON.stringify(probe)}`);\n  return { name: probe.name, authuser: probe.authuser };\n}\n\nregisterSiteAuthCommands({\n  site: 'notebooklm',\n  domain: 'google.com',\n  loginUrl: `https://accounts.google.com/ServiceLogin?service=lso&continue=${encodeURIComponent(NOTEBOOKLM_HOME_URL)}`,\n  columns: ['name', 'authuser'],\n  quickCheck: hasNotebookLmSsoCookies,\n  verify: verifyNotebookLmIdentity,\n  poll: async (page) => {\n    if (!await hasNotebookLmSsoCookies(page)) {\n      throw new AuthRequiredError(NOTEBOOKLM_DOMAIN, 'Waiting for Google SSO cookies (SID + SAPISID)');\n    }\n    return verifyNotebookLmIdentity(page);\n  },\n});\n","sourceCodeStart":35,"sourceCodeEnd":58,"githubUrl":"https://github.com/jackwener/OpenCLI/blob/49907e53dc3ade5c223ff0c4c2c2785687cec4e6/clis/notebooklm/auth.js#L35-L58","documentation":"During the interactive auth polling loop, each poll first checks for SID and SAPISID cookies; if they have not appeared yet it throws AuthRequiredError 'Waiting for Google SSO cookies (SID + SAPISID)'. This is a transient, expected signal while the user completes Google SSO — polling continues until cookies land and verify() succeeds.","triggerScenarios":"Polling fires while the user is still on the Google login page (has not finished sign-in), or the login tab was closed/abandoned so cookies never get set.","commonSituations":"User slow to complete 2FA; user closed the login window; Google blocked the automated browser; wrong login URL opened.","solutions":["Complete the Google sign-in in the opened browser window, including 2FA.","Keep the login tab open until redirected back to NotebookLM.","If polling times out repeatedly, restart login with a profile that already has a Google session.","Check that popups aren't blocked, preventing the accounts.google.com flow."],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":"await pollUntil(async () => {\n  try {\n    return await quickCheck();\n  } catch (e) {\n    if (String(e.message).includes('Waiting for Google SSO cookies')) return null; // keep waiting\n    throw e;\n  }\n}, { timeoutMs: 120000, intervalMs: 2000 });","preventionTips":["Treat this as transient — keep the login window open and complete SSO.","Use a generous poll timeout to accommodate 2FA.","Abort early only if the login tab was closed or timed out."],"tags":["auth","polling","google-sso","transient"],"backgroundTag":"missing-auth-cookies","analyzedSha":"49907e53dc3ade5c223ff0c4c2c2785687cec4e6","analyzedAt":"2026-08-29T08:14:47.543Z","schemaVersion":2},"datasetVersion":"2026-08-29T12:17:43.993Z"}