Back to blog
tutorialsetupgetting-started

Manager Bot vs Worker Bot: A Complete Guide to Clautel's Architecture

AnasMarch 7, 202610 min read

Clautel uses two types of bots to connect your phone to Claude Code. Understanding the difference between them — and how they work together — makes everything click.

This guide covers both from scratch: what each bot does, how to create them, and every command you'll use day to day.

How it works

📱
Your Phone
Telegram
🤖
Manager Bot
creates & routes to
🤖frontend bot/frontend
Claude Code
🤖backend bot/backend
Claude Code
🤖infra bot/infra
Claude Code

The Two-Bot Architecture

Clautel uses two distinct bot types for a reason: separation of concerns.

  • The Manager Bot is your command center. There's only one. It handles project registration, subscription management, and routing. Think of it as the admin panel.

  • Worker Bots are project-specific. Each codebase gets its own dedicated bot. When you message a worker bot, you're talking directly to Claude Code running in that project's directory. You can have multiple sessions per bot — start fresh, resume old ones, or hand off to your terminal and come back.

This design means your conversations stay clean. Your frontend project's context never bleeds into your backend project. Switching projects is just switching Telegram chats.


Part 1: Setting Up the Manager Bot

The manager bot is created once during clautel setup. Here's exactly what happens.

Install Clautel

npm install -g clautel

Requires Node.js 18+. Takes about 10 seconds.

Run the setup wizard

clautel setup

The wizard walks you through three things interactively. You don't need to edit any config files.

Create your Manager Bot via @BotFather

Open Telegram and search for @BotFather — Telegram's official bot creator. The setup wizard will prompt you to do this.

🤖

BotFather

bot

/newbot
🤖

Alright, a new bot. How are we going to call it? Please choose a name for your bot.

My Clautel Manager
🤖

Good. Now let's choose a username for your bot. It must end in bot.

my_clautel_manager_bot
🤖

Done! Congratulations on your new bot. You will find it at t.me/my_clautel_manager_bot. Use this token to access the HTTP API: 7123456789:AAF... Keep your token secure and store it safely.

Message...

Copy the token BotFather gives you — the setup wizard will ask for it next.

Set your Telegram User ID

The wizard will also ask for your Telegram user ID. This is how Clautel ensures only you can control your bots — nobody else's messages get a response.

To find your user ID, message @userinfobot on Telegram. It replies instantly with your numeric ID.

Never share your bot token. Anyone who has it can send commands to your machine. If it leaks, revoke it immediately via @BotFather using /revoke.

Activate your license

The wizard will prompt you to enter your Clautel license key. Get one at clautel.com/#pricing — there's a 7-day free trial.

If you want to activate it manually later:

clautel activate YOUR_LICENSE_KEY

Start the daemon

clautel start

This starts the background process that listens for your Telegram messages. Your manager bot is now live.

On macOS, install it as a launchd service so it starts automatically on boot:

clautel install-service
Clautel in action — coding from Telegram on a phone

Part 2: Manager Bot Commands

Once the daemon is running, open Telegram and message your manager bot. Here's everything it can do.

/add — Register a project

This is the most important manager bot command. It kicks off an interactive flow to create a worker bot for a specific directory on your machine.

Before running /add, go to @BotFather on Telegram and create a new bot (/newbot). You'll get a token — have it ready.

Then send /add to your manager bot and it will guide you through the rest:

🤖

Manager Bot

bot

/add
🤖

Please send me the bot token for the worker bot. Create one via @BotFather if you haven't already.

7987654321:AAG_your_bot_token_here
🤖

Got it. Now send me the full path to the project directory on your machine.

/Users/you/projects/my-app
🤖

Worker bot registered for /Users/you/projects/my-app. Open t.me/my_app_worker_bot to start coding.

Message...

After that, Clautel starts the worker bot automatically. You don't need to do anything else.

/bots — List your active bots

/bots
🤖

Manager Bot

bot

/bots
🤖

Active worker bots:\n\n• @frontend_bot → /Users/you/projects/frontend\n• @backend_bot → /Users/you/projects/backend\n• @infra_bot → /Users/you/projects/infrastructure

Message...

/remove — Remove a project bot

/remove @bot_username

This stops the worker bot and removes it from Clautel's registry. The Telegram bot itself still exists on Telegram — you'd delete that separately via @BotFather if you want.

/subscribe — Get or upgrade your plan

Opens the subscription flow directly in chat. Upgrades you from Pro (5 bots) to Max (unlimited bots).

/subscription — View billing & cancel

Shows your current plan, renewal date, and a link to manage or cancel.

/feedback — Send feedback to the team

We read everything. Use this if something's broken or you want a feature.


Part 3: Setting Up Worker Bots

Each worker bot is tied to one project directory. Within it, you can run multiple Claude Code sessions — start a new one with /new, pick up a previous one with /resume, or hand off to your terminal and come back. You create a Telegram bot for it via @BotFather (just like the manager bot), then register it with /add.

How many can you have?

  • Pro plan ($4/mo): up to 5 worker bots
  • Max plan ($9/mo): unlimited

Here's how adding three projects looks. Each /add is its own conversational flow — token first, then path:

🤖

Manager Bot

bot

/add
🤖
Please send me the bot token for the worker bot.
7111111111:AAA...
🤖
Got it. Now send me the full project path.
/Users/you/projects/frontend
🤖
Worker bot registered for /projects/frontend
/add
🤖
Please send me the bot token for the worker bot.
7222222222:AAB...
🤖
Got it. Now send me the full project path.
/Users/you/projects/backend
🤖
Worker bot registered for /projects/backend
/bots
🤖

Active worker bots: @frontend_bot → /projects/frontend | @backend_bot → /projects/backend

Message...

Part 4: Worker Bot Commands

Worker bots are where you actually talk to Claude Code. Every message you send is forwarded to Claude Code running in that project's directory.

Talking to Claude Code

Just type naturally — the same way you'd use Claude Code in your terminal:

🤖

frontend-bot

bot

Fix the broken layout on the dashboard page
🤖

Reading src/pages/dashboard.tsx... I can see the issue. The flex container is missing items-start which is causing the cards to stretch. Let me fix that.

🤖

Done. Updated line 34 in dashboard.tsx. The layout should be correct now.

Message...

/model — Switch Claude model

/model

Shows a menu to switch between available Claude models mid-session. Useful if you want to use a faster/cheaper model for simple tasks and switch back for complex ones.

/cost — Check token usage

/cost
🤖

backend-bot

bot

/cost
🤖

Session cost: ~$0.12\nInput tokens: 4,230\nOutput tokens: 1,105\nModel: claude-opus-4-6

Message...

/session — Get session ID to continue in CLI

/session

Returns the current session ID so you can continue the same conversation in your terminal using claude --resume SESSION_ID. Great for when you want to switch from phone to desktop mid-task.

🤖

backend-bot

bot

/session
🤖

Current session ID: sess_01XabCdEfG\n\nTo continue in your terminal:\nclaude --resume sess_01XabCdEfG

Message...

/resume — Pick up a CLI session in Telegram

/resume

Shows your recent CLI sessions with timestamps. Tap one to continue it here in Telegram — full context intact, no loss of history.

🤖

backend-bot

bot

/resume
🤖

Recent sessions:\n\n1. sess_01Xa... — 2h ago — "Refactor user service to use repository pattern"\n2. sess_02Yb... — Yesterday — "Add rate limiting to auth endpoints"\n3. sess_03Zc... — 2 days ago — "Fix N+1 query in dashboard"

1
🤖

Resuming session from 2h ago. Context: you were refactoring the user service. The repository interface was created, migration is 60% complete. What would you like to do next?

Message...

/preview — Live browser screenshot

/preview https://localhost:3000

Takes a screenshot of any URL — including your local dev server — and sends it to Telegram. Includes interactive controls so you can click, scroll, and navigate.

🤖

frontend-bot

bot

🤖

[Screenshot of your dashboard]\n\n• Click: tap coordinates\n• /navigate — go to another URL\n• /browser — refresh screenshot

Message...

Use /preview right after Claude makes a UI change to visually confirm the result — without going to your laptop.

/new — Start a fresh session

/new

Clears the current conversation context and starts a new Claude Code session. Use this when switching between unrelated tasks.

/cancel — Abort a running operation

/cancel

Stops whatever Claude Code is currently doing. Useful if you realize mid-task that the prompt was wrong, or if something is taking too long.


Quick Reference

Manager Bot

CommandWhat it does
/add TOKEN /pathRegister a new project worker bot
/botsList all active worker bots
/remove @botStop and remove a worker bot
/subscribeGet a license or upgrade your plan
/subscriptionView billing details and cancel
/feedbackSend feedback to the Clautel team

Worker Bot

CommandWhat it does
Any messageTalk to Claude Code in that project
Photo / fileAttach as context for Claude
/modelSwitch Claude model
/costShow token usage and cost
/sessionGet session ID to continue in CLI
/resumePick up a recent CLI session here
/preview <url>Take a live browser screenshot
/navigate <url>Go to a different URL in browser
/browserRefresh current browser screenshot
/newStart a fresh session
/cancelAbort the current operation

Common Setup Patterns

Solo developer, one project: One manager bot + one worker bot. Simple.

Solo developer, multiple projects: One manager bot + one worker bot per project. Switch between them by switching Telegram chats.

Small team: Each developer runs their own Clautel instance on their machine with their own manager + worker bots. No shared infrastructure needed.

Name your worker bots clearly — something like projectname_claude_bot — so you can tell them apart in Telegram's chat list.


Clautel starts at $4/mo. Get started at clautel.com — 7-day free trial, no card required upfront.

Built in Bangalore by Anas & Saif.