ClaudeBot is a system tray application for Windows, macOS, and Linux that lets you remotely control the Claude Code CLI via Telegram or Dopamind.
Send a message from your phone, and ClaudeBot will invoke Claude Code on your computer and stream the results back in real time.
- Telegram Bot — Send prompts and commands to Claude Code through Telegram
- Dopamind Integration — Receive and process tasks from the Dopamind cloud queue
- Session Memory — Maintains conversation context across messages
- Live Progress — Real-time progress updates while tasks are running
- System Tray — Runs silently in the background
- Auto Update — Automatically checks and installs new versions from GitHub Releases
- Cross-Platform — Windows, macOS, and Linux
Go to the Releases page and download the installer for your platform:
| Platform | File |
|---|---|
| Windows | ClaudeBot-Setup-x.x.x.exe (installer) or ClaudeBot-x.x.x.exe (portable) |
| macOS | ClaudeBot-x.x.x.dmg |
| Linux | ClaudeBot-x.x.x.AppImage or .deb |
You must have the Claude Code CLI installed and the claude command available in your terminal.
- Open @BotFather in Telegram, send
/newbot - Follow the prompts to set a name — you'll receive a Bot Token (e.g.
123456:ABC-DEF...) - Open @userinfobot and send any message to get your User ID
- Launch ClaudeBot — the settings window opens automatically on first run
- Fill in:
- Telegram Bot Token — the token from step 1
- Allowed User IDs — your Telegram User ID (comma-separated for multiple users)
- Work Directory — the working directory for Claude Code (e.g. your project folder)
- Click Save — the bot starts automatically
Open Telegram, find your bot, and send a message:
Hey, list the files in the current directory
ClaudeBot will pass your message to Claude Code and send the result back to Telegram.
Just send a message — no command needed. ClaudeBot passes it to Claude Code and streams the result back. Session context is preserved automatically.
| Command | Description |
|---|---|
/new |
Start a new session (clear context) |
/stop |
Stop the currently running task |
/usage |
View token usage, cost, and context window |
/status |
View bot status (includes working directory) |
/setdir <path> |
Set working directory (temporary, resets on restart) |
ClaudeBot can connect to the Dopamind platform to receive tasks from a cloud queue.
- Right-click the tray icon → Settings
- Check Enable Dopamind
- Enter the Device Token from the Dopamind app (format:
dpm_...) - Save and restart
Once enabled, ClaudeBot continuously polls the Dopamind queue in real time, processes incoming tasks via Claude Code, and posts progress and results back.
Right-click the system tray icon to access:
| Item | Description |
|---|---|
| Status | Shows current state (Telegram / Dopamind / Stopped) |
| Start Bot | Start all configured services |
| Stop Bot | Stop all running services |
| Settings | Open the configuration window |
| Check for Updates | Manually check for a new version |
| Open Data Folder | Open the directory containing config files |
| Quit | Stop services and exit |
# Clone the repository
git clone https://github.com/Philo-Li/claudebot.git
cd claudebot
# Install dependencies
npm install
# Run as Electron tray app (development)
npm run electron:dev
# Or run Telegram bot only (without Electron)
npm startnpm run build:win # Windows (NSIS installer + portable)
npm run build:mac # macOS (DMG)
npm run build:linux # Linux (AppImage + deb)All settings are stored in a .env file under the system user data directory:
- Windows:
%APPDATA%\ClaudeBot\.env - macOS:
~/Library/Application Support/ClaudeBot/.env - Linux:
~/.config/ClaudeBot/.env
| Variable | Description |
|---|---|
TELEGRAM_BOT_TOKEN |
Telegram Bot API token |
ALLOWED_USER_IDS |
Comma-separated list of allowed Telegram user IDs |
WORK_DIR |
Default working directory for Claude Code |
DOPAMIND_ENABLED |
Enable Dopamind integration (true / false) |
DOPAMIND_TOKEN |
Dopamind device authentication token |
ClaudeBot checks for new versions on GitHub Releases at startup. When an update is available:
- The update downloads in the background
- A dialog prompts you when the download is complete
- Choose "Restart Now" to install immediately
You can also trigger a check manually via Check for Updates in the tray menu.
MIT