Fast CLI for accessing your Granola meeting notes, transcripts, and search.
This project reads from Granola's local cache file and uses undocumented APIs. Granola can change these at any time — expect this to break without notice.
This project is not affiliated with or endorsed by Granola.
git clone https://github.com/aaronvanston/granola-cli.git
cd granola-cli
bun install
bun link- macOS (primary support)
- Granola desktop app installed and logged in
This CLI expects Granola's data files at these locations:
| File | Path |
|---|---|
| Cache | ~/Library/Application Support/Granola/cache-v3.json |
| Auth | ~/Library/Application Support/Granola/supabase.json |
The Granola desktop app creates these files automatically when you log in.
granola list # Recent meetings
granola search "standup" # Find meetings
granola show "weekly sync" # View details
granola show "Kickoff" --expand-groups # Show groups + group directory
granola transcript "1:1" # Full transcript ⚡
granola transcript "Kickoff" --expand-groups # Expand invited groups
granola export "retro" ./out.md # Export to markdown| Command | Description |
|---|---|
list [n] |
List recent meetings (default: 20) |
search <query> |
Search by title, notes, or attendee |
show <id|title> |
Show meeting details and notes |
transcript <id|title> |
Fetch transcript ⚡ |
export <id|title> [path] |
Export to markdown |
show:--no-attendees,--expand-groups,--jsontranscript:--no-attendees,--expand-groups,--no-diarize,--no-timestamps,--raw,--json
Run granola help <command> for the full option list.
| Command | Description |
|---|---|
people |
List all people from meetings |
companies |
List companies |
person <name|email> |
Meetings with a person |
| Command | Description |
|---|---|
folders |
List folders |
folder <name|id> |
Notes in a folder |
shared |
Shared documents |
| Command | Description |
|---|---|
stats |
Cache statistics |
check |
Verify setup |
whoami |
Account details |
workspaces |
List workspaces |
sync |
Refresh from API ⚡ |
⚡ = Makes API call
granola transcript "meeting" # Full: organizer/attendees + You/Them + timestamps
granola transcript "meeting" --no-attendees # Hide organizer/attendees block
granola transcript "meeting" --expand-groups # Show group member directory (may not have attended)
granola transcript "meeting" --no-timestamps
granola transcript "meeting" --no-diarize
granola transcript "meeting" --raw # Plain text onlySpeaker diarization: You (green) = microphone, Them (cyan) = system audio.
| Option | Description |
|---|---|
--json |
Output as JSON |
--plain |
No emoji/colors |
--no-emoji |
Disable emoji only |
--no-color |
Disable ANSI colors |
-h, --help |
Help |
-v, --version |
Version |
Most commands read from local cache (fast, offline). Commands marked ⚡ make API calls to Granola servers.
MIT