notebooklm-auth-fingerprint-mismatch
NotebookLM MCP Auth Migration — Library Fingerprint Mismatch
Migrating cookies from notebooklm-py v0.3.4 to notebooklm-mcp-cli v0.5.17 fails silently: cookies are valid (not expired), format is correct, nlm login --manual reports success, but Google RPC calls return “Authentication expired”.
Root cause: Google enforces HTTP client fingerprint matching. Cookies captured by one library’s HTTP headers/user-agent are rejected when a different library’s HTTP stack uses them.
Fix: Fresh cookies must come from a live desktop Chrome session. Extract via DevTools → Network tab → Headers → cookie: request header value. document.cookie in Console does NOT work — Google auth cookies are httpOnly.
Injection: Parse semicolon-delimited string → flat JSON dict → write to profiles/default/cookies.json → nlm login --manual --file cookies.json --force.
Pattern: Any auth migration between libraries using different HTTP stacks requires fresh credential capture, not format conversion.
Related
- notebooklm
- docker
- notebooklm-upstream-auth-google-fingerprint-rejection
- notebooklm-mcp-cli-auth-requires-fresh-capture-not-migration
- notebooklm-migrated-cookies-rejected-different-http-fingerpr