Claude Desktop Bridge
Hooks into your local Claude Code sessions. Get push notifications when Claude stalls or wants to run something destructive, inject replies from your phone, and gate every tool call behind an Approve / Deny tap.
Self-hosted · MIT · Python + Node
A bot that puts Claude on Telegram, WhatsApp, Slack and a browser chat — all from a single process. No webhook server. No public URL. No cloud relay.
npm install -g telechat
pip install telechatai
Then telechat init — an AI-guided setup that opens the right pages,
collects your tokens and validates everything.
Runs free on your existing
Claude Code
subscription, or on an Anthropic API key.
$ rm -rf dist/ && npm run build
What's inside
Telechat runs as a background service on your own machine and keeps every message, memory and dollar of spend in a local SQLite database.
Hooks into your local Claude Code sessions. Get push notifications when Claude stalls or wants to run something destructive, inject replies from your phone, and gate every tool call behind an Approve / Deny tap.
Every model ID and price lives in one module — Haiku, Sonnet and Opus tiers,
each overridable with MODEL_SONNET and friends. A model bump is a
config change, not a release.
Queries are classified by complexity and routed to the cheapest model that can answer them — Haiku for quick facts, Opus for architecture. Speed when it's cheap, depth when it counts.
Per-user daily and monthly caps with warnings at 80%, computed from real token
counts in API mode and reported spend in CLI mode. Check it any time with
/budget.
Per-user memories with SQLite FTS5 full-text search, plus conversations you can create, switch, pin, archive and fork. Plan in one session, implement in another.
Claude drives the conversation; optional keys unlock the rest — OpenAI for speech and images, Replicate for music and video, Brave or Tavily for web search. Every one is opt-in.
Quickstart
Global install from npm or PyPI — both ship the same telechat CLI.
telechat init drives the setup with Claude. No Claude CLI? Use
telechat setup for a plain wizard.
It survives terminal close and Ctrl+C. Manage it with
start, stop, status and logs.
API mode only — CLI mode needs the claude binary and its host auth,
neither of which belongs in a container.
# 1 — install (npm, or: pip install telechatai) $ npm install -g telechat # 2 — AI-guided setup: tokens, allowlists, .env $ telechat init # 3 — start as a background service $ telechat ✓ Telegram bridge online ✓ Slack socket connected ✓ Claude mode: cli (subscription) $ telechat status telechat running · pid 48213 · uptime 2h14m # .env — pick your surfaces BOT_MODE=telegram,slack # or: all CLAUDE_MODE=cli # or: api COST_DAILY_BUDGET=5.0 # always-on server, API mode $ docker compose up -d
CLI
The bot runs as a background service. These are the controls.
telechatStart the bot as a background servicetelechat stopStop the bottelechat restartRestart the bottelechat statusCheck whether it's runningtelechat logsTail the bot logtelechat initAI-guided setup using the Claude CLItelechat setupManual step-by-step setup wizardtelechat envShow environment variables, tokens maskedtelechat env cleanRemove the .env file and clear all credentialstelechat updateUpdate to the latest versiontelechat --debugStart with verbose loggingGet started
npm install -g telechat && telechat init