qwwiwi/dashi-plugin-claude-code
5 stars · Last commit 2026-06-06
Turn a live Claude Code session into a Telegram agent — one interactive session, no per-message SDK billing. Replaces the claude -p gateway pattern. Multichat, media, voice transcription, terminal mirror.
README preview
# dashi-plugin-claude-code > **Read in your language:** English (this page) · [**Русская версия →**](README.ru.md) [](LICENSE) [](https://bun.sh) [](https://www.typescriptlang.org/) [](https://code.claude.com/docs/en/channels-reference) [](#license-and-author) **A Telegram → Claude Code channel plugin.** It turns an ordinary, live Claude Code session into a Telegram agent: the bot listens to one or more chats, replies inside the same session, and keeps all the work within your regular Anthropic Max subscription — with no separate SDK billing. It replaces the deprecated `claude -p` gateway pattern (a Python daemon that spawned a fresh headless session for every message). Cutover deadline — **2026-06-15** (Anthropic is splitting billing; details in section [13](#13-why-migrate--the-2026-06-15-deadline)). > **Migrating from the old gateway? There is now a doctor.** The read-only [`doctor-dashi-plugin`](skills/doctor-dashi-plugin/SKILL.md) skill diagnoses the whole cutover — workspace placement, hooks, MCP comms config, allowlist, and live-session health — and encodes every mistake we already paid for so you don't repeat them. Run `bun skills/doctor-dashi-plugin/scripts/doctor.ts --help`.  One plugin process = one Telegram bot = one agent. By default it serves **a single DM chat** (legacy single-session mode). With `multichat.enabled` turned on, the same bot fans incoming messages out across several per-chat tmux sessions of one identity — see section [3](#3-multichat--how-it-works-and-why).