Setup Guide

Multi-Bot Telegram Setup

Run multiple AI assistants on one machine with Claude Code + tmux

How It Works

Your Machine (Mac Mini / Linux server)

└── tmux (terminal multiplexer)

├── Session 1: Claude Code → Telegram Bot A → Project A

├── Session 2: Claude Code → Telegram Bot B → Project B

├── Session 3: Claude Code → Telegram Bot C → Project C

└── ... (as many as you need)

Each bot runs as its own Claude Code session with its own project context, knowledge base, and Telegram channel. You message a bot from your phone, it reads your project files, writes code, deploys, and reports back. All bots run 24/7 and survive terminal closures thanks to tmux.

1

Prerequisites

Mac (or Linux)

Any Mac or Linux machine that stays on. A Mac Mini is ideal — low power, always-on.

Claude Code CLI

Install from claude.ai/code. This is Anthropic's terminal-based AI coding agent.

tmux

Terminal multiplexer that keeps sessions alive in the background. Install with: brew install tmux

Claude login

Run claude login in your terminal to authenticate.

Telegram bots

Create one bot per project via @BotFather in Telegram. Save each bot token.

2

Project Folders

Create a folder per project. Each folder contains the codebase and a CLAUDE.md file with instructions for that specific bot — its personality, knowledge, and rules.

~/Projects/
├── personal-assistant/    # General AI helper
├── project-alpha/         # Project A
├── project-beta/          # Project B
├── project-gamma/         # Project C
└── ...

Each folder has:
├── CLAUDE.md              # Bot instructions & personality
├── src/                   # Project source code
└── knowledge/             # Reference docs (optional)
3

Configure Each Telegram Bot

For each project, open the folder in Claude Code and connect it to a Telegram bot:

# Step 1: Open the project in Claude Code
cd ~/Projects/project-alpha && claude

# Step 2: Configure the Telegram plugin
/telegram:configure
→ Paste the bot token from @BotFather

# Step 3: Set access permissions
/telegram:access
→ Link your Telegram user ID (only you can talk to the bot)

# Config is saved in:
~/.claude/channels/telegram-[name]/access.json

💡 Repeat this for every project/bot combination. Each bot gets its own channel directory.

4

Wire Up Shared Capabilities (MCP Servers)

MCP (Model Context Protocol) servers let your bots reach beyond chat into databases, browsers, queues, file systems, and even each other. Configure them once in ~/.claude/settings.json and every bot inherits them.

// ~/.claude/settings.json
{
  "mcpServers": {
    "supabase": {
      "command": "npx",
      "args": ["-y", "@supabase/mcp-server-supabase@latest",
               "--access-token", "sbp_..."]
    },
    "claude-peers": {
      "command": "bun",
      "args": ["/path/to/claude-peers-mcp/server.ts"]
    },
    "playwright": {
      "command": "npx",
      "args": ["@playwright/mcp@latest"]
    }
  }
}

💡 claude-peers turns your machine into a peer network: each bot can list, message, and delegate work to other bots running on the same machine. A specialist bot can hand a task to a generalist coordinator and vice versa, without you in the loop.

5

Create the Master Startup Script

This is the magic — one script that starts all your bots in separate tmux windows. Create it at ~/.claude/scripts/start-all-sessions.sh

#!/bin/bash
# Start all Claude Code bot sessions
# Usage: ~/.claude/scripts/start-all-sessions.sh

SESSIONS=(
  "assistant|~/Projects/personal-assistant|telegram-assistant"
  "alpha|~/Projects/project-alpha|telegram-alpha"
  "beta|~/Projects/project-beta|telegram-beta"
  "gamma|~/Projects/project-gamma|telegram-gamma"
)

for session_info in "${SESSIONS[@]}"; do
  IFS='|' read -r name folder channel <<< "$session_info"

  # Skip if already running
  if tmux has-session -t "$name" 2>/dev/null; then
    echo "Already running: $name"
    continue
  fi

  # Start Claude Code in a new tmux session
  tmux new-session -d -s "$name" -c "$folder" \
    "TELEGRAM_STATE_DIR=~/.claude/channels/$channel \
     claude --channels 'plugin:telegram@claude-plugins-official' \
     --dangerously-skip-permissions"

  echo "Started: $name → $folder"
  sleep 2  # Prevent resource spikes
done

echo "All sessions started!"

💡 Make it executable: chmod +x ~/.claude/scripts/start-all-sessions.sh

6

Start Everything

After a reboot or restart, run one command to bring up all your bots:

~/.claude/scripts/start-all-sessions.sh

