Skip to main content

CCGram — Control AI Coding Agents from Telegram

CI PyPI License

Control AI coding agents from your phone. Walk away mid-session. Keep monitoring and responding from Telegram—without losing terminal access.

Why CCGram?

AI coding agents run in your terminal. Other Telegram bots wrap agent SDKs into isolated API sessions you can't resume in your terminal. CCGram is different. It sits on top of your terminal multiplexer (tmux or herdr), not any agent SDK. Your agent process stays exactly where it is—your session is the source of truth.

This means:

  • Desktop to phone, mid-conversation — walk away and keep monitoring from Telegram
  • Phone back to desktop, anytime — attach to your terminal and you're back with full scrollback
  • Multiple sessions in parallel — each Telegram topic maps to a separate window, each running a different agent

How It Works

graph LR
  subgraph phone["📱 Telegram Group (Forum Topics)"]
    direction TB
    T1["💬 api — Claude"]
    T2["💬 ui — Codex"]
    T3["💬 data — Gemini"]
    T4["💬 ops — Shell"]
    T5["💬 lab — Pi"]
  end

  subgraph bridge["⚡ CCGram"]
    direction TB
    B1["read output\n(transcripts + terminal)"]
    B2["send keystrokes\n(tmux / herdr)"]
    B3["instant notifications\n(Claude hooks)"]
  end

  subgraph machine["🖥️ Your Machine — tmux / herdr"]
    direction TB
    W1["window @0 · claude"]
    W2["window @1 · codex"]
    W3["window @2 · gemini"]
    W4["window @3 · bash"]
    W5["window @4 · pi"]
  end

  phone -- "messages / voice" --> bridge
  bridge -- "responses / live view" --> phone
  bridge <--> machine

  style phone fill:#e8f4fd,stroke:#0088cc,stroke-width:2px,color:#333
  style bridge fill:#fff8e1,stroke:#f9a825,stroke-width:2px,color:#333
  style machine fill:#f0faf0,stroke:#2ea44f,stroke-width:2px,color:#333

Each Telegram topic maps to one multiplexer window. Type in Telegram → keystrokes to pane → agent output back to Telegram.


What You Can Do

  • Bind agents to topics — one agent per Telegram topic; create via directory browser
  • Auto-detect providers — Supports Claude Code, Codex, Gemini, Pi, and Shell simultaneously
  • Monitor live — Terminal screenshots on demand or auto-refresh every 5 seconds
  • Send commands — Slash commands, voice messages (transcribed via Whisper), or raw shell input
  • Run multiple agents in parallel — each topic independent; run different agents at once
  • Recover gracefully — Resume, continue, or start fresh if a session crashes
  • Send workspace files — Share files to Telegram via /send (glob, path, or substring search)
  • Action toolbar — Provider-specific buttons for common actions (Screenshot, Mode, Esc, Enter, etc.)

Quick Start

Install:

uv tool install ccgram          # recommended
# or: pipx install ccgram | brew install alexei-led/tap/ccgram

Telegram setup:

  1. Create a bot via @BotFatherfull instructions
  2. Add bot to a Telegram group with Topics enabled; promote to Admin
  3. Create ~/.ccgram/.env:
TELEGRAM_BOT_TOKEN=your_bot_token_here
ALLOWED_USERS=your_telegram_user_id
CCGRAM_GROUP_ID=your_telegram_group_id

Get user ID from @userinfobot. Get group ID via @RawDataBot (prefix Peer ID with -100).

Run:

ccgram

Open your Telegram group, create a topic, send a message — directory browser appears. Pick a project directory, choose your agent (Claude, Codex, Gemini, Pi, or Shell), and you're connected.

Prerequisites: Python 3.14+, tmux or herdr (CCGram controls a terminal multiplexer; no agent SDK modifications needed), and one agent CLI (claude, codex, gemini, pi installed and authenticated, or use shell with no extra install).


Documentation

  • Guides — CLI reference, configuration, voice transcription, multi-instance setup, session recovery, testing
  • Providers — Claude Code, Codex, Gemini, Pi, Shell; session modes, LLM config, custom commands, git worktrees

Optional Features

Web Dashboard — Live terminal (xterm.js), transcript search, multi-pane grid in Telegram. Disabled by default. Enable here.


Development

git clone https://github.com/alexei-led/ccgram.git && cd ccgram
uv sync --extra dev
make check         # lint, format, typecheck, test
make test-e2e      # end-to-end tests (requires agent CLIs; see docs/guides.md#e2e-tests)

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ccgram-4.3.7.tar.gz (16.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ccgram-4.3.7-py3-none-any.whl (15.8 MB view details)

Uploaded Python 3

File details

Details for the file ccgram-4.3.7.tar.gz.

File metadata

  • Download URL: ccgram-4.3.7.tar.gz
  • Upload date:
  • Size: 16.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ccgram-4.3.7.tar.gz
Algorithm Hash digest
SHA256 8e75eb6f32b9067c01387c2ddeef0923d4f9b051b87b06beedbf19a84a8920ec
MD5 e5a676a14cc674fd3fdb60d740f97b34
BLAKE2b-256 0ba6b0ce69f7fa477b884c372401d64932602055ff6b580b587ce6353844fdd1

See more details on using hashes here.

Provenance

The following attestation bundles were made for ccgram-4.3.7.tar.gz:

Publisher: release.yml on alexei-led/ccgram

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ccgram-4.3.7-py3-none-any.whl.

File metadata

  • Download URL: ccgram-4.3.7-py3-none-any.whl
  • Upload date:
  • Size: 15.8 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ccgram-4.3.7-py3-none-any.whl
Algorithm Hash digest
SHA256 0fac677847700584f71b30ce17c1b4e986fa3ece79847eecdb767eb8b7e6780a
MD5 6ca22b30c45229b971e30272c2876836
BLAKE2b-256 2fbf0e9fd3e70715041d6a0c628ac1c26eabd9e8a8ccf43c70951006ac9c489d

See more details on using hashes here.

Provenance

The following attestation bundles were made for ccgram-4.3.7-py3-none-any.whl:

Publisher: release.yml on alexei-led/ccgram

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page