2026-07-12 04:15:54,095 [INFO] === Starting auth check and refresh job === 2026-07-12 04:15:54,096 [INFO] Performing live authentication check... 2026-07-12 04:15:54,236 [INFO] HTTP Request: GET https://notebooklm.google.com/ "HTTP/1.1 302 Found" 2026-07-12 04:15:54,269 [INFO] HTTP Request: GET https://notebooklm.google.com/login?continue=https://notebooklm.google.com/ "HTTP/1.1 302 Found" 2026-07-12 04:15:54,314 [INFO] HTTP Request: GET https://accounts.google.com/ServiceLogin?passive=1209600&osid=1&continue=https://notebooklm.google.com/login?continue%3Dhttps://notebooklm.google.com/&followup=https://notebooklm.google.com/login?continue%3Dhttps://notebooklm.google.com/ "HTTP/1.1 302 Found" 2026-07-12 04:15:54,426 [INFO] HTTP Request: GET https://accounts.google.com/InteractiveLogin?continue=https://notebooklm.google.com/login?continue%3Dhttps://notebooklm.google.com/&followup=https://notebooklm.google.com/login?continue%3Dhttps://notebooklm.google.com/&osid=1&passive=1209600&dsh=S773051535:1783822554301621 "HTTP/1.1 302 Moved Temporarily" 2026-07-12 04:15:54,499 [INFO] HTTP Request: GET https://accounts.google.com/v3/signin/identifier?continue=https%3A%2F%2Fnotebooklm.google.com%2Flogin%3Fcontinue%3Dhttps%3A%2F%2Fnotebooklm.google.com%2F&dsh=S773051535%3A1783822554301621&followup=https%3A%2F%2Fnotebooklm.google.com%2Flogin%3Fcontinue%3Dhttps%3A%2F%2Fnotebooklm.google.com%2F&osid=1&passive=1209600&flowName=GlifWebSignIn&flowEntry=ServiceLogin&ifkv=AcDsRvzezq5TpSbk66K2_ktIRFgGG3jjJ1I61PNIRcI-yuot6p1Zq8MopcvFVJgzrit63LgamC4fdg "HTTP/1.1 200 OK" 2026-07-12 04:15:54,861 [INFO] HTTP Request: POST https://notebooklm.google.com/_/LabsTailwindUi/data/batchexecute?rpcids=wXbhsf&source-path=%2F&bl=boq_labs-tailwind-frontend_20260709.14_p0&hl=en&rt=c&f.sid=8981002280418596868 "HTTP/1.1 200 OK" 2026-07-12 04:15:54,964 [INFO] HTTP Request: POST https://accounts.google.com/RotateCookies "HTTP/1.1 401 Unauthorized" 2026-07-12 04:15:55,030 [INFO] HTTP Request: GET https://notebooklm.google.com/ "HTTP/1.1 302 Found" 2026-07-12 04:15:55,066 [INFO] HTTP Request: GET https://notebooklm.google.com/login?continue=https://notebooklm.google.com/ "HTTP/1.1 302 Found" 2026-07-12 04:15:55,100 [INFO] HTTP Request: GET https://accounts.google.com/ServiceLogin?passive=1209600&osid=1&continue=https://notebooklm.google.com/login?continue%3Dhttps://notebooklm.google.com/&followup=https://notebooklm.google.com/login?continue%3Dhttps://notebooklm.google.com/ "HTTP/1.1 302 Found" 2026-07-12 04:15:55,151 [INFO] HTTP Request: GET https://accounts.google.com/v3/signin/accountchooser?continue=https://notebooklm.google.com/login?continue%3Dhttps://notebooklm.google.com/&followup=https://notebooklm.google.com/login?continue%3Dhttps://notebooklm.google.com/&osid=1&passive=1209600&flowName=GlifWebSignIn&flowEntry=ServiceLogin&dsh=S1629265329:1783822555082816 "HTTP/1.1 200 OK" 2026-07-12 04:15:55,374 [INFO] HTTP Request: POST https://notebooklm.google.com/_/LabsTailwindUi/data/batchexecute?rpcids=wXbhsf&source-path=%2F&bl=boq_labs-tailwind-frontend_20260709.14_p0&hl=en&rt=c "HTTP/1.1 200 OK" 2026-07-12 04:15:55,375 [WARNING] โœ— Authentication is INVALID! Reason: network_error: ClientAuthenticationError 2026-07-12 04:15:55,375 [INFO] Details: {'exception': "Authentication expired. Run 'nlm login' in your terminal to re-authenticate. MCP users: the server should auto-detect the new credentials; if not, call the refresh_auth tool."} 2026-07-12 04:15:55,375 [INFO] Attempting automated auth recovery via Chrome headless revive... 2026-07-12 04:16:03,975 [INFO] Revive stdout: === [NotebookLM Auth Revive] === ๐Ÿงน Cleaning up any running Chrome processes on port 9223... Found process 148956 using port 9223. Terminating... ๐Ÿš€ Launching Google Chrome headless on port 9223... Chrome process started with PID: 151392 โณ Waiting for Chrome CDP interface to be ready... โœ… Chrome CDP is ready! ๐Ÿ”‘ Extracting session cookies and auth tokens... ๐Ÿ”Œ Connecting to Chrome headless CDP at port 9223... โœ… Chrome headless: Chrome/150.0.7871.114 ๐Ÿ“‚ Opening NotebookLM page... ๐ŸŒ Current URL: https://notebooklm.google.com/ โœ… Logged in! Extracting tokens... ๐Ÿช Cookies extracted: 52 total ๐ŸŽฏ Google-domain cookies: 41 ๐Ÿ”‘ CSRF token: โœ… PRESENT ๐Ÿ”‘ Session ID: โŒ MISSING ๐Ÿ”‘ Build label: โœ… PRESENT โœ… Auth tokens saved to profile 'default'! ๐Ÿงช Running verification... โœ… Auth check: VALID Profile: default โš ๏ธ API test failed (may need CSRF refresh): list_notebooks() missing 1 required positional argument: 'client' โœ… Done. 'nlm' commands should now work. === [Revive Completed Successfully] === 2026-07-12 04:16:03,976 [INFO] โœ“ Automated auth recovery completed successfully! 2026-07-12 17:19:20,181 [INFO] === Starting auth check and refresh job === 2026-07-12 17:19:20,182 [INFO] Performing live authentication check... 2026-07-12 17:19:20,332 [INFO] HTTP Request: GET https://notebooklm.google.com/ "HTTP/1.1 302 Found" 2026-07-12 17:19:20,362 [INFO] HTTP Request: GET https://notebooklm.google.com/login?continue=https://notebooklm.google.com/ "HTTP/1.1 302 Found" 2026-07-12 17:19:20,427 [INFO] HTTP Request: GET https://accounts.google.com/ServiceLogin?passive=1209600&osid=1&continue=https://notebooklm.google.com/login?continue%3Dhttps://notebooklm.google.com/&followup=https://notebooklm.google.com/login?continue%3Dhttps://notebooklm.google.com/ "HTTP/1.1 302 Found" 2026-07-12 17:19:20,462 [INFO] HTTP Request: GET https://accounts.google.com/InteractiveLogin?continue=https://notebooklm.google.com/login?continue%3Dhttps://notebooklm.google.com/&followup=https://notebooklm.google.com/login?continue%3Dhttps://notebooklm.google.com/&osid=1&passive=1209600&dsh=S-2063392956:1783869560415189 "HTTP/1.1 302 Moved Temporarily" 2026-07-12 17:19:20,546 [INFO] HTTP Request: GET https://accounts.google.com/v3/signin/identifier?continue=https%3A%2F%2Fnotebooklm.google.com%2Flogin%3Fcontinue%3Dhttps%3A%2F%2Fnotebooklm.google.com%2F&dsh=S-2063392956%3A1783869560415189&followup=https%3A%2F%2Fnotebooklm.google.com%2Flogin%3Fcontinue%3Dhttps%3A%2F%2Fnotebooklm.google.com%2F&osid=1&passive=1209600&flowName=GlifWebSignIn&flowEntry=ServiceLogin&ifkv=AcDsRvzVSgQcmyp619zVhuXaZzZHG7UizBoj4jHucGUlAPzQPZ3Gg2NpgI75sTvjnQEpn4Ed5lwRZw "HTTP/1.1 200 OK" 2026-07-12 17:19:20,914 [INFO] HTTP Request: POST https://notebooklm.google.com/_/LabsTailwindUi/data/batchexecute?rpcids=wXbhsf&source-path=%2F&bl=boq_labs-tailwind-frontend_20260709.14_p0&hl=en&rt=c&f.sid=5444777582559104122 "HTTP/1.1 200 OK" 2026-07-12 17:19:20,975 [INFO] HTTP Request: POST https://accounts.google.com/RotateCookies "HTTP/1.1 401 Unauthorized" 2026-07-12 17:19:21,067 [INFO] HTTP Request: GET https://notebooklm.google.com/ "HTTP/1.1 302 Found" 2026-07-12 17:19:21,110 [INFO] HTTP Request: GET https://notebooklm.google.com/login?continue=https://notebooklm.google.com/ "HTTP/1.1 302 Found" 2026-07-12 17:19:21,143 [INFO] HTTP Request: GET https://accounts.google.com/ServiceLogin?passive=1209600&osid=1&continue=https://notebooklm.google.com/login?continue%3Dhttps://notebooklm.google.com/&followup=https://notebooklm.google.com/login?continue%3Dhttps://notebooklm.google.com/ "HTTP/1.1 302 Found" 2026-07-12 17:19:21,238 [INFO] HTTP Request: GET https://accounts.google.com/v3/signin/accountchooser?continue=https://notebooklm.google.com/login?continue%3Dhttps://notebooklm.google.com/&followup=https://notebooklm.google.com/login?continue%3Dhttps://notebooklm.google.com/&osid=1&passive=1209600&flowName=GlifWebSignIn&flowEntry=ServiceLogin&dsh=S1261739351:1783869561127416 "HTTP/1.1 200 OK" 2026-07-12 17:19:21,466 [INFO] HTTP Request: POST https://notebooklm.google.com/_/LabsTailwindUi/data/batchexecute?rpcids=wXbhsf&source-path=%2F&bl=boq_labs-tailwind-frontend_20260709.14_p0&hl=en&rt=c "HTTP/1.1 200 OK" 2026-07-12 17:19:21,467 [WARNING] โœ— Authentication is INVALID! Reason: network_error: ClientAuthenticationError 2026-07-12 17:19:21,467 [INFO] Details: {'exception': "Authentication expired. Run 'nlm login' in your terminal to re-authenticate. MCP users: the server should auto-detect the new credentials; if not, call the refresh_auth tool."} 2026-07-12 17:19:21,467 [INFO] Attempting automated auth recovery via Chrome headless revive... 2026-07-12 17:19:34,550 [INFO] Revive stdout: === [NotebookLM Auth Revive] === ๐Ÿงน Cleaning up any running Chrome processes on port 9223... Found process 208729 using port 9223. Terminating... ๐Ÿš€ Launching Google Chrome headless on port 9223... Chrome process started with PID: 212191 โณ Waiting for Chrome CDP interface to be ready... โœ… Chrome CDP is ready! ๐Ÿ”‘ Extracting session cookies and auth tokens... ๐Ÿ”Œ Connecting to Chrome headless CDP at port 9223... โœ… Chrome headless: Chrome/150.0.7871.114 ๐Ÿ“‚ Opening NotebookLM page... ๐ŸŒ Current URL: https://accounts.google.com/v3/signin/identifier?continue=https%3A%2F%2Fnotebooklm.google.com%2Flogi โณ Not logged in yet โ€” waiting for redirect... ๐ŸŒ After waiting: https://accounts.google.com/v3/signin/identifier?continue=https%3A%2F%2Fnotebooklm.google.com%2Flogi โš ๏ธ NOT logged in โ€” page is at accounts.google.com โ†’ The Chrome profile has no valid session. โ†’ To fix: tunnel Chrome to your local machine via: ssh -N -L 9223:127.0.0.1:9223 root@ โ†’ Then open chrome://inspect โ†’ add localhost:9223 โ†’ log in โ†’ After login, re-run this script. 2026-07-12 17:19:34,551 [ERROR] โœ— Automated recovery failed! Manual login intervention required. 2026-07-12 17:19:35,022 [INFO] === Starting auth check and refresh job === 2026-07-12 17:19:35,022 [INFO] Performing live authentication check... 2026-07-12 17:19:35,162 [INFO] HTTP Request: GET https://notebooklm.google.com/ "HTTP/1.1 302 Found" 2026-07-12 17:19:35,202 [INFO] HTTP Request: GET https://notebooklm.google.com/login?continue=https://notebooklm.google.com/ "HTTP/1.1 302 Found" 2026-07-12 17:19:35,267 [INFO] HTTP Request: GET https://accounts.google.com/ServiceLogin?passive=1209600&osid=1&continue=https://notebooklm.google.com/login?continue%3Dhttps://notebooklm.google.com/&followup=https://notebooklm.google.com/login?continue%3Dhttps://notebooklm.google.com/ "HTTP/1.1 302 Found" 2026-07-12 17:19:35,300 [INFO] HTTP Request: GET https://accounts.google.com/InteractiveLogin?continue=https://notebooklm.google.com/login?continue%3Dhttps://notebooklm.google.com/&followup=https://notebooklm.google.com/login?continue%3Dhttps://notebooklm.google.com/&osid=1&passive=1209600&dsh=S-1122643516:1783869575250545 "HTTP/1.1 302 Moved Temporarily" 2026-07-12 17:19:35,359 [INFO] HTTP Request: GET https://accounts.google.com/v3/signin/identifier?continue=https%3A%2F%2Fnotebooklm.google.com%2Flogin%3Fcontinue%3Dhttps%3A%2F%2Fnotebooklm.google.com%2F&dsh=S-1122643516%3A1783869575250545&followup=https%3A%2F%2Fnotebooklm.google.com%2Flogin%3Fcontinue%3Dhttps%3A%2F%2Fnotebooklm.google.com%2F&osid=1&passive=1209600&flowName=GlifWebSignIn&flowEntry=ServiceLogin&ifkv=AcDsRvzsNU6f0Vk_LcK945Tagx2oLOlT3QFu_iMfGCi0dMjgP2sTO3Q7ROv38dEOwMXMf3cF6klkWQ "HTTP/1.1 200 OK" 2026-07-12 17:19:35,666 [INFO] HTTP Request: POST https://notebooklm.google.com/_/LabsTailwindUi/data/batchexecute?rpcids=wXbhsf&source-path=%2F&bl=boq_labs-tailwind-frontend_20260709.14_p0&hl=en&rt=c&f.sid=5444777582559104122 "HTTP/1.1 200 OK" 2026-07-12 17:19:35,739 [INFO] HTTP Request: POST https://accounts.google.com/RotateCookies "HTTP/1.1 401 Unauthorized" 2026-07-12 17:19:35,815 [INFO] HTTP Request: GET https://notebooklm.google.com/ "HTTP/1.1 302 Found" 2026-07-12 17:19:35,853 [INFO] HTTP Request: GET https://notebooklm.google.com/login?continue=https://notebooklm.google.com/ "HTTP/1.1 302 Found" 2026-07-12 17:19:35,891 [INFO] HTTP Request: GET https://accounts.google.com/ServiceLogin?passive=1209600&osid=1&continue=https://notebooklm.google.com/login?continue%3Dhttps://notebooklm.google.com/&followup=https://notebooklm.google.com/login?continue%3Dhttps://notebooklm.google.com/ "HTTP/1.1 302 Found" 2026-07-12 17:19:35,993 [INFO] HTTP Request: GET https://accounts.google.com/v3/signin/accountchooser?continue=https://notebooklm.google.com/login?continue%3Dhttps://notebooklm.google.com/&followup=https://notebooklm.google.com/login?continue%3Dhttps://notebooklm.google.com/&osid=1&passive=1209600&flowName=GlifWebSignIn&flowEntry=ServiceLogin&dsh=S489094508:1783869575873007 "HTTP/1.1 200 OK" 2026-07-12 17:19:36,213 [INFO] HTTP Request: POST https://notebooklm.google.com/_/LabsTailwindUi/data/batchexecute?rpcids=wXbhsf&source-path=%2F&bl=boq_labs-tailwind-frontend_20260709.14_p0&hl=en&rt=c "HTTP/1.1 200 OK" 2026-07-12 17:19:36,215 [WARNING] โœ— Authentication is INVALID! Reason: network_error: ClientAuthenticationError 2026-07-12 17:19:36,215 [INFO] Details: {'exception': "Authentication expired. Run 'nlm login' in your terminal to re-authenticate. MCP users: the server should auto-detect the new credentials; if not, call the refresh_auth tool."} 2026-07-12 17:19:36,215 [INFO] Attempting automated auth recovery via Chrome headless revive... 2026-07-12 17:19:49,008 [INFO] Revive stdout: === [NotebookLM Auth Revive] === ๐Ÿงน Cleaning up any running Chrome processes on port 9223... Found process 212191 using port 9223. Terminating... ๐Ÿš€ Launching Google Chrome headless on port 9223... Chrome process started with PID: 212407 โณ Waiting for Chrome CDP interface to be ready... โœ… Chrome CDP is ready! ๐Ÿ”‘ Extracting session cookies and auth tokens... ๐Ÿ”Œ Connecting to Chrome headless CDP at port 9223... โœ… Chrome headless: Chrome/150.0.7871.114 ๐Ÿ“‚ Opening NotebookLM page... ๐ŸŒ Current URL: https://accounts.google.com/v3/signin/identifier?continue=https%3A%2F%2Fnotebooklm.google.com%2Flogi โณ Not logged in yet โ€” waiting for redirect... ๐ŸŒ After waiting: https://accounts.google.com/v3/signin/identifier?continue=https%3A%2F%2Fnotebooklm.google.com%2Flogi โš ๏ธ NOT logged in โ€” page is at accounts.google.com โ†’ The Chrome profile has no valid session. โ†’ To fix: tunnel Chrome to your local machine via: ssh -N -L 9223:127.0.0.1:9223 root@ โ†’ Then open chrome://inspect โ†’ add localhost:9223 โ†’ log in โ†’ After login, re-run this script. 2026-07-12 17:19:49,009 [ERROR] โœ— Automated recovery failed! Manual login intervention required.