open source

Claude Code
from your phone.

A single Node.js file that bridges Telegram to the Claude CLI. No frameworks, no dependencies, no build step.

$ npx claude-telegram --setup

Requires Claude Code and Node.js 18+


Your phone (Telegram)
    
    
claude-server.js      ~1,500 lines
                      zero npm dependencies
                      Node.js built-ins only
Claude Code CLI
    
    
your codebase

What you get

Full codebase access
Same as Claude Code in the terminal. Reads, edits, creates files. Conversations persist across messages.
Live streaming
Responses stream into a single message that updates as Claude types. Live progress indicator with elapsed time.
Git from your phone
Commit, push, pull, diff, branch switching. One-tap commit & push button after changes.
Files & voice
Drop a photo, PDF, or document. Add a caption and Claude processes it. Voice messages too.
Switch projects
Folder picker to jump between projects. Change model, system prompt, verbosity on the fly.
Permission modes
Full access, edit-only, or read-only. You decide how much control Claude gets.

Commands

/newNew conversation /retryRetry last prompt /stopStop Claude + clear queue /latestShow latest output /switchSwitch project /branchSwitch branch /commitQuick commit /cmCommit with message /shipitCommit & push /pushPush to remote /pullPull from remote /helpAll commands /pingCheck if alive

How it works

Long-polls Telegram's Bot API using Node's built-in https. Spawns the Claude CLI as a child process, parses its stream-json output, and edits a Telegram message in real-time. Handles rate limiting, file downloads, voice messages, and git operations. Persists state to a local JSON file. Runs in the background with built-in auto-restart — no process manager needed.

No Express. No Telegraf. No node_modules. One file. Five built-ins: https, child_process, fs, path, readline.

Security