# Output:
Started: assistant → ~/Projects/personal-assistant
Started: alpha → ~/Projects/project-alpha
Started: beta → ~/Projects/project-beta
Started: gamma → ~/Projects/project-gamma
All sessions started!

💡 That's it. All bots are now running and listening to their Telegram channels. You can message any bot from your phone.

7

Daily Management

Useful commands for managing your bot sessions:

# See all running sessions
tmux list-sessions

# Attach to a session (watch what the bot is doing)
tmux attach -t alpha

# Detach from a session (keep it running)
Ctrl+B then D

# Kill a single session
tmux kill-session -t alpha

# Kill all sessions
tmux kill-server

# Restart everything
~/.claude/scripts/start-all-sessions.sh

Pro Tips

CLAUDE.md is your bot's brain

Write detailed instructions in each project's CLAUDE.md. This is what makes each bot an expert in its domain. Include: personality, knowledge areas, rules, tools it should use, and how to respond.

Add knowledge files

Put reference documents, product specs, or domain knowledge in a /knowledge folder. Claude reads these automatically and uses them to give better answers.

MCP servers multiply capabilities

Connect MCP servers (Supabase, Apify, Playwright, etc.) via ~/.claude/settings.json. All bots share these tools: database access, web scraping, browser automation, and more.

Bots delegate to each other

With the claude-peers MCP server, any bot can list its peers and send a task to another bot on the same machine. A coordinator bot fans work out, specialists report back. Useful when one bot is the right place to hold context and another is the right hand to execute.

Cross-bot accountability

Run a small endpoint that logs open questions a bot asked you (and never got an answer to). A scheduled trigger nudges you after a set timeout. Stops bots from quietly stalling on something they need from you.

Scheduled agents run in the cloud

Use Claude's scheduled triggers for tasks that should run automatically (daily reports, trend scans, dashboard updates). These run in Anthropic's cloud, not on your machine.

Skills are reusable commands

Create skill files (.md) in ~/.claude/commands/ for repeatable tasks. Any bot can invoke them with /skill-name.

Keep your machine on 24/7

Set your Mac Mini to never sleep: System Settings → Energy → Prevent automatic sleeping. The bots need to be running to receive messages.

Developer Stack

To let your bots autonomously build, deploy, and manage real applications, set up these services. Most have generous free tiers — your bots can use their CLIs to deploy code, manage databases, and send emails without any manual intervention.

G

GitHub

github.com — Free

Version control for all your project code. Your bots use the GitHub CLI (gh) to create repos, manage branches, open PRs, and push code — all autonomously.

brew install gh

gh auth login

# Your bots can now: gh repo create, git push, gh pr create

V

Vercel

vercel.com — Hobby (free) / Pro ($20/mo) + pay-as-you-go on bandwidth, function invocations, and image optimization

Hosting platform for your web apps. Connects to GitHub — every push auto-deploys. Your bots use the Vercel CLI to manage deployments, environment variables, and domains. Plans cover a baseline; usage above the baseline (traffic, serverless invocations, edge functions) is billed pay-as-you-go.

npm i -g vercel

vercel login

# Your bots can now: vercel --prod, vercel env add, vercel domains

S

Supabase

supabase.com — Pro ($25/mo) recommended once you go past the free tier limits on database size, bandwidth, or paused inactivity

Backend-as-a-service with PostgreSQL database, authentication, realtime subscriptions, and file storage. Your bots use the Supabase CLI to run migrations and manage schemas. Also available as an MCP server for direct database access from Claude.

npx supabase login

npx supabase init

# Your bots can now: supabase db push, supabase migration new

# Add MCP server for direct SQL access from Claude

R

Resend

resend.com — Free (100 emails/day) / $20/mo

Transactional email service. Your bots can send welcome emails, notifications, reports, and alerts programmatically. Simple API, great deliverability, built for developers.

npm install resend

# Add RESEND_API_KEY to your .env

# Your bots can now send emails from your domain

Why this matters:With this stack, your bots go from "chat assistants" to "autonomous developers." They can write code, push to GitHub, deploy to Vercel, manage the database on Supabase, and send notification emails via Resend — all without you touching a terminal. You just tell them what to build.

What You Need

Claude Max subscription (recommended for serious use)$200/month
Mac Mini (or any always-on machine)~$600 one-time
Telegram botsFree
tmuxFree
GitHubFree
Vercel Pro (or pay-as-you-go on Hobby for occasional usage)$20/month + usage
Supabase Pro$25/month
Resend (100 emails/day)Free
Total~$245/month + a Mac, plus pay-as-you-go on platform usage

Vibes Europe — Shared Guide