Connect to Claude Code directly from Telegram. Run commands, manage your server, and automate tasks — all from your phone.

Setup Guide
1

Create a Telegram Bot

Open Telegram and search for @BotFather. Send /newbot and follow the prompts to choose a name and username for your bot.

BotFather will give you a Bot Token — a long string like 123456:ABC-DEF.... Save this, you'll need it next.
2

Start the Bot Server

SSH into your server and start the bot:

cd /home/ubuntu/yougetClaude
nohup node bot.js > /tmp/yougetclaude.log 2>&1 &

The bot starts an API server on port 3001 (internal only). No token needed yet — you'll set it via the API.

3

Set Up Your Secret Key

Edit the .env file in the yougetClaude directory and set your API_PASS_KEY:

API_PASS_KEY=your_secret_key

This key protects the bot's API endpoints. You'll need to pass it as the x-pass-key header in all API calls. Restart the bot after setting it.

Choose a strong, random key. If API_PASS_KEY is not set, the API will be open to anyone who can reach port 3001.
4

Connect Your Bot Token & Webhook

Use the built-in API to set your bot token and register the webhook in one step. Pass the token you got from BotFather:

curl -X POST http://127.0.0.1:3001/setup-webhook \
  -H "Content-Type: application/json" \
  -H "x-pass-key: your_secret_key" \
  -d '{
    "domain": "bot.youget.ai",
    "token": "your_bot_token_here"
  }'

This does two things at once:

  • ✓ Saves the bot token to the .env file automatically
  • ✓ Registers https://bot.youget.ai/webhook/<token> with Telegram
You can verify the webhook status anytime:
curl -H "x-pass-key: your_secret_key" http://127.0.0.1:3001/setup-webhook
5

Send Your First Message

Open your bot on Telegram and send /start. The bot will reply with your user ID and chat ID.

6

Lock Down Access

Add your Telegram user ID to the .env file to restrict who can use the bot:

ALLOWED_USER_IDS=123456789,987654321

Comma-separated for multiple users. Restart the bot after updating.

If ALLOWED_USER_IDS is empty, anyone who finds your bot can use it — including running commands on your server.
🛠 Commands
/start Initialize the bot and see your user/chat IDs
/cancel Stop the currently running Claude process
/new Start a fresh conversation (reset session context)
/status Check if Claude is running and view active schedules
/progress See what Claude is currently doing, including modified files and resource usage
Features
💬

Natural Conversation

Chat naturally — no special syntax needed. Claude understands context across messages.

📷

Image & File Support

Send photos or documents directly. Claude can analyze images and process files.

Scheduled Tasks

Set up recurring checks or one-time reminders using natural language.

🔄

Session Memory

Conversations persist across messages. Use /new to start fresh when needed.

🚀

Server Access

Claude has full access to run commands, edit files, and manage services on the server.

📊

Progress Tracking

Long-running tasks show live progress updates with modified files and CPU usage.

📅 Scheduling Tasks

Just ask naturally and Claude will set up schedules for you:

"remind me in 5 minutes to check the deploy" One-time reminder
"check youget.ai every 30 minutes" Recurring task
"what's scheduled?" List active schedules
"stop all schedules" Remove schedules
Minimum interval for recurring tasks is 30 seconds. Scheduled task results are sent directly to your Telegram chat.
💡 How It Works
1

You send a message on Telegram

Text, photo, or document — anything goes.

2

Telegram sends it to our server via webhook

The bot uses a webhook at bot.youget.ai — Telegram pushes your message to the server in real time via HTTPS.

3

yougetClaude spawns Claude Code

Your message is forwarded to Claude Code running on the server with full system access. It can read files, run commands, and edit code.

4

Response sent back to Telegram

Claude's response is delivered to your chat via the Telegram Bot API. Long responses are automatically split into readable chunks.

Open on Telegram

Contact the admin to get your user ID authorized after starting the bot.