New — Claude Code Desktop bridge

Claude on every messenger you already use.
Running on your machine.

Telechat is a self-hosted bot that puts Claude on Telegram, WhatsApp, Slack and a local web chat — all from one process. No server, no account, and with a Claude subscription, no API key.

$ npm install -g telechat && telechat init

Or try it first with telechat web — no account, no config. Python 3.10–3.13 · MIT licensed · v1.2.0

4
Platforms, one process
0
Servers to run
$0
In CLI mode
MIT
Fully open source

The differentiator

Your Claude Code sessions can page you.

Telechat hooks into Claude Code on your desktop. When a session finishes a turn or stalls on a question, you get a triage card on Telegram — status first, decision pulled to the top. Reply to the card and your answer is injected straight back into that session.

  • Glanceable digests. A fast model turns a wall of output into ✅ DONE / ⚠ NEEDS DECISION / ❌ BLOCKED — with the full text one tap away, never lost.
  • Reply from anywhere. Your message resumes the session with claude --resume. Broadcast to every running session with /desktop_all.
  • Approve tools from your phone. Opt in per project and every Bash, Write and Edit call waits for your tap — with an explicit timeout policy, not an accident.
  • One command. telechat bridge install writes the hooks, installs a launchd service and runs preflight checks.
$ telechat bridge install --approval

 Registered hooks in ~/.claude/settings.json
  Stop · Notification · SubagentStop · PreToolUse
 Installed launchd service (auto-start at login)
 Preflight: claude CLI 2.1.4 found
 Preflight: Telegram credentials present
 Preflight: long-lived OAuth token present

  Approval mode is off per project by default.
  Reply /desktop_approve_on to any session card
  to gate Bash/Write/Edit on that project.

$ # now go make coffee — your phone has the rest

Features

A personal assistant, not a demo

Everything runs in one process against one local SQLite file. Nothing here needs a second service.

Four surfaces, one process

Telegram, WhatsApp (Green API), Slack (Socket Mode) and a local web chat. Set BOT_MODE=all and they share the same sessions, memory and history.

No API key required

CLI mode shells out to the Claude Code CLI, so your existing subscription covers it. Prefer the API? Set CLAUDE_MODE=api and a key.

Memory that persists

/remember anything and it survives every reset — per-user memories with SQLite FTS5 search, export and import.

Multi-session conversations

Create, switch, rename, pin, archive and fork named sessions. Resume a Claude CLI session by id from your phone.

Knowledge base

Upload PDFs and docs with /kb; they're chunked, indexed and searchable, then quoted back with the answer.

Coding agent

/code and /project run end-to-end development tasks in a directory you nominate, with progress streamed to the chat.

Smart model routing

Trivial questions go to Haiku, hard ones to Opus, everything else to Sonnet — or pin a model with /model.

Cost tracking & budgets

Per-day and per-month ceilings with alerts before you hit them, and /usage for where the money went.

Media generation

Images, text-to-speech, music and video from a chat command — plus voice transcription and document extraction inbound.

MCP servers

Attach Model Context Protocol servers and Claude can use them from any of your messengers, with the resolved binary vetted first.

Health & self-healing

An HTTP /health endpoint with component status and DB write-path counters, circuit breakers, and a watchdog that restarts a wedged process.

Locked down by default

Flat allowlist per platform, web chat bound to loopback and refusing to start exposed without a token, and secrets masked in every log.


Platforms

Pick the one you already have open

Telegram is the most complete adapter; the others cover the core chat loop. The web chat needs no account anywhere, which makes it the fastest way to try Telechat.

Feature comparison across Telegram, WhatsApp, Slack and the local web chat
 TelegramWhatsAppSlackWeb chat
BridgeBot APIGreen API free tierBolt + Socket ModeLocal aiohttp
SetupTalk to @BotFatherScan a QR codeCreate a Slack appNothing — open the URL
Photos & filesYesText onlyText onlyText only
Interactive UIInline buttonsReactions as statusFull browser UI
Desktop bridgeYes
Works without a public URLYes (polling)Yes (polling)Yes (WebSocket)It is local
Works on corporate Wi-FiDependsYesYesYes

How it compares

Against the other ways to get Claude in a chat

Most Claude-on-Telegram projects are a single-file script around one API call. Hosted assistants are the opposite trade: no setup, but your conversations live on someone else's box.

 TelechatTypical bot scriptHosted AI assistant
Where it runsYour machineYour machineVendor cloud
Cost modelFree with a Claude subscriptionAPI tokensMonthly seat
Messengers supportedTelegram + WhatsApp + Slack + webOneVaries, usually one
Conversation storageLocal SQLite you can readIn memory, lost on restartVendor database
Claude Code integrationDesktop bridge with remote replies
Access to your filesYours, scoped by configUsually noneNone
Runs as a servicelaunchd / systemd + watchdogA terminal you can't closeNot yours to run
AuditableMIT, tests in CI on 3.10–3.13VariesClosed

Telechat is a single-operator tool by design. If you need per-user isolation, roles or a shared workspace, use a hosted assistant — that is a different product, and SECURITY.md says so plainly.


