---
title: "Compare Claude Code Channels with a custom Telegram bot before you build either one"
description: "Compare Claude Code Channels, a chat bridge into your running session, with a custom Telegram operations bot before you build either one."
canonical: "https://scalewithsearch.com/articles/claude-code-channels-vs-custom-telegram-bot"
date: "2026-03-23"
modified: "2026-09-25"
---
## Site navigation

- [Scale With Search](https://scalewithsearch.com/)
- Real estate
  - Real estate
    - [Real estate](https://scalewithsearch.com/for/real-estate)
- Work
  - Start here
    - [Send your brief](https://scalewithsearch.com/work#send-your-brief)
    - [Prepare your six-question brief](https://scalewithsearch.com/work#prepare-your-six-question-brief)
  - Build
    - [Site build, content library with SEO, signal desk](https://scalewithsearch.com/work)
- For your business
  - Trades and home services
    - [Auto body and collision shops](https://scalewithsearch.com/for/auto-body-and-collision-shops)
    - [Foundation and home repair contractors](https://scalewithsearch.com/for/foundation-and-home-repair)
    - [Garage door and fencing contractors](https://scalewithsearch.com/for/garage-door-and-fencing-contractors)
    - [HVAC contractors](https://scalewithsearch.com/for/hvac-contractors)
    - [Janitorial and commercial cleaning companies](https://scalewithsearch.com/for/janitorial-and-commercial-cleaning)
    - [Locksmiths](https://scalewithsearch.com/for/locksmiths)
    - [Moving companies](https://scalewithsearch.com/for/moving-companies)
    - [Pest control companies](https://scalewithsearch.com/for/pest-control-companies)
    - [Plumbing and electrical contractors](https://scalewithsearch.com/for/plumbing-and-electrical-contractors)
    - [Restoration and water or fire damage companies](https://scalewithsearch.com/for/restoration-and-water-fire-damage)
    - [Roofing companies](https://scalewithsearch.com/for/roofing-companies)
    - [Towing companies](https://scalewithsearch.com/for/towing-companies)
    - [Tree services and landscaping companies](https://scalewithsearch.com/for/tree-services-and-landscaping)
    - [Solar installers](https://scalewithsearch.com/for/solar-installation)
    - [General contractors](https://scalewithsearch.com/for/general-contractors-and-construction)
    - [Paving, concrete, and flooring contractors](https://scalewithsearch.com/for/paving)
  - Practices and professional services
    - [Bookkeeping and tax practices](https://scalewithsearch.com/for/bookkeeping-and-tax-practices)
    - [Dental practices](https://scalewithsearch.com/for/dental-practices)
    - [Family and criminal defense law firms](https://scalewithsearch.com/for/family-and-criminal-defense-law-firms)
    - [Med spas and aesthetics practices](https://scalewithsearch.com/for/med-spas-and-aesthetics)
    - [Personal injury law firms](https://scalewithsearch.com/for/personal-injury-law-firms)
    - [Veterinary clinics](https://scalewithsearch.com/for/veterinary-clinics)
    - [Gyms and fitness studios](https://scalewithsearch.com/for/fitness)
    - [Therapy and outpatient health practices](https://scalewithsearch.com/for/therapy-and-outpatient-health)
    - [Medical billing companies](https://scalewithsearch.com/for/medical-billing)
    - [Insurance agencies](https://scalewithsearch.com/for/insurance-agencies)
    - [Financial advisors](https://scalewithsearch.com/for/financial-advisors)
    - [Property management companies](https://scalewithsearch.com/for/property-management)
    - [Recruiting and staffing agencies](https://scalewithsearch.com/for/recruiting-and-staffing)
    - [Architects and interior designers](https://scalewithsearch.com/for/architects-and-interior-designers)
    - [Logistics and supply chain companies](https://scalewithsearch.com/for/logistics-and-supply-chain)
  - Agencies, MSPs, and manufacturing
    - [IT and managed service providers](https://scalewithsearch.com/for/it-and-managed-service-providers)
    - [Machine shops and precision manufacturers](https://scalewithsearch.com/for/machine-shops-and-precision-manufacturing)
    - [Marketing agencies and freelancers](https://scalewithsearch.com/for/marketing-agencies-and-freelancers)
    - [SEO agencies and consultants](https://scalewithsearch.com/for/seo-agencies-and-consultants)
    - [Small manufacturers and fabricators](https://scalewithsearch.com/for/small-manufacturers-and-fabricators)
  - Restaurants, shops, studios, and nonprofits
    - [Restaurants and hospitality businesses](https://scalewithsearch.com/for/restaurants-and-hospitality)
    - [Retail stores and ecommerce sellers](https://scalewithsearch.com/for/retail-and-ecommerce)
    - [Photographers, event planners, and travel agents](https://scalewithsearch.com/for/photographers)
    - [Churches and nonprofits](https://scalewithsearch.com/for/churches-and-nonprofits)
  - [All industries](https://scalewithsearch.com/for/)
- Learn
  - For your office
    - [Office job guides](https://scalewithsearch.com/guides/)
    - [Browser calculators](https://scalewithsearch.com/tools/)
  - Start here
    - [How it works](https://scalewithsearch.com/how-it-works)
    - [Free Starter Kit](https://scalewithsearch.com/kit/business-memory-starter-kit.zip)
    - [Synthetic specimen](https://scalewithsearch.com/specimen/working-session-specimen.zip)
  - Guides
    - [The Complete Guide to Business Memory for AI Agents](https://scalewithsearch.com/articles/business-memory-for-ai-agents-guide)
    - [The Complete Small-Business Guide to AI Agent Governance](https://scalewithsearch.com/articles/ai-agent-governance-guide-small-business)
    - [The Complete Guide to Leaving Vendor AI Memory](https://scalewithsearch.com/articles/leaving-vendor-ai-memory-guide)
  - Articles by cluster
    - [Business memory](https://scalewithsearch.com/articles/business-memory-for-ai-agents-guide)
    - [Agent governance](https://scalewithsearch.com/articles/ai-agent-governance-guide-small-business)
    - [Migration and ownership](https://scalewithsearch.com/articles/leaving-vendor-ai-memory-guide)
  - For machines
    - [llms.txt](https://scalewithsearch.com/llms.txt)
    - [llms-full.txt](https://scalewithsearch.com/llms-full.txt)
    - [Machine view](https://scalewithsearch.com/?view=machine)
- Company
  - Evidence
    - [Proof](https://scalewithsearch.com/proof)
  - Company
    - [About](https://scalewithsearch.com/about)

# Compare Claude Code Channels with a custom Telegram bot before you build either one.

You want to reach Claude Code from your phone. On March 20, 2026, Anthropic shipped Claude Code Channels as a research preview. It connects a running Claude Code session to Telegram and Discord. You create a bot, install a plugin, pair your account, and Claude Code answers your messages. Setup takes minutes.

The question is what happens after the message arrives. Channels is a chat bridge. A custom Telegram bot can be an operations system that watches your inbox, your CRM, and your search data, and contacts you first. The two share a surface and sit in different categories.

This article compares them dimension by dimension, so you can decide which one your work needs.

## What Claude Code Channels does

A channel is an MCP server that pushes events into a Claude Code session that is already open. The official plugins cover Telegram and Discord, and the September 2026 documentation also lists iMessage. You type in Telegram. The message arrives in the session on your machine. Claude Code does the work and sends the reply back to your chat.

The setup friction is low. You create a bot with BotFather and copy its token. You install the Telegram plugin, save the token with its configure command, and restart Claude Code with the `--channels` flag. The bot then replies to your first message with a pairing code, and you approve the code in the session. You do not provision a VPS, write `systemd` service files, or manage SSL certificates.

Anthropic maintains the official plugins, so you write no bridge code. The session itself runs on your machine. Events arrive only while that session is open, so an always-on bridge needs a machine that stays on. When Anthropic improves tool use or context handling in Claude Code, Channels gets the change without action from you. Discord support also helps teams that already work in Discord.

Channels also matters as a signal. VentureBeat called it an "OpenClaw killer." Third-party developers had built similar bridges with API wrappers and webhooks. A first-party version tells the market that messaging access is a core Claude Code surface, not a workaround.

## Where Channels stops

The official chat plugins are reactive. They wait for your message. A channel can also carry webhook events from CI or a monitoring tool, but you build or connect the source that sends them. That design choice sets the limits of the bridge.

A reactive system can answer questions. It cannot check your Gmail at 6 a.m. for an urgent client reply and send a Telegram alert before you leave. It cannot watch your CRM for leads that sit past a response deadline. It cannot check Google Search Console for a ranking drop, or merge overnight activity from five business areas into one digest before your alarm.

At launch, Channels documented no quiet hours. A production system needs a quiet-hours rule. For example, from 10 p.m. to 5 a.m., non-urgent alerts wait in a queue. A 5 a.m. digest then sends them together. The system also needs to hold notifications during a commute, when voice is the only practical interface.

It must also tell a Tier 1 alert from a Tier 2 observation. A changed deal value in the CRM is Tier 1 and goes out at once. A 12 percent rise in Search Console impressions is Tier 2 and waits for the morning.

Channels delivers every message into one session and one context. A production setup can run five bots, each with its own token, notification rules, and tone. One bot handles sales CRM work. Another handles client delivery. A third handles personal automation.

The bots share one AI engine but keep their contexts apart, so a sales alert never enters a client delivery thread. The [guide to separate business contexts](/articles/separate-business-contexts-ai-agents) covers how to draw those boundaries.

## Compare the two dimension by dimension

The custom column describes one production system observed in March 2026. Its counts show what a mature build can hold. They are not a benchmark for your build.

| Dimension | Claude Code Channels | Custom Telegram bot |
|---|---|---|
| Voice input | Text at launch | `faster-whisper` with voice activity detection and int8 models |
| Proactive monitoring | Waits for messages | 41 modules: Gmail, calendar, CRM, Search Console, weather, and others |
| Session handling | One open session; events arrive only while it runs | 2-hour resume window; file-based persistence across restarts |
| Quiet hours | None documented | 10 p.m. to 5 a.m. queue; 5 a.m. digest; commute hold |
| Domain routing | One context | 5 business areas; keywords switch the context |
| Bot count | One bot per plugin, all into one session | 5 bots with separate tokens and notification rules |
| CRM write gates | None built in; Claude Code permission prompts apply | 7-rule gate; dry run by default; deal writes blocked |
| Morning briefing | None | 5 a.m. digest across all areas |
| Notification tiers | None documented | Tier 1 immediate push; Tier 2 queued for the digest |
| Running cost | Included in the Anthropic plan; needs a machine that stays on | A small VPS that you control |
| Data location | Session on your machine; messages pass through the chat platform; prompts go to Anthropic | Logs on your server; messages pass through Telegram; prompts go to the model provider |

The table is not a criticism of Channels. It measures the distance between a chat bridge and an operations system. They solve problems at different layers.

## Voice changes when you can use the system

A text-only integration works at a desk, or with a phone in your hand while you stand still. It fails during a long commute. For many owners, that drive is the longest block of uninterrupted thought in the day.

A custom bot that runs `faster-whisper` with voice activity detection accepts Telegram voice messages directly. You hold the microphone button and speak for thirty seconds about a client follow-up. The bot transcribes the audio on the VPS with an int8 model and parses the intent. Then it either executes the task or queues it for confirmation at your next screen.

For an owner whose main AI window is a car, voice decides how often the system gets used. Channels, as shipped in March 2026, limits use to the moments when you can type. The [article on voice context across sessions](/articles/voice-ai-context-retention-across-sessions) covers what a voice system should keep between calls.

## Proactive monitoring inverts the direction

The deepest difference is direction. Channels responds. A proactive system starts the contact.

Take the morning briefing. At 5 a.m., the engine runs its modules in sequence:

1. Check Gmail for overnight replies from active prospects.
2. Query the CRM API for leads that passed a response deadline overnight.
3. Pull Search Console data for sites with ranking movement.
4. Check the calendar and flag meetings that need preparation.
5. Check the weather for the commute.
6. Merge the Tier 2 notifications that waited through quiet hours.

The output is one Telegram message, formatted for a 30-second scan, that arrives before you pick up the phone. Nobody asked for it. The rules you wrote once decided what mattered.

Each module has its own polling interval, notification rule, and quiet-hours status. A CRM deadline breach at 3 a.m. earns a Tier 1 push that ignores quiet hours. A Search Console impression rise waits for the digest. The Channels chat plugins use request and response, so they cannot do this without a source that you build. They were not designed to.

## Put a gate in front of every CRM write

Channels gives Claude Code access to the tools you configured. If Claude Code can call a CRM API, a message through Channels can trigger that call. Access without a gate is a liability.

The production system in the table runs every CRM write through a 7-rule gate. The gate asks these questions before any change:

- Does the contact exist?
- Is the field writable?
- Does the change conflict with a current value?
- Is the operator in dry-run mode, which is the default?
- Did the operator lift the write block for this exact operation?

One command, `/deals`, is blocked for all writes with no exceptions. The bot can search deals, report on them, and analyze patterns. It never creates, changes, or deletes a deal record. One bad write to a live CRM can spread into account assignments, commission figures, and client messages.

The gate produces a dry-run report that shows exactly what would change. Then it waits for explicit confirmation. Channels has no equivalent, because it does not work at that layer. The [approval article](/articles/who-approves-what-an-ai-agent-sends) shows how to assign the confirmation step by action type.

## Keep session history the bot can search

A custom bot can hold a 2-hour resume window. If you send a message within 2 hours of your last one, the bot continues the same session with full context. After 2 hours, it starts a new session but keeps the logs in files. You can mention yesterday's discussion, and the bot searches its own history to rebuild the context.

Channels delivers each message into the session that you have open. The history lasts as long as that session and its context. What matters is practical. Does your 8 a.m. conversation about a client still hold at noon, after three meetings? If not, you explain the context again.

History compounds over time. The production system in the table had logged 57,634 messages by March 2026. You can ask it, "What did we decide about the follow-up sequence for leads over 60 days?" The bot searches real transcripts, not a model's summary of them.

## Route each message to the right business context

Many owners run several operations at once. One person may run a sales pipeline, a consulting practice, a course business, and household operations. The bot needs to load the right context from the words in each message.

A custom bot uses keyword routing. A message about a lead list loads the sales CRM context files. A message about a deliverable or a retainer loads client operations. A message about the budget or a legal matter loads personal operations. Each area has its own `_context.md` file, rules, and source data. The bot reads the right file before it replies.

With Channels, messages reach one Claude Code instance. You can keep several context files and tell Claude Code to switch between them. Channels does not supply the keyword detection, automatic context load, or isolation between areas.

## Decide who holds the infrastructure

Channels runs inside your own Claude Code session, and the bridge stops when that session stops. Message text passes through Telegram or Discord, and the prompts go to Anthropic for processing. For most users, that is acceptable.

A custom bot on your own VPS changes who holds the logs and the uptime. The bot keeps its logs and session transcripts on your server as your files. The prompts it sends to Claude still go to Anthropic, and retention terms depend on your plan. To audit what the AI said three months ago, you query your own SQLite database. You do not depend on an API that may or may not keep the history.

In the production example, one small VPS ran 5 bots, 41 monitoring modules, 32 handler modules, voice transcription, and a searchable session ledger. The same server also hosted a 7,503-file Obsidian vault as the knowledge base. In March 2026, that VPS cost less per month than one paid Claude plan. Channels cost is bundled into the Anthropic plan, so the comparison depends on your plan and your use. The custom server also runs your other workloads. The [shutdown test](/articles/what-stops-when-you-stop-paying-for-ai) shows which parts of each route survive a lapsed subscription.

## Choose Channels when the bridge is enough

Channels is the correct choice when you want Telegram or Discord access to Claude Code and none of these needs apply:

- voice input from a car, a walk, or any place where you cannot type;
- a system that contacts you first with briefings, CRM alerts, or failure notices;
- quiet hours that queue non-urgent messages and send them on a schedule;
- CRM access with gates that block accidental writes;
- context routing across several business areas;
- data and logs on infrastructure that you control;
- session history that spans hours or days and that you can search.

If none apply, Channels is a good product for its scope. It needs little setup, Anthropic maintains it, and it works on several platforms.

## Build custom when the bot must act without a prompt

Build custom when Telegram access is the starting point, not the goal. The system must watch without a request, act inside gates without supervision, route context without instruction, and manage its own notification schedule.

The foundation is a Python bot that uses `python-telegram-bot` and the Claude Code CLI on a small VPS. A base bot takes a few hours. Production adds more work:

- `systemd` service management;
- log rotation;
- health checks;
- safe degradation when an API is unreachable;
- database migrations as the schema changes;
- new modules as your operations grow.

Channels still sets the floor for a custom build. If Channels adds voice transcription, a custom bot must match its quality. If Channels adds session persistence, a custom build must show why its own layer is better. Channels also brings Claude Code to many users who will never provision a VPS. That larger user base improves the models and tools that custom builds use.

Both routes let you message Claude from Telegram. Channels carries the message. A custom bot decides what to watch, when to speak, and what it may never write.


## Related: AI memory

- [A Brief Is Not a Prompt](/articles/brief-vs-prompt)
- [Give Every Agent a Job, Sources, and Stopping Point](/articles/give-every-agent-a-job-sources-and-stopping-point)
- [What Is an AI Agent in a Small Business?](/articles/what-is-an-ai-agent-in-a-small-business)

----

```text
                  .|########||.                                       .|########||.                                       .|########||.
               |##||.      .||##|.                                 |##||.      .||##|.                                 |##||.      .||##|.
             |#|.              .|#|.                             |#|.              .|#|.                             |#|.              .|#|.
           |#|                    |#|                          |#|                    |#|                          |#|                    |#|
         .#|                        |#.                      .#|                        |#.                      .#|                        |#.
        .#.                          .#|                    .#.                          .#|                    .#.                          .#|
       |#.                            .#|                  |#.                            .#|                  |#.                            .#|
      |#             ......             #|                |#             ......             #|                |#             ......             #|
     .#           ||#########|           #|              .#           ||#########|           #|              .#           ||#########|           #|
    .#.         |######||######|.        .#.            .#.         |######||######|.        .#.            .#.         |######||######|.        .#.
    #.        .##|###|##|#|######|        .#            #.        .##|###|##|#|######|        .#            #.        .##|###|##|#|######|        .#
   ||        |##|#||||||||||||#||#|        ||          ||        |##|#||||||||||||#||#|        ||          ||        |##|#||||||||||||#||#|        ||
   #        |#||||||||||||||||||||#|        #.         #        |#||||||||||||||||||||#|        #.         #        |#||||||||||||||||||||#|        #.
  ||       |#||||||||||||||||||||||#|       ||        ||       |#||||||||||||||||||||||#|       ||        ||       |#||||||||||||||||||||||#|       ||
  #       .#||||||||||||||||||||||||#|       #        #       .#||||||||||||||||||||||||#|       #        #       .#||||||||||||||||||||||||#|       #
 ||   ....|||#||||||##|#|||#|#||##||||....|. ||      ||   ....|||#||||||##|#|||#|#||##||||....|. ||      ||   ....|||#||||||##|#|||#|#||##||||....|. ||
 #.  .  ....|#  ....#|||   ||| .#|||  ....#. .#      #.  .  ....|#  ....#|||   ||| .#|||  ....#. .#      #.  .  ....|#  ....#|||   ||| .#|||  ....#. .#
 #   .  ||||#| .#####||  . .#| .#|||  ||||#   #.     #   .  ||||#| .#####||  . .#| .#|||  ||||#   #.     #   .  ||||#| .#####||  . .#| .#|||  ||||#   #.
.|   |||||  #. |#|||||. ||  #. |#||. .|||||   ||    .|   |||||  #. |#|||||. ||  #. |#||. .|||||   ||    .|   |||||  #. |#|||||. ||  #. |#||. .|||||   ||
||   |....  #. ....|#.      |. ...|. ....||   ||    ||   |....  #. ....|#.      |. ...|. ....||   ||    ||   |....  #. ....|#.      |. ...|. ....||   ||
#.  .||||||##||||||##||####|||||||#||||||#|   .#    #.  .||||||##||||||##||####|||||||#||||||#|   .#    #.  .||||||##||||||##||####|||||||#||||||#|   .#
#    .||####|###########################|.     #    #    .||####|###########################|.     #    #    .||####|###########################|.     #
#      .#||||||.#.|| # |. ..# #| #|||||#|      #    #      .#||||||.#.|| # |. ..# #| #|||||#|      #    #      .#||||||.#.|| # |. ..# #| #|||||#|      #
#      .#|||||| ..  |# ## |#| ...#|#|||#|      #    #      .#|||||| ..  |# ## |#| ...#|#|||#|      #    #      .#|||||| ..  |# ## |#| ...#|#|||#|      #
#      .#|||#|# .# .#| #| ##|.#..#|||||#|      #    #      .#|||#|# .# .#| #| ##|.#..#|||||#|      #    #      .#|||#|# .# .#| #| ##|.#..#|||||#|      #
#      .#||||||############|######|||||#|      #    #      .#||||||############|######|||||#|      #    #      .#||||||############|######|||||#|      #
#   |...||#||||||#||||#|#||||||#|||||#||| |.|  #    #   |...||#||||||#||||#|#||||||#|||||#||| |.|  #    #   |...||#||||||#||||#|#||||||#|||||#||| |.|  #
#. .. ||||# .|||##|.  |#| .|| || .|||#. #|  # .#    #. .. ||||# .|||##|.  |#| .|| || .|||#. #|  # .#    #. .. ||||# .|||##|.  |#| .|| || .|||#. #|  # .#
|| |  ...||  ...##| |  #| .|. |. #####  .. .| ||    || |  ...||  ...##| |  #| .|. |. #####  .. .| ||    || |  ...||  ...##| |  #| .|. |. #####  .. .| ||
|| ||||| || ||||#|  .  |. |. |#. ||||| |#| || ||    || ||||| || ||||#|  .  |. |. |#. ||||| |#| || ||    || ||||| || ||||#|  .  |. |. |#. ||||| |#| || ||
.# |.....#|....|#.||||.|||##.|#|....||.#||.#. #.    .# |.....#|....|#.||||.|||##.|#|....||.#||.#. #.    .# |.....#|....|#.||||.|||##.|#|....||.#||.#. #.
 #.|||||||#############################| ||| .#      #.|||||||#############################| ||| .#      #.|||||||#############################| ||| .#
 ||       ##||#||#||||||#||#||#||#||##.      ||      ||       ##||#||#||||||#||#||#||#||##.      ||      ||       ##||#||#||||||#||#||#||#||##.      ||
  #       .#|||||||||#||#|||||||||||#|       #        #       .#|||||||||#||#|||||||||||#|       #        #       .#|||||||||#||#|||||||||||#|       #
  ||       |#||||||||||||||||||||||#|       ||        ||       |#||||||||||||||||||||||#|       ||        ||       |#||||||||||||||||||||||#|       ||
  .#        |#||||||||||||||||||||#|        #.        .#        |#||||||||||||||||||||#|        #.        .#        |#||||||||||||||||||||#|        #.
   ||        |#||||||||||||||||||#|        ||          ||        |#||||||||||||||||||#|        ||          ||        |#||||||||||||||||||#|        ||
    #.        .######|#|#########|        .#            #.        .######|#|#########|        .#            #.        .######|#|#########|        .#
    .#.         |#####||||#####|         .#.            .#.         |#####||||#####|         .#.            .#.         |#####||||#####|         .#.
     |#           ||########||           #.              |#           ||########||           #.              |#           ||########||           #.
      |#             ......             #|                |#             ......             #|                |#             ......             #|
       |#.                            .#|                  |#.                            .#|                  |#.                            .#|
        |#.                          .#.                    |#.                          .#.                    |#.                          .#.
         .#|                        |#.                      .#|                        |#.                      .#|                        |#.
           |#|                    |#|                          |#|                    |#|                          |#|                    |#|
            .|#|.              .|#|.                            .|#|.              .|#|.                            .|#|.              .|#|.
               |##||.      .||##|                                  |##||.      .||##|                                  |##||.      .||##|
                 .||########||.                                      .||########||.                                      .||########||.

Scale With Search  2026  [scalewithsearch.com](https://scalewithsearch.com)
```
