Read-only Telegram CLI for agent consumption. Authenticates as your personal Telegram account via MTProto and provides structured output optimized for LLM token efficiency.
npm install -g @notxcain/tgcli
tgcli auth
Session is saved to ~/.tgcli/session (mode 0600). Config saved to ~/.tgcli/config.json.
All commands output TOON (Token-Oriented Object Notation) by default — a compact format that reduces token usage by 30-60% vs JSON for arrays of objects. Use global flags to switch format:
| Flag | Format |
|---|---|
| (default) | TOON |
--json | JSON (pretty-printed) |
--plain | Human-readable plain text |
--format <fmt> | Explicit: toon, json, or plain |
Authenticate with your Telegram account (interactive).
tgcli auth
List all chat folders.
tgcli folders
tgcli folders --json
Search dialogs by name, or list chats in a folder.
tgcli search "Tech"
tgcli search --folder 248
tgcli search "Mom" --folder 248
Options: --folder <id>, --limit <n> (default: 20)
List chats with recent activity.
tgcli active
tgcli active --days 3
Options: --days <n> (default: 5), --limit <n> (default: 50)
Get chat metadata.
tgcli info "123456789"
tgcli info "123456789" --json
Read messages from a chat.
tgcli read "123456789" --limit 10
tgcli read "123456789" --after 2026-02-20
tgcli read "123456789" --before 2026-02-22 --after 2026-02-20
Options: --limit <n> (default: 50), --before <date>, --after <date>
Download media from a message.
tgcli download "123456789" 4522
tgcli download "123456789" 4522 --out-dir /tmp
Options: --out-dir <path> (default: .)
tgcli folders # find folder ID
tgcli search --folder 58 # list chats in folder
tgcli read "-100123" # read messages
tgcli download "-100123" 42 # download media
tgcli includes a Claude Code plugin with a command reference skill. When installed, Claude automatically knows how to use tgcli when you ask about Telegram messages, chats, or contacts.
Register the marketplace:
/plugin marketplace add notxcain/tgcli
Install the plugin:
/plugin install tgcli@tgcli
Start a new Claude Code session and ask something like "read my recent Telegram messages". Claude should automatically invoke the tgcli skill.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
npx claudepluginhub notxcain/tgcli --plugin tgcliDownload, export, convert, filter, and analyze Telegram chats via the telegram-download-chat CLI. Download messages from a chat/group/channel, convert an existing JSON export to TXT/HTML/PDF, filter by date/user/keyword, download media, extract subchats (reply threads), and download whole folders. Triggers on "download telegram chat", "export telegram", "convert telegram export", "скачать чат телеграм", "telegram-download-chat".
Parsing public Telegram channels via t.me/s/ web preview: posts, metrics, analytics, digests, competitive analysis
Ultra-compressed communication mode. Cuts ~75% of tokens while keeping full technical accuracy by speaking like a caveman.
Frontend design skill for UI/UX implementation
Comprehensive UI/UX design plugin for mobile (iOS, Android, React Native) and web applications with design systems, accessibility, and modern patterns
Memory compression system for Claude Code - persist context across sessions