
Gemini Notebook CLI
Installs and runs notebooklm-py to manage notebooks, sources, chat, and artifacts.
Install
npx skills add teng-lin/notebooklm-py --skill notebooklm -g -a claude-code -y- Repository
- teng-lin/notebooklm-py20.1k
- Category
- AI and agents
- Updated
- 5d ago
- License
- MIT
- Context cost
- Mediumabout 3,000 tokens
- Runs scripts
- No, instructions only
What it does
Install, authenticate, troubleshoot, and operate Gemini Notebook through the notebooklm-py CLI or typed async Python API. Use for notebook and source management, grounded chat and research, and artifact generation or download when the user mentions Gemini Notebook, notebooklm-py, the notebooklm CLI, or its Python API. Do not use for the generic Gemini API or unrelated content creation.
Gemini Notebook Automation
Use the notebooklm CLI for agent workflows. Prefer --json and explicit IDs so every
operation is inspectable and safe under concurrency. Use the typed async Python API only when the
user requests application code or the CLI cannot express the workflow. The readiness, identity,
authorization, and credential-handling rules below apply to both interfaces.
Setup and Authentication
Requires Python 3.10+. Install the package in the user's existing environment; do not create a separate environment unless requested:
pip install "notebooklm-py[browser]"
pip install "notebooklm-py[cookies]" # optional browser-cookie extraction
If system pip reports externally-managed-environment, do not use --break-system-packages.
For CLI-only use, offer uv tool install "notebooklm-py[browser]" or the equivalent pipx
command; for application code, use the user's active project environment.
For unattended or headless work, prefer durable profile-backed master-token auth over a copied
cookie snapshot. Install pip install "notebooklm-py[headless]"; the one-time automatic OAuth
capture also needs [browser]. On a trusted workstation run
notebooklm login --master-token --account <email>, then deploy master_token.json, not
storage_state.json, to the selected profile. NOTEBOOKLM_HOME selects the private base directory
and NOTEBOOKLM_PROFILE selects its profile; defaults resolve to
~/.notebooklm/profiles/default/master_token.json.
In CI, NOTEBOOKLM_MASTER_TOKEN_JSON is a secret-transport convention, not an environment variable
the package reads directly. Write its exact value to the selected profile's master_token.json
with mode 0600, unset it, then run notebooklm auth refresh to mint storage_state.json. A
sibling master token can automatically re-mint expired file-backed cookies. Inline
NOTEBOOKLM_AUTH_JSON is only a short-lived fallback; it bypasses this recovery path.

