Skip to content
littlebearappsPublic

About

Run your coding agents from Telegram. A bridge for Claude Code, Codex, OpenCode and Pi: send tasks by text or voice, watch them work and approve changes from your phone.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

72 stars

Watchers

1 watching

Forks

Latest commit

Β 

History

531 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Untether

Telegram bridge for AI coding agents.
Send tasks by voice or text, stream progress live, and approve changes β€” from your phone, anywhere.

🌐 untether.cc Β· πŸ“– Help guides

CI PyPI PyPI Downloads Python License

Quick start Β· Features Β· Engines Β· Docs Β· Contributing


Your AI coding agents need a terminal, but you don't need to sit at one. Untether runs on your machine (or server) and connects Claude Code, Codex, OpenCode and Pi to a Telegram bot. Send a task from your phone, watch the agent work in real time, tap a button when it needs permission, and read the result when it's done β€” no desk, no SSH, no screen sharing. The agent keeps running if you close Telegram or lose signal.

Send tasks by voice, approve plans remotely, and get reports back from background agents and CI

* Feature availability varies by engine β€” see engine compatibility


⚑ Quick start

You need Python 3.12+, uv (or pipx), and at least one agent CLI on your PATH (claude, codex, opencode or pi).

uv tool install untether        # recommended
# or
pipx install untether

untether                        # first run starts the setup wizard

The wizard creates your Telegram bot (or takes an existing token), picks a workflow mode β€” assistant, workspace or handoff β€” and connects your chat. Then message your bot:

fix the failing tests in src/auth

Step-by-step: Install and onboard β†’ First run. Update with uv tool upgrade untether (or pipx upgrade untether), then send /restart from Telegram β€” see Update Untether.

Upgrading from 0.35.x? v0.36.0 has breaking changes (the auto permission mode is now plan-auto, unattended crons deny approvals, Codex safe mode is a real read-only sandbox, and more). Read Upgrading to v0.36.0 first.


🎯 What you get

  • πŸ“‘ Live progress β€” tool calls, file changes and elapsed time stream into one message as the agent works (verbose progress)
  • πŸ” Approvals from your phone (Claude) β€” approve tool calls, plans and clarifying questions with inline buttons; four permission modes via /planmode (interactive approval, plan mode)
  • β†ͺ️ Live sessions and steering (Claude) β€” background tasks stay visible, and /steer sends a follow-up into the running session (steer follow-ups)
  • πŸŽ™οΈ Voice notes β€” dictate tasks; transcribed by any Whisper-compatible endpoint (voice notes)
  • πŸ“ Projects, branches and worktrees β€” /myproject @feat/thing targets a repo and branch, with parallel runs in isolated worktrees (projects, worktrees)
  • πŸ’¬ Three workflow modes β€” ongoing chat, forum topics per project, or reply-to-continue handoff (choose a mode)
  • πŸ’° Cost and usage tracking β€” per-run and daily budgets, outlier alerts, optional stop-at-limit, /usage breakdowns (cost budgets)
  • ⏰ Schedules and webhooks β€” cron triggers, webhook triggers, one-shot /at 30m … runs and Claude Loop mode (schedule tasks, webhooks and cron)
  • πŸ”„ Terminal ↔ Telegram resume β€” start in your terminal, pick it up with /continue (cross-environment resume)
  • βš™οΈ Settings and files from chat β€” /config button menu, /browse, /file put/get and agent-delivered files (inline settings, file transfer)

Every command is listed in the commands reference.


πŸ”Œ Supported engines

Engine Install Good at
Claude Code npm i -g @anthropic-ai/claude-code Complex refactors, architecture, long context β€” and all interactive features
Codex npm i -g @openai/codex Fast edits, shell commands, quick fixes
OpenCode npm i -g opencode-ai@1 75+ providers via Models.dev, local models (1.x only β€” 2.x is refused before it starts)
Pi npm i -g @mariozechner/pi-coding-agent Multi-provider auth, conversational

Use your existing Claude or ChatGPT subscription β€” no extra API keys needed unless you want API billing. Switch engines per message (/codex …) or per chat (/agent set claude) β€” see switch engines.

Engine compatibility

Feature Claude Code Codex OpenCode Pi
Progress streaming, resume, voice input, model override βœ… βœ… βœ… βœ…
Terminal resume (/continue) βœ… βœ… βœ… βœ…Β²
Cost tracking βœ… ~ΒΉ βœ… ~ΒΉ
Reasoning / effort levels βœ… βœ… β€” β€”
Pre-run approval policy (/config) βœ… βœ… β€” β€”
Interactive approvals, plan mode, ask mode, diff preview βœ… β€” β€”Β³ β€”
Live sessions, background tasks, /steer βœ… β€” β€” β€”
Context % in status line, subscription usage βœ… β€” β€” β€”
Context compaction shown βœ… β€” β€” βœ…
Device re-auth (/auth codex) β€” βœ… β€” β€”

ΒΉ Token counts only, no USD cost. Β² Pi needs provider = "openai-codex" for OAuth subscriptions in headless mode. Β³ opencode run rejects tools your OpenCode rules set to ask β€” set them to allow for unattended use.

Deprecated engines

Gemini CLI and Amp still ship and load, but are deprecated and no longer supported β€” no testing, no bug fixes, and they may be removed in a future release. Google retired Gemini CLI for individual accounts on 18 June 2026; its successor, Antigravity CLI, arrives as its own engine in v0.36.1. Amp remotely refuses clients it considers out of date, so a working setup can stop without notice. Details: troubleshooting.


πŸ”’ Privacy and security

Untether runs entirely on your machine: no telemetry, no analytics, no phone-home, no auto-updates. Its own outbound calls are the Telegram Bot API, Anthropic's subscription-usage endpoint for Claude (using Claude Code's existing login) and, only if you enable it, a voice-transcription endpoint; agent CLIs call their own vendors' APIs. Config lives in ~/.untether/untether.toml β€” it holds your bot token, so never commit it. Lock the bot to your Telegram user ID and read security hardening and where your data goes.


πŸ“– Documentation

Full docs live in the help centre (mirrored from docs/).


🀝 Contributing

Found a bug? Open an issue. Questions and ideas go to GitHub Discussions (Q&A, Ideas); follow Announcements for a plain-English summary of every release.

Want to contribute code? See CONTRIBUTING.md. To report a vulnerability privately, see SECURITY.md.


πŸ™ Acknowledgements

Untether is a fork of takopi by @banteg, which provided the original Telegram-to-Codex bridge. Untether extends it with interactive permission control, multi-engine support, plan mode, cost tracking and much more.

πŸ“„ Licence

MIT β€” made by Little Bear Apps 🐢

About

Run your coding agents from Telegram. A bridge for Claude Code, Codex, OpenCode and Pi: send tasks by text or voice, watch them work and approve changes from your phone.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

72 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages