NotebookLM CLI
Overview
This skill provides complete access to Google NotebookLM through a command-line interface. Manage notebooks, sources, and generate various content formats including audio podcasts, reports, quizzes, flashcards, mind maps, slides, infographics, videos, and data tables.
When to Use This Skill
Use this skill when:
- Managing NotebookLM notebooks and sources programmatically
- Generating audio overviews (podcasts) from notebook sources
- Creating study materials: quizzes, flashcards, reports
- Producing visual content: slides, infographics, mind maps, videos
- Querying sources via chat or one-shot questions
- Researching and importing new sources automatically
Quick Start
Authentication
nlm login
Launches Chrome, navigates to NotebookLM, and extracts session cookies. Requires Google Chrome installed.
List Notebooks
nlm notebook list
Create Notebook and Add Sources
nlm notebook create "My Research"
nlm source add <notebook-id> --url ""
nlm source add <notebook-id> --text "Your content here" --title "My Notes"
Generate Content (All Types)
All generation commands require --confirm or -y:
nlm audio create <id> --confirm # Podcast
nlm report create <id> --confirm # Briefing doc or study guide
nlm quiz create <id> --confirm # Quiz questions
nlm flashcards create <id> --confirm # Flashcards
nlm mindmap create <id> --confirm # Mind map
nlm slides create <id> --confirm # Slide deck
nlm infographic create <id> --confirm # Infographic
nlm video create <id> --confirm # Video overview
nlm data-table create <id> "description" --confirm # Data table
Authentication
nlm login | Authenticate with NotebookLM (opens Chrome) |
nlm login --check | Verify current credentials |
nlm auth status | Check session validity |
nlm auth list | List all profiles |
nlm auth delete --confirm | Delete a profile |
nlm login --profile | Login to specific profile |
Sessions last ~20 minutes. Re-authenticate with
nlm login if commands fail.
Notebook Management
nlm notebook list | List all notebooks |
nlm notebook create "Title" | Create a new notebook |
nlm notebook get | Get notebook details |
nlm notebook describe | AI-generated summary |
nlm notebook query "question" | Chat with sources |
nlm notebook delete --confirm | Delete a notebook |
Source Management
nlm source list | List sources in notebook |
nlm source list --drive | Show Drive sources with freshness |
nlm source add --url "..." | Add URL or YouTube source |
nlm source add --text "..." --title "..." | Add pasted text |
nlm source add --drive | Add Google Drive document |
nlm source describe | AI summary of source |
nlm source content | Get raw text content |
nlm source stale | List outdated Drive sources |
nlm source sync --confirm | Sync Drive sources |
Content Generation
All generation commands require --confirm or -y:
Media Types
nlm audio create --confirm | Audio podcast overview |
nlm report create --confirm | Briefing doc or study guide |
nlm quiz create --confirm | Quiz questions |
nlm flashcards create --confirm | Flashcards |
nlm mindmap create --confirm | Mind map |
nlm slides create --confirm | Slide deck |
nlm infographic create --confirm | Infographic |
nlm video create --confirm | Video overview |
nlm data-table create "description" --confirm | Data table extraction |
Studio (Artifact Management)
nlm studio status | List all generated artifacts |
nlm studio delete --confirm | Delete an artifact |
Chat
nlm chat start | Start interactive REPL session |
nlm chat configure | Configure chat goal and response style |
nlm notebook query "question" | One-shot question (no session) |
Chat REPL commands:
/sources,
/clear,
/help,
/exit
Research
nlm research start "query" --notebook-id | Web search (~30s) |
nlm research start "query" --notebook-id --mode deep | Deep research (~5min) |
nlm research start "query" --notebook-id --source drive | Search Google Drive |
nlm research status | Check research progress |
nlm research import | Import discovered sources |
Aliases (UUID Shortcuts)
nlm alias set myproject <uuid> # Create alias
nlm notebook get myproject # Use alias
nlm alias list # List all aliases
nlm alias get myproject # Resolve to UUID
nlm alias delete myproject # Remove alias
Output Formats
Most list commands support multiple formats:
nlm notebook list # Rich table (default)
nlm notebook list --json # JSON output
nlm notebook list --quiet # IDs only (for scripting)
nlm notebook list --title # "ID: Title" format
nlm notebook list --full # All columns
Profiles (Multiple Accounts)
nlm login --profile work # Login to profile
nlm notebook list --profile work # Use profile
nlm auth list # List all profiles
nlm auth delete work --confirm # Delete profile
Configuration
nlm config show # Show current configuration
nlm config get <key> # Get specific setting
nlm config set <key> <value> # Update setting
AI Documentation
For AI assistants, generate comprehensive documentation:
nlm --ai
Outputs 400+ lines covering all commands, authentication flow, error handling, task sequences, and automation tips.
References
- Command Reference - Complete command signatures
- Troubleshooting - Error diagnosis and solutions
- Workflows - End-to-end task sequences