Get started

Running in about three minutes

The only prerequisite is the Claude Code CLI, and only if you want the free CLI mode.

1

Install the Claude Code CLI

Skip this if you plan to use API mode with an ANTHROPIC_API_KEY.

$ npm install -g @anthropic-ai/claude-code
$ claude auth login
2

Install Telechat

npm, pip, npx or from source — the CLI is the same either way.

# npm (recommended)
$ npm install -g telechat

# or pip
$ pip install telechatai

# or no install at all
$ npx telechat init
3

Try it before configuring anything

One command, no bot token, no messenger account, nothing written to disk. It checks you have a way to reach Claude first, and says what to install if you don't.

$ telechat web

  Starting the local web chat — no messenger account needed.
  Claude: CLI mode (free with your Claude subscription)
  Web chat: http://localhost:8585
4

Run the setup wizard

telechat init is AI-guided: it opens the right pages, collects your tokens, validates them and writes your .env. Prefer plain prompts? Use telechat setup.

$ telechat init

  Which platforms? [telegram] whatsapp  slack  web
  Claude mode?     [cli] api
  ✓ Token validated · ✓ Wrote ~/.telechat/.env
  ✓ Try it now: http://127.0.0.1:8585
5

Start it — and forget it

It runs detached, survives closing the terminal, and comes back after a crash. telechat doctor tells you what's wrong when something is.

$ telechat            # start in the background
$ telechat status     # is it alive?
$ telechat logs       # tail the log
$ telechat doctor     # diagnose config + connectivity
$ telechat bridge install   # hook up Claude Code

Running in Docker? docker compose up -d starts it in API mode with a persistent volume for bot.db and a loopback-only health endpoint. Full reference: every environment variable, generated from the source.


Use cases

What people actually do with it

Babysit long Claude Code runs from the sofa

Kick off a refactor, close the laptop lid on the question of whether to keep the legacy flow, and answer it from Telegram when the card arrives. The session resumes without you touching the keyboard.

A second brain that survives restarts

/remember the things you keep re-explaining — stack, conventions, who owns what — and every future conversation on every platform starts with them already loaded.

Ask your own documents anything

Drop contracts, RFCs or a manual into the knowledge base and query them in the same thread where you ask everything else. The files never leave your disk except as prompt context.

Claude in a team channel, without a vendor

Socket Mode means no public URL and no inbound firewall rule. The bot lives on one laptop, answers in a channel, and the allowlist keeps it to the people you named.


From the community

Running Telechat? Tell us how

This space is for real quotes from real users, so it stays empty until there are some. If Telechat is part of your setup, open a discussion or an issue — what you built, what broke, what's missing. Both shape what ships next.


FAQ

Questions people ask first

Do I need an Anthropic API key?
No. In CLI mode Telechat shells out to the Claude Code CLI, which uses your existing Claude subscription — no key, no per-token bill. API mode with an ANTHROPIC_API_KEY is available if you prefer it, and is what the Docker image runs, since the container has no host Claude authentication.
Where does my data go?
Nowhere you don't control. Telechat runs on your machine and keeps conversations, memories and cost history in a local SQLite file. There is no Telechat server, no account and no telemetry — messages travel from the messenger's API to your process to Anthropic, and that's the whole path.
Does it need a public URL, a webhook or a tunnel?
No. Telegram and WhatsApp poll, Slack opens an outbound WebSocket via Socket Mode, and the web chat binds to 127.0.0.1. Telechat works behind NAT, on a corporate network, and on a laptop that sleeps.
What exactly is the Claude Desktop bridge?
Hooks registered in ~/.claude/settings.json. When a Claude Code session on your machine stops, needs input, or finishes a subagent, Telechat posts a triage card to Telegram summarising the result and surfacing any pending decision. Replying to the card injects your message into that session via claude --resume, and with --approval every Bash, Write and Edit call waits for a tap first.
Can more than one person use it?
Technically yes — the allowlist takes several IDs — but treat it as single-operator. Everyone on the list shares one Claude authentication, one working directory and one permission ceiling that any of them can raise. That's fine for you and your phone; it is not a multi-tenant deployment.
What does it cost?
Telechat itself is free and MIT licensed. In CLI mode your Claude subscription covers usage. In API mode you pay Anthropic per token — and Telechat tracks it, with /budget for daily and monthly ceilings plus alerts before you hit them.
Which platform should I start with?
The web chat, if you just want to see it work: telechat web needs no account anywhere and writes nothing to disk. Telegram, if you want the full feature set — it is the only adapter with inline buttons, photo and file handling, and the Desktop bridge.
Is it safe to run on my work laptop?
Read SECURITY.md first — it states the trust boundary rather than hiding it. In CLI mode the bot inherits your Claude authentication and your filesystem access, so anyone on the allowlist effectively has your shell. Scope CLAUDE_CLI_WORK_DIR, keep the allowlist to yourself, and don't run it on a machine you don't trust.

One command. Then it's just a chat.

Install it, answer four prompts, and message your own bot.

$ npm install -g telechat && telechat init
QR code linking to telechat.fyi telechat.fyi