Remote control for Claude Code via Telegram
Project description
rclaude
Remote control for Claude Code via Telegram. Seamlessly teleport your coding sessions between terminal and phone.
Features
- Session Teleportation - Switch between terminal and Telegram mid-conversation with
/tg - Interactive Permissions - Approve file edits and shell commands from your phone
- Live Updates - See Claude's activity streamed to your terminal while on Telegram
- On-Demand Server - Server starts automatically when needed, shuts down when idle
- Hot Reload - Development mode with automatic restart on code changes
Requirements
- Python 3.14+
- Claude Code CLI installed
- Telegram account
Installation
pip install rclaude
Or install from source:
git clone https://github.com/leobuskin/rclaude.git
cd rclaude
pip install -e .
Setup
Run the interactive setup wizard:
rclaude setup
The wizard will guide you through:
- Create a Telegram bot - Message @BotFather, send
/newbot, and copy the token - Link your account - Send
/link <token>to your new bot - Install the /tg hook - Adds the teleport command to Claude Code
- Auto-start (optional) - Configure server to start on login (macOS)
Usage
Start a session
rclaude
This launches Claude Code with teleportation support. Work normally in your terminal.
Teleport to Telegram
When you want to continue on your phone, type in Claude Code:
/tg
The session transfers to Telegram. Your terminal shows live updates of the conversation.
Return to terminal
In Telegram, send /cc to get the command for resuming in terminal. The session seamlessly continues where you left off.
Telegram commands
| Command | Description |
|---|---|
/start |
Show help |
/new |
Start fresh session |
/cc |
Return to terminal |
/status |
Show session info |
/stop |
Interrupt current task |
/cancel |
Cancel pending teleport |
How It Works
Terminal Server Telegram
──────── ────── ────────
rclaude ──────────────────────────────────────────────────────────
│ │ │
│ Claude Code running │ │
│ │ │ │
│ user: /tg │ │
│ │ │ │
│ └───── POST /teleport ─────► notify user │
│ │ │ │
│ (shows live updates) ◄──┼── SSE stream │ │
│ │ ▼ │
│ │◄──────── user messages ────┤
│ │ │
│ │ Claude Agent SDK │
│ │ │ │
│ │ ▼ │
│ │──────► responses ─────────►│
│ │ │
│ │◄──────── /cc ──────────────┤
│ │ │
│ resume ◄────────────────┤ │
│ │ │
- Wrapper (
rclaude) spawns Claude Code and monitors for/tg - Hook intercepts
/tg, POSTs session info to local server - Server notifies you on Telegram, streams updates back to terminal
- SDK continues the conversation via Telegram messages
- Return with
/ccresumes the session in terminal
CLI Reference
rclaude # Run Claude Code with teleport support
rclaude setup # Interactive setup wizard
rclaude serve # Start server manually (usually auto-started)
rclaude status # Show configuration and server status
rclaude uninstall # Remove configuration and hooks
Options
rclaude --reload # Development mode with hot-reload
rclaude --verbose # Enable debug logging
rclaude --version # Show version
Configuration
Config is stored in ~/.config/rclaude/config.toml:
[telegram]
bot_token = "123456:ABC..."
user_id = 123456789
username = "you"
[server]
host = "127.0.0.1"
port = 7680
[claude]
hook_installed = true
Development
# Clone and install in dev mode
git clone https://github.com/leobuskin/rclaude.git
cd rclaude
python -m venv .venv
source .venv/bin/activate
pip install -e .
# Run with hot-reload
rclaude --reload
# Lint
ruff check rclaude/
ruff format rclaude/
# Type check
ty check rclaude/
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rclaude-0.2.4.tar.gz.
File metadata
- Download URL: rclaude-0.2.4.tar.gz
- Upload date:
- Size: 41.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f72724fe706646921a9db61c3ce658273792a4824d16a55ffdb1c06dc054ec17
|
|
| MD5 |
6295740f65b05aea2c21f7bf11dc945c
|
|
| BLAKE2b-256 |
db313d46e0716afc17b887d3eb4aef4ce3ec15c97bdf708e033746a3c0b7dbd7
|
Provenance
The following attestation bundles were made for rclaude-0.2.4.tar.gz:
Publisher:
release.yml on leobuskin/rclaude
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rclaude-0.2.4.tar.gz -
Subject digest:
f72724fe706646921a9db61c3ce658273792a4824d16a55ffdb1c06dc054ec17 - Sigstore transparency entry: 813683286
- Sigstore integration time:
-
Permalink:
leobuskin/rclaude@a2c6d3bfe5ac2086a33344e167c80b1a025e2115 -
Branch / Tag:
refs/tags/v0.2.4 - Owner: https://github.com/leobuskin
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a2c6d3bfe5ac2086a33344e167c80b1a025e2115 -
Trigger Event:
push
-
Statement type:
File details
Details for the file rclaude-0.2.4-py3-none-any.whl.
File metadata
- Download URL: rclaude-0.2.4-py3-none-any.whl
- Upload date:
- Size: 42.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26b071aac94e2c590d816c9bbbe0054112486cd319edac9c8f3c88ddde1ef6f0
|
|
| MD5 |
b8076f3a1084b50066ffcd6b1211f52a
|
|
| BLAKE2b-256 |
bef4bd974e62e3661f9057197d4e705773a4925cdb7c0f2956334b88a4b5d1c2
|
Provenance
The following attestation bundles were made for rclaude-0.2.4-py3-none-any.whl:
Publisher:
release.yml on leobuskin/rclaude
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rclaude-0.2.4-py3-none-any.whl -
Subject digest:
26b071aac94e2c590d816c9bbbe0054112486cd319edac9c8f3c88ddde1ef6f0 - Sigstore transparency entry: 813683288
- Sigstore integration time:
-
Permalink:
leobuskin/rclaude@a2c6d3bfe5ac2086a33344e167c80b1a025e2115 -
Branch / Tag:
refs/tags/v0.2.4 - Owner: https://github.com/leobuskin
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a2c6d3bfe5ac2086a33344e167c80b1a025e2115 -
Trigger Event:
push
-
Statement type: