Fixed
- Python 3.11 TypedDict compatibility (Issue #167) — Pydantic v2 rejects
typing.TypedDicton Python < 3.12. All 13 service files now importTypedDictfrom a centralized compat shim (services/_compat.py) that usestyping_extensionson < 3.12. Addedtyping_extensionsas an explicit dependency for Python < 3.12. Thanks to @irvinghu07 for the clear report and suggested fixes! - SOCKS proxy blocks
nlm login(Issue #167) — The CDP helper'shttpx.ClientinheritedALL_PROXYfrom the environment, causingImportError: socksio not installedon localhost CDP connections. Fixed withtrust_env=False. Thanks to @irvinghu07! - MCP
notebook_listalways returns "Authentication expired" (Issue #169) —save_tokens_to_cache()only wrote to the legacyauth.json, butload_cached_tokens()prioritizesprofiles/default/cookies.json. Tokens saved via the MCPsave_auth_tokenstool were never read back. Fixed by syncing writes to bothauth.jsonand the active profile. Thanks to @nobolso for the thorough diagnosis and file structure analysis! - Python 3.14 Windows
pathlib.mkdirregression (Issue #169) —Path.mkdir(parents=True, exist_ok=True)raisesFileExistsError(WinError 183) on Python 3.14 + Windows. Addedsafe_mkdir()wrapper applied to allmkdircalls acrossconfig.py,auth.py,base.py, andcdp.py. Thanks to @nobolso!
Upgrade: uv tool upgrade notebooklm-mcp-cli or pip install --upgrade notebooklm-mcp-cli