Shareuhack | Claude Code Channels Hands-On: Can It Really Replace OpenClaw? Full Setup & Honest Comparison
Claude Code Channels Hands-On: Can It Really Replace OpenClaw? Full Setup & Honest Comparison

Claude Code Channels Hands-On: Can It Really Replace OpenClaw? Full Setup & Honest Comparison

March 20, 2026

Claude Code Channels Hands-On: Can It Really Replace OpenClaw? Full Setup & Honest Comparison

In March 2026, Anthropic launched Claude Code Channels, letting developers control their local Claude Code sessions directly from Telegram and Discord. The community immediately erupted — everyone was asking: is this the end of OpenClaw?

After hands-on testing, my conclusion is: the truth is more nuanced than the hype. Channels delivers official-grade security and integration, but it's still a few walls short of "replacing OpenClaw." This article skips the setup tutorial rehash and gives you an honest comparison to help you decide which tool fits your workflow.

TL;DR

  • Claude Code Channels uses an MCP plugin architecture to let you control local Claude Code from Telegram or Discord. Setup takes about 15 minutes.
  • The three-layer security model is more robust than OpenClaw's, but remote control scenarios almost always require bypassing permission prompts — a structural tension between security and convenience.
  • "OpenClaw is dead" is emotion, not fact. Channels and OpenClaw are complementary, not competing: Channels wins on security and official support, OpenClaw wins on platform breadth and persistent sessions.
  • This is a research preview with feature flag gating — not everyone can use it yet.

What Is Channels? Understanding the MCP Plugin Architecture

Let's clear up a common misconception: Claude Code Channels isn't another chatbot. It's a plugin system built on MCP (Model Context Protocol) that lets external events "push" into your running Claude Code session.

Think of your Claude Code as having only one ear (terminal input). Channels adds a walkie-talkie. Telegram messages come through this walkie-talkie, Claude processes them, and sends results back the same way.

Technically, a Channel runs as an MCP server locally as a subprocess, continuously listening to the Telegram Bot API. When it receives a message, it pushes the payload directly into your Claude Code session, and Claude responds back through Telegram. Your code never leaves your local environment.

The advantage of this architecture is standardization. Built on MCP, anyone can develop their own channel plugins in the future (currently only Anthropic-whitelisted plugins are allowed during the research preview).

15-Minute Setup: Connect Telegram to Claude Code Step by Step

Before you start, check whether your account is affected by feature flag gating. Channels is rolling out gradually, and some accounts can't use it even after updating (see the Pitfalls section). Try the setup first — if your bot doesn't respond at all after troubleshooting, it's likely server-side gating.

Prerequisites:

  • Claude Code v2.1.80 or higher (verify with claude --version)
  • Bun runtime installed (verify with bun --version, or install via curl -fsSL https://bun.sh/install | bash)
  • claude.ai account login (API keys are not supported — this is a current limitation)

Ready? Follow these 7 steps:

Step 1: Create a Telegram Bot Open Telegram, find @BotFather, and send /newbot. Choose a display name and a username ending in bot. Copy the token BotFather gives you.

Step 2: Install the Official Plugin In your Claude Code session, run:

/plugin install telegram@claude-plugins-official

If not found, first run /plugin marketplace add anthropics/claude-plugins-official.

Step 3: Configure the Bot Token Run /telegram:configure and paste the BotFather token. It saves automatically to ~/.claude/channels/telegram/.env.

Step 4: Restart with Channels Enabled Exit your current session and restart with:

claude --channels plugin:telegram@claude-plugins-official

This is where many people get stuck. Just installing the plugin doesn't activate Channels — you must explicitly use the --channels flag.

Step 5: Pair DM your bot on Telegram. It replies with a 6-character pairing code.

Step 6: Complete Pairing Back in your Claude Code terminal, run /telegram:access pair and enter the pairing code to add your Telegram ID to the allowlist.

Step 7: Lock Down Access Run /telegram:access policy allowlist to ensure only allowlisted users can interact with the bot.

Done. You can now send messages to your bot from Telegram, and it will execute tasks directly in your local Claude Code session.

Note: Enterprise and Team plan users have Channels disabled by default. Your organization admin must enable it manually in claude.ai Admin settings.

Real-World Experience: What It's Actually Like to Control Claude Code from Your Phone

The first impression after setup is genuinely exciting. Send "run the tests" from Telegram and Claude starts working locally within about 3-5 seconds. The full round-trip depends on task complexity — simple commands (running tests, checking files) typically complete in 10-30 seconds, while complex tasks (compiling projects, large file operations) can take several minutes. According to MacStories' hands-on review, they used Telegram to direct Claude to compile iOS projects, batch-organize articles, and transcribe podcast audio — all remotely.

But keep in mind that all of this consumes your Claude Code token quota. Long-running async tasks aren't cheap on tokens, and Pro plan users should watch their rate limits to avoid burning through daily quotas on a single remote task.

Here's the important reality check: the community says "no need to bring your laptop," but the truth is "your computer must stay on — you just don't need to sit in front of it."

This gap comes from an architectural limitation: Channels has no message queue. Your Claude Code session must keep running, and any messages sent while it's offline are permanently lost.

The community has developed a workaround: use tmux with a while loop to keep the session persistent:

tmux new -s claude-channels
while true; do claude --channels plugin:telegram@claude-plugins-official; sleep 5; done

This auto-restarts the session if it crashes. Launch it in tmux before you leave, control from your phone, and reconnect with tmux attach -t claude-channels when you're back. Not a perfect 24/7 solution, but good enough for most "out during the day, back at night" scenarios.

Another experience issue is permission interrupts. If Claude encounters an action requiring your permission (like writing files or running commands), it pauses and waits for you to confirm locally at the terminal. This is a major UX disruption for remote use, and MacStories identified it as the biggest pain point.

Three-Layer Security Model Deep Dive (And Its Achilles' Heel)

Channels' security design is architecturally sound, with three layers:

Layer 1: Sender Allowlist Only Telegram users who've completed the pairing flow (identified by numeric user ID) can push messages. Unauthorized messages are silently dropped — no error message, nothing.

Layer 2: Per-session Opt-in You must explicitly add the --channels flag every time you launch Claude Code. This ensures channels can't receive external messages without your knowledge.

Layer 3: Plugin Whitelisting Only Anthropic-approved plugins are accepted. Loading your own custom channel requires the --dangerously-load-development-channels flag — the name itself is a warning.

This design is significantly better than OpenClaw's criticized "bypassing security layers" approach. But there's a structural contradiction:

The core value of remote control is "getting Claude to work when you're not at the computer." But whenever Claude hits a permission prompt, the session pauses until you return to the terminal. To truly achieve unattended remote control, you'll almost certainly need --dangerously-skip-permissions, which bypasses all of Claude Code's permission checks.

In other words, the three-layer security model protects "who can send messages to Claude" but can't protect "what Claude does after receiving a message." In skip-permissions mode, any message from an allowlisted sender can make Claude execute arbitrary operations on your local machine.

The practical approach is situational: use standard mode when you're monitoring for full security protection; use skip-permissions for unattended work but restrict the scope (e.g., only operate within a specific project directory). Think of it as a risk dial, not a binary switch.

Channels vs OpenClaw vs NanoClaw: Which Should You Choose?

The community unanimously declared "OpenClaw is dead," but the data tells a different story. Here are the real differences as of March 2026 (research preview phase — subject to change):

ComparisonClaude Code ChannelsOpenClawNanoClaw
Maintained byAnthropic (official)Community (Peter Steinberger)Community
Supported platformsTelegram, DiscordTelegram, Discord, iMessage, WhatsApp, Slack (some reports also mention Signal)Telegram, Discord, WhatsApp, Slack, Signal
Security modelThree-layer + Enterprise controlsCriticized for bypassing security layersDocker container isolation
Session persistenceMust stay open24/7 persistent sessionsDocker container persistent
Setup difficultyMedium (CLI commands)High (self-hosted)Medium (Docker)
Ecosystem stabilityOfficial, single versionFragmented (multiple community forks)Lightweight, stable

Channels and OpenClaw actually target different users:

  • "I occasionally want phone control, and security matters" → Channels. Official support, three-layer security, Enterprise controls. Best for enterprise users or security-conscious developers.
  • "I need 24/7 multi-platform integration, and iMessage/WhatsApp are must-haves" → OpenClaw. Platform breadth is its biggest advantage, but you'll bear security risks and fragmented maintenance.
  • "I want sandboxed isolation — no AI touching my host filesystem" → NanoClaw. Docker container isolation is its unique selling point, but it lacks Claude Code-level coding agent depth.

If you can only pick one, using only Telegram on a budget: choose Channels. Official support, security, simple setup — enough for most "occasional remote control" scenarios. OpenClaw becomes necessary only when you need iMessage/WhatsApp or truly persistent 24/7 sessions.

If you're willing to maintain both: use Channels at the office (secure, official) and switch to OpenClaw when you need cross-platform or persistent operation.

Pitfall Guide: Known Limitations & Troubleshooting Checklist

Channels is currently a research preview. Here are the pitfalls to know upfront:

1. Feature Flag Gating The most confusing issue. Even after updating to v2.1.80, you might not be able to use Channels. Anthropic uses a server-side feature flag called tengu_harbor for gradual rollout. If your account isn't in the rollout scope, the plugin installs but the handler doesn't register, and the bot simply won't respond. This isn't a setup issue — it's server-side gating, and you can only wait.

2. DISABLE_TELEMETRY Configuration Trap If you've set DISABLE_TELEMETRY in your Claude Code config, even setting it to 0 (meaning "don't disable") will still block Channels. The fix is to completely remove the key, not set it to 0.

3. Offline Messages Are Permanently Lost No message queue. All messages sent while the session is closed vanish. Using tmux mitigates this but doesn't solve it fundamentally.

4. No Voice Message Support You can send images (up to 50MB) and files, but voice messages aren't supported. Also, Telegram compresses photos by default — if you need original quality (e.g., debug screenshots), send as a file instead.

5. No Message History The Telegram Bot API doesn't provide message history or search. The bot only sees messages as they arrive in real time.

6. Research Preview Instability The --channels flag syntax and protocol contract may change in future versions. Don't integrate Channels into critical production workflows at this stage.

Investment advice: If you've confirmed you're not behind the feature flag gate (your bot responds normally), it's perfectly reasonable to start using it for personal projects and non-critical tasks. But if your bot isn't responding, don't waste time debugging your setup — it's most likely the server-side gate.

Conclusion

Channels is Anthropic's serious answer to the demand for remote control, delivering security and official maintenance that the OpenClaw ecosystem can't match today. But calling OpenClaw dead is premature — the platform breadth and session persistence gaps are real.

Here's what to do: spend 15 minutes running through the setup. If your account isn't behind the feature flag gate, congratulations — start enjoying official remote control. If you hit the gate, use OpenClaw in the meantime and wait for Anthropic to roll it out to you.

Either way, don't delete your OpenClaw just yet.

FAQ

Why isn't my Telegram bot responding?

The most common cause is launching Claude Code without the --channels flag. Just installing the plugin isn't enough — you must start with claude --channels plugin:telegram@claude-plugins-official. Also verify the 6-character pairing is complete and Bun is installed (bun --version). Enterprise/Team users need an admin to enable channelsEnabled.

Can I use an API key to log in?

No. Claude Code Channels currently only supports claude.ai account login. Console API key authentication is not supported. This is a limitation of the research preview phase.

How do I enable Channels on Enterprise or Team plans?

Channels is disabled by default on Team and Enterprise plans. Your organization admin needs to go to claude.ai Admin settings → Claude Code → Channels and toggle channelsEnabled to true. Pro and Max plans have it enabled by default.

Can I control multiple projects at the same time?

Yes, but separately. Each Claude Code terminal session connects to one Telegram bot. If you need to control multiple projects simultaneously, you'll need multiple bots each paired to different sessions.

Copyright @ Shareuhack 2026. All Rights Reserved.

About Us | Privacy Policy | Terms and Conditions