Agentic coding sessions create a new category of developer anxiety. You start Claude Code on a complex refactor, step away for a meeting, and return to find it has rewritten your database layer, created three new files, and opened a pull request — all while you were in a standup. Or the opposite: it paused at a decision point two hours ago, has been waiting for input ever since, and nothing has moved.
The community converged on one solution: bring Claude Code to your phone via Telegram. Three distinctly different tools now exist to do this. They look similar from a distance — all three involve Telegram and Claude Code. Under the hood, they solve the problem with completely different philosophies, different architectures, and different trade-offs.
Quick Glance: The Three Contestants
| CodePulse v2 | claude-code-telegram | Claude Code Remote | |
|---|---|---|---|
| Author | 4brainiacs (Eugen) | RichardAtCT | JessyTsui |
| Type | Self-hosted bot | Self-hosted bot | Self-hosted hook bridge |
| License | Freemium (see pricing) | MIT / Free | MIT / Free |
| Runtime | Bun 1.1+ / Windows | Python 3.9+ / Cross-platform | Node.js 14+ / Cross-platform |
| GitHub Stars | Private repo | ~257 | ~1,200 |
| Core philosophy | Orchestrate, plan, supervise | Terminal replacement via Telegram | Notification + command injection |
CodePulse v2: The Orchestration Layer
Website: codepulse.at Pricing: Free ($0, tool-by-tool mode) / Premium ($9.99/mo, plan-based execution)
CodePulse is a self-hosted Telegram bot that acts as an autonomous development supervisor — bridging Claude Code CLI to your phone. It runs as a single Bun process on Windows 10/11 with no Docker, no Redis, no cloud relay, and no inbound connections. The project's governing constraint: "Zero cloud infrastructure. Zero inbound connections."
This is not a thin wrapper that forwards your messages to Claude. The Orchestrator layer — Layer 2 of three — is the core value of the product. It sits between your Telegram bridge and the Claude SDK, adding task planning, approval logic, git management, cost tracking, project memory, and notification intelligence that would not exist if you connected Claude directly to Telegram.
Architecture: Three Strict Layers
All communication flows top-down. No layer reaches upward.
The Claude SDK lives entirely in Layer 3. Every message passes through the Orchestrator before Claude is ever involved. This means a large class of requests — git commits, project switching, status queries, cost checks, and replay reports — never reach Claude at all and cost zero tokens.
The 7-Intent Local Classifier
Before any message reaches Claude, the task planner classifies it into one of seven intent types using pure local pattern matching — no API call, no tokens, instant response.
Six of eleven intent types are handled entirely locally. A message like "git commit and push with a clean message" triggers git_action, routes directly to the git manager, and returns in milliseconds with zero API spend. Only complex tasks — deep analysis, multi-step refactors, and code questions — reach the Claude Bridge.
The Approval Engine: 4-Mode State Machine
The approval engine is the gatekeeper for every Claude tool call. It runs a 7-step decision tree on every tool invocation before it executes.
The engine operates in one of four modes: tool-by-tool (every call asks you via Telegram), plan-approved (in-scope auto-approve, out-of-scope ask), bypass (auto-approve everything except git operations), and plan-only (deny all execution — planning only). Adaptive learning is a Premium feature — after 3 consecutive same decisions, CodePulse starts auto-applying that pattern.
Voice Input, Project Memory, and Git Automation
A capability with no equivalent in either open-source tool: you can send a voice message to the Telegram bot. The voice engine transcribes it via OpenAI Whisper API. After 10 seconds of silence following transcription, it auto-confirms the intent without requiring a tap.
Project memory auto-discovers your codebase context on first access — language, framework, test commands, and file tree — and injects it into every Claude session system prompt automatically. Claude starts each session already knowing your project structure.
The git manager handles a complete workflow: auto-branch creation, auto-stash, conventional commit messages, push, and GitHub PR URL generation. Git commit and push commands in the approval engine always ask — even in bypass mode — because commits are irreversible.
Notification Intelligence and Cost Control
The notification router classifies every event into three tiers — SILENT (read-only tools, never sent), INFO (edits, progress — sent silently), and ALERT (plan ready, errors, cost threshold — full notification with sound). Runtime commands let you switch between quiet, verbose, and debug modes from Telegram.
The cost router tracks every Claude API interaction in real time with per-session and cumulative token counts. An 80% warning notification fires when session spend approaches the configured limit, and a hard stop at 100% terminates the session automatically.
CodePulse Strengths and Limitations
Strengths: Freemium model with a genuinely functional free tier, 7-intent local classifier (zero tokens), 4-mode approval engine with adaptive learning, voice input, full git workflow automation, project memory auto-injection, 3-tier notification intelligence, real-time cost tracking with hard stops, priority task queue with emergency interrupt, and zero-config Windows installer.
Limitations: Windows 10/11 only, self-hosted, closed source, Premium features require $9.99/mo, Telegram only (no email or LINE), and early-stage community.
claude-code-telegram: The Terminal Replacement
Repository: github.com/RichardAtCT/claude-code-telegram License: MIT — Free Runtime: Python 3.9+ / Cross-platform
claude-code-telegram is the most ambitious of the free options. It does not add a layer around your terminal — it replaces your terminal with Telegram. The Telegram chat becomes the interface to Claude Code. You navigate directories, switch projects, check git state, upload files, and send prompts to Claude — all without opening a terminal or an SSH session.
The right mental model: not "I'm monitoring Claude from my phone" but "I'm developing from my phone."
You run a Python bot process on the machine where your codebase lives. Inbound Telegram messages are parsed as either bot commands (handled locally) or natural-language prompts (forwarded to Claude Code CLI or the Anthropic API). Session state is persisted in SQLite.
Core features: Full terminal navigation (cd, ls, pwd), file and archive upload with zip bomb protection, git status/diff/log visibility, session export in Markdown/HTML/JSON, real-time cost tracking, smart follow-up suggestion buttons, and a strong security sandbox with whitelist-based user control and directory sandboxing.
Strengths: Completely free (MIT), full terminal replacement, cross-platform (macOS, Linux, Windows), fully auditable source code, and an active community with 257 stars in week one.
Limitations: No tool-level approval gate, no adaptive learning or plan-based execution, no voice input, no project memory or context injection, no git automation (only status queries), and requires a permanently running Python process with manual lifecycle management.
Claude Code Remote: The Lightweight Hook Bridge
Repository: github.com/JessyTsui/Claude-Code-Remote License: MIT — Free Runtime: Node.js 14+ / Cross-platform
With 1,200 GitHub stars, Claude Code Remote is the most widely validated option. It takes the most minimal architectural approach: add a notification and remote command layer around an already-running Claude Code workflow, touching as little as possible.
Where claude-code-telegram replaces your terminal, Claude Code Remote wraps it. It adds hooks that fire when Claude finishes a turn, sends you a notification across your chosen channel, and injects your reply back into the active session.
The standout differentiator: multi-channel notifications — Telegram, email, LINE, and desktop. Claude Code Remote is the only tool in this comparison that supports email and LINE. In corporate environments where Telegram is blocked, email is often the only viable channel.
Core features: Email execution traces, smart Claude state monitoring, Telegram inline buttons, group chat support, tmux and PTY modes for flexible deployment, and a setup wizard that handles hook injection automatically.
Strengths: Highest community validation (1,200 stars), multi-channel support (most channels available), lightweight (nothing runs between Claude turns), MIT licensed, and an active roadmap including Discord and Slack.
Limitations: No approval gate, no voice input or project memory, requires ngrok or a VPS for webhook endpoint, 24-hour token expiry requires daily re-authentication, and the /cmd TOKEN payload pattern is more cumbersome than natural-language chat.
Architecture Comparison: Where the Intelligence Lives
The three tools represent three fundamentally different answers to the same question: "Where should the intelligence live?"
CodePulse places intelligence in the Orchestrator — between Telegram and Claude. Most work happens before Claude is involved. The intent classifier, approval engine, git manager, cost router, and notification router all add cost-free intelligence that would not exist if you wired Telegram directly to the Claude SDK.
claude-code-telegram is transparent: the bot is a proxy, not an orchestrator. Everything Claude does, you see. Everything you type goes to Claude. The intelligence is Claude's, not the tool's.
Claude Code Remote is the most minimal. Between Claude turns, nothing is running. The tool exists only at the moments when Claude is ready for input — not continuously observing.
The Critical Architectural Divide
The fundamental question is not "which tool is best?" — it is "does 'control' mean preventing an action or responding after it completes?"
CodePulse's approval engine evaluates tool calls before they execute. The permission handler calls the engine and only proceeds if the result is allow. Dangerous commands, excluded paths, and out-of-bounds paths are blocked entirely — they never reach Claude's execution path.
Both open-source tools operate after Claude has already acted. You receive a notification when a turn completes. You can influence the next turn, but you cannot prevent the current one.
For personal development workflows, the post-turn notification model is sufficient and arguably less disruptive. For workflows where an unreviewed AI action would cause real damage — production databases, shared codebases, regulated environments, client repositories — the distinction is everything.
Security Across All Three Tools
CodePulse v2: Auth guard with user whitelist, dangerous command blocklist (always deny, no override), excluded path patterns for credential files, ALLOWED_PATHS boundary enforcement, all denials written to SQLite audit log, rate limiter, and zero inbound connections. The local-first architecture means no data leaves your machine. Closed source is a trade-off — security claims cannot be independently verified.
claude-code-telegram: User whitelist, approved-directory sandboxing, rate limiting, input validation against injection and path traversal, optional token auth, and audit logs. Fully open source — every security claim is auditable.
Claude Code Remote: Bot token + chat ID verification, per-session tokens with 24-hour auto-expiry, sender whitelists for email, and session isolation. Fully open source. The ngrok requirement creates a public webhook URL — an attack surface if the token is compromised.
Editorial Scores: 10 Dimensions Compared
Scores are editorial assessments based on documented and source-verified capabilities.
CodePulse leads in oversight (10/10) and intelligence (9.5/10). claude-code-telegram leads in terminal UX (10/10) and value (10/10). Claude Code Remote leads in notification channels (10/10) and community signal (9/10). Overall weighted scores: CodePulse 7.2, claude-code-telegram 6.2, Claude Code Remote 5.9.
Verdict: Who Should Use What
Use CodePulse if you are running Claude Code on production code, client repositories, or regulated environments where an unreviewed AI action would cause real damage. The approval pipeline, Genius Supervisor, AI commit review, and git automation provide a supervision layer no open-source tool currently offers. The free tier is genuinely functional — Premium adds plan-based execution, voice input, and adaptive learning.
Use claude-code-telegram if you want Telegram to replace your terminal. If you develop from your phone, want full git visibility and session export, and do not need pre-execution oversight — this is the most capable free option.
Use Claude Code Remote if you want the lightest possible integration. Its multi-channel support (email, LINE) makes it the only option for corporate environments where Telegram is blocked. The 1,200-star community signal suggests strong long-term maintenance.
The Competitive Moat
CodePulse's advantage is not any single feature — it is the combination of capabilities with no open-source equivalent:
- Pre-execution gating — the approval engine blocks tool calls before they execute
- 4-mode state machine — tool-by-tool, plan-approved, bypass, and plan-only
- Local intent classifier — routes most requests without any API call
- Project memory — context auto-injected into every session
- Git automation — complete branch/commit/push/PR workflow
- Adaptive learning — stops interrupting you for repeated patterns
- Cost hard stop — configurable session budget with automatic termination
The primary risk to CodePulse's position is Anthropic shipping native oversight infrastructure into Claude Code itself. The new Channels, Dispatch, and Remote Control features in the CLI are early signals of this direction. Until then, the gap is real and the moat holds.
Ready to supervise your AI coding agent from your phone? Download CodePulse and experience the 7-step approval pipeline in your first session. The free tier includes the full approval flow with tool-by-tool control — upgrade to Premium to unlock plan-based execution, AI commit review, voice input, and adaptive learning.