If you've been exploring OpenClaw but feel like it's a bit much for what you need—and all you really want is to update or fix your code from Telegram—there's a much simpler option.

Recently on X, @levelsio pointed to an open source project called Claude Code Telegram created by Richard Atkinson. It does one thing really well: it lets you send messages over Telegram to Claude Code running on your server.

No multi-agent orchestration. No dashboard. No exposed control plane.

Just you → Telegram → your Droplet → your code.

If that's what you're after, here's how to set it up on a cloud servers.

Create a cloud servers

telegram illustration for: Create a cloud servers

We'll first need to create a cloud servers. If you don't already have a server, you'll need a basic Ubuntu droplet.

  1. Click Create → Droplets
  2. Choose Ubuntu (latest LTS version is fine)
  3. Pick a basic plan (the smallest size works for experimenting)
  4. Choose your region
  5. Add your SSH key (recommended)
  6. Click Create Droplet

If you need a more detailed walkthrough, you can check out our guide on how to create a droplet.

Once your Droplet is ready, SSH into it from your CLI with:

				
					ssh root@your_droplet_ip
				
			

Make sure to change your_droplet_ip to the IP address that is provided to you after creating your droplet. Also note that it may a couple minutes for your droplet to fully set up, so if you see an error in your CLI just try again after a minute or two.

Configuring Your Droplet

Now that your droplet has been set up, we'll configure it to facilitate all the dependencies, services, and parts necessary to let you send messages over Telegram to Claude Code.

Step 1. Update Package Lists

				
					sudo apt update
				
			

Step 2. Install Zsh

				
					sudo apt install zsh -y
				
			

Step 3. Install Essential Build Tools

				
					sudo apt install build-essential procps curl file git -y
				
			

This installs compilers, process utilities, curl, file detection, and git.

Step 4. Install GitHub CLI

				
					sudo apt install gh
				
			

After installation is complete, authenticate the GitHub CLi by running:

				
					gh auth login
				
			

Note that this is separate from SSH keys. After you run the command, follow the prompts:

  1. Select GitHub.com
  2. Select HTTPS
  3. Say Y to authenticate Git with GitHub credentials
  4. Choose Paste an authentication token

Generate a token locally at:

https://github.com/settings/tokens

Use:

  • repo
  • read:org

Then verify:

				
					gh auth status
				
			

Step 5. Install Oh My Zsh

				
					sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
				
			

Step 6. Install Python Dependencies

				
					sudo apt install -y curl python3-venv python3-pip
				
			

Step 7. Generate an SSH Deploy Key

				
					ssh-keygen -t ed25519 -C "do-droplet-deploy-key" -f ~/.ssh/github_deploy_key
				
			

Step 8. Add the Public Key to GitHub

Print your public key in your CLI using:

				
					cat ~/.ssh/github_deploy_key.pub
				
			

Copy and pate your key, and then add it under:

GitHub → Settings → SSH and GPG keys → New SSH key Key type: Authentication

Step 9. Configure SSH to Use the Key

				
					cat >> ~/.ssh/config <<'EOF'
Host github.com
  HostName github.com
  User git
  IdentityFile ~/.ssh/github_deploy_key
  IdentitiesOnly yes
EOF
				
			

Step 10. Lock Down SSH Config Permissions

				
					chmod 600 ~/.ssh/config
				
			

Step 11. Pre-Register GitHub’s Host Identity

				
					ssh-keyscan -H github.com >> ~/.ssh/known_hosts
				
			

Step 12. Set known_hosts Permissions

				
					chmod 644 ~/.ssh/known_hosts
				
			

Step 13. Install Poetry

				
					curl -sSL https://install.python-poetry.org | python3 -
				
			

Step 14. Add Poetry to Your PATH

				
					echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
				
			

Step 15. Verify Poetry Installation

				
					poetry --version
				
			

Install Claude Code

Step 1. Install Claude Code

				
					curl -fsSL https://claude.ai/install.sh | bash
				
			

If you’re SSHing in with Ghostty and see terminal issues, run:

				
					echo 'export TERM=xterm-256color' >> ~/.zshrc
source ~/.zshrc
				
			

Step 2. Set Your Anthropic API Key

				
					nano ~/.zshrc
				
			

Add:

				
					export ANTHROPIC_API_KEY="sk-..."
				
			

Reload:

				
					source ~/.zshrc
				
			

Step 3. Clone Claude Code Telegram

				
					git clone git@github.com:RichardAtCT/claude-code-telegram.git
cd claude-code-telegram
				
			

Use the SSH URL ([email protected]:), not HTTPS.

Step 4. Install Bot Dependencies

				
					make dev
				
			

If you see:

				
					Command not found: pre-commit
pre-commit not configured yet
				
			

That’s normal and safe to ignore.

Set Up Telegram

Step 1. Create a Telegram Bot

In Telegram:

  1. Message @BotFather
  2. Run /newbot
  3. Choose a name (must end with bot)
  4. Save the token

Step 2. Configure the Bot

				
					mkdir /root/projects
cp .env.example .env
nano .env
				
			

Fill in:

				
					TELEGRAM_BOT_TOKEN=<your token>
TELEGRAM_BOT_USERNAME=<your bot username>
APPROVED_DIRECTORY=/root/projects
ALLOWED_USERS=<your Telegram user ID>
USE_SDK=true
				
			

To get your Telegram user ID, message @userinfobot.

The ALLOWED_USERS setting is important — the bot ignores everyone else.

Step 3. Run the Bot

Once your bot has been setup, run the following command for the first run in debug mode:

				
					make run-debug
				
			

Or the following command for normal mode:

				
					make run
				
			

Conclusion

Now that it's been setup, you can send messages on Telegram like:

> Let's remove the about link from the header nav on the rootein GitHub repo

Claude Code then runs locally on your Droplet, reads your repo, makes the changes, and responds back in Telegram.

No heavy framework. No exposed agent. Just a tight loop between you and your server.

If OpenClaw feels like overkill and you just want something simple you can understand and control, this is a very practical middle ground.