Untether
Code from anywhere
Telegram bridge for AI coding agents.
Send tasks by voice or text, watch your agent work in real time, and approve changes — all from your phone. Works with Claude Code, Codex, OpenCode, and Pi.
What it does
Control AI coding agents from anywhere with a phone signal
Remote task dispatch
Send tasks from Telegram by text or voice note — the agent starts working immediately.
Live progress streaming
Watch your agent's output in real time — every tool call, every file change, streamed to your phone.
Inline permission approval
Approve or deny file writes, shell commands, and other tool calls with a single tap.
Project and branch management
Register repos, switch projects, and target specific branches — all from the Telegram chat.
What Untether includes
Progress streaming
Watch your agent work in real time — tool calls, file changes, model/mode metadata, and elapsed time streamed to Telegram.
Interactive permissions
Approve or deny tool calls with inline Telegram buttons. Progressive cooldown after 'Pause & Outline Plan'.
Session modes
Assistant (ongoing chat), workspace (forum topics per project), or handoff mode. Toggle plan mode per chat with auto/manual approval.
Projects and worktrees
Register repos with untether init, target branches, and run multiple agents in isolated worktrees in parallel.
Cost and usage tracking
Per-run and daily budgets, subscription usage in the footer, /usage for detailed breakdowns, optional auto-cancel.
Voice notes
Dictate tasks instead of typing — transcribes via a configurable Whisper-compatible endpoint.
File management
Upload files to your repo, download results back to Telegram, and browse project files with inline buttons.
Scheduled tasks
Queue work for later with cron expressions and webhook triggers.
Forum topics
Map Telegram forum topics to projects and branches — one thread per task.
Plugin system
Extend Untether with custom engines, transports, and commands.
How it works
Messages go from Telegram to your agent and back. I'm not in the middle.
What exactly does it access?
What it accesses
- Your Telegram messages sent to the bot
- AI agent stdout/stderr for progress streaming
Where it stores
- Config: ~/.untether/untether.toml
- Session state: in-memory (no database)
Delete ~/.untether/ to remove all config
Network calls
- Telegram Bot API (api.telegram.org)
- No Little Bear Apps servers involved
Stop the service to disable
Set up with any AI agent
Copy this prompt — your AI agent handles the rest
Works with:
Manual configuration per agent
Ready to go? Try these commands
Send these to your bot on Telegram
"/claude fix the broken test in src/utils/parser.ts"
Dispatches a task to Claude Code
"/new"
Starts a fresh session with clean context
"/cancel"
Stops the currently running agent
"I was walking Normi and had an idea for a fix. By the time I got home and opened my laptop, I'd forgotten half of it."
Questions about Untether
What is Untether?
Does Untether send my code to Little Bear Apps?
Do I need a Telegram account?
Can I use voice notes?
Does it work with other AI coding agents?
Can I control multiple projects at once?
Is there a cost for using Untether?
How do I restrict access to my bot?
What changes
- • Instead of opening your laptop to start a coding task, send a voice note or text message from Telegram.
- • Instead of watching a terminal for progress, get live updates streamed to your phone with approval buttons.
- • Instead of managing one agent at a time, route tasks to multiple projects from a single Telegram chat.
- • Instead of losing context between sessions, resume right where you left off with persistent session history.
Roadmap
Coming Soon
- Exploring: Web UI dashboard for session management
- Exploring: Multi-user support for team environments
- Exploring: Slack and Discord bridges
- Exploring: Custom approval workflows with auto-approve rules
Changelog
- •feat: agent preamble, post-outline approval, URL updates
- •docs: comprehensive documentation audit and upgrade
- •feat: enrich error reporting in Telegram and structlog