Claude Bot
A self-hosted relay that turns Telegram into a remote terminal for Claude Code, the harness that built most of this sky.
Claude Code lives on a machine, and most of the time I'm not sitting in front of it. I'd think of a fix on the train, or want to kick off a task from the couch, and the work would either wait for me to get back to a terminal or fall out of my head entirely. The agent was happy to run anywhere; I just had no way to reach it.
So I built a small relay. A Telegram chat becomes the front end: I type a message, a Claude Code session picks it up in a real project directory, does the work, and the reply lands back in the same thread. Nothing about it is tied to one project; point it at any workspace and that workspace is suddenly something I can drive from my phone. The Auto Applier was just the first tenant.
How it works
- Listens on the Telegram Bot API: incoming messages from an allowed chat get handed straight to the relay; everything else is dropped.
- Spawns Claude Code per message: each prompt starts a Claude Code process rooted in a configured workspace directory, so the agent has the real files and tools, not a stripped-down sandbox.
- Routes the reply back: whatever the session produces is captured and sent to the same chat, so a phone is the only interface I need.
- Workspace-agnostic: the target directory is config, not code, so any Claude Code project becomes reachable through the same bot.
- Self-hosted: it runs on my own server and deploys over SSH, so the keys and the workspaces never leave hardware I control.
Stack
Node · Telegram Bot API · Claude Code. The bot is a thin Node process: it owns the chat connection and the process lifecycle, and leans on Claude Code for all the actual work in the workspace.