# Notion CLI
Command-line interface for [[Notion]] with full API coverage in a single binary. Built in Go, designed like GitHub's `gh` CLI. Works well for scripting and AI agents; outputs colored tables in terminal, clean JSON when piped.
## Commands
8 groups, 39 subcommands:
- **auth** — login, logout, status, doctor
- **search** — workspace-wide queries
- **page** — view, create, update, delete, archive, property management
- **db** — database operations with querying and filtering
- **block** — content manipulation (Markdown in/out, recursive reads)
- **comment** — discussion threads
- **user** — workspace member access
- **file** — file management
- **api** — raw HTTP escape hatch for any endpoint
## Key Features
- Human-friendly filter syntax: `--filter 'Status=Done'` instead of raw JSON
- Schema-aware property detection (auto-identifies field types)
- Accepts URLs or IDs
- Markdown input/output for blocks (headings, lists, code, etc.)
- Recursive block reading with configurable depth
- Single binary, no runtime dependencies
## Installation
Homebrew, npm, Go, Scoop (Windows), Docker, or direct binary download (Linux/macOS/Windows, amd64/arm64).
## Configuration
Token stored in `~/.config/notion-cli/config.json` (mode 0600) or via `NOTION_TOKEN` env var.
## References
- https://github.com/4ier/notion-cli
## Related
- [[Notion]]