Why Codex still needed a mobile surface
OpenAI has done a lot of the hard platform work already. Codex now exists across the CLI, IDE extensions, cloud task delegation, and a dedicated desktop app. That is a strong lineup, and I actually like the direction. But all of those surfaces are still optimized for being at your desk.
The gap I cared about was narrower: what happens when a local Codex thread is already running well, you know the architecture, and you just want to supervise it from your phone? "Continue with the next story." "Abort and switch to review mode." "Use the safer profile for this repo." "Look at this screenshot." That is not a laptop-shaped problem. It is a mobile-control problem.
That is why TeleCodex exists. It is not another coding agent. It is a Telegram bridge for the existing Codex runtime and thread model.
What I optimized for after doing the comparison pass
After looking at the current Codex surfaces and my own workflow, I optimized TeleCodex for four things the official stack does not center:
- Phone-first control. Inline keyboards, slash commands, reactions, and short messages work better on a phone than trying to tunnel a desktop workflow into a tiny screen.
- No thread loss. The Telegram handback needs to return you to the exact Codex thread, not a summary or a new conversation.
- Profile switching. Sandbox and approval settings need to be switchable without typing raw flags from a phone keyboard.
- Multi-modal input. Voice notes, screenshots, and documents should all be valid inputs because that is what phones are actually good at.
What TeleCodex actually adds
TeleCodex wraps the @openai/codex-sdk and keeps a Codex thread alive from Telegram. Each private chat or forum topic maps to its own independent session, so different projects can stay cleanly separated even inside the same Telegram group.
The basic commands are what you would expect: /new, /sessions, /session, /abort, /retry, and /handback. But the real advantage is everything around that core loop.
- Launch profiles.
/launchswitches between named sandbox and approval combinations for future threads in the current context. This is the profile-switching piece I wanted most on mobile. - Model and effort controls.
/modeland/effortlet me tune the next thread without digging through local config files. - Live plan display. Codex's todo list is rendered as a separate Telegram message and updated as steps complete, so you can see whether the agent is still exploring or actually executing.
- Tool visibility. Shell commands, file changes, web lookups, MCP calls, and failures can be surfaced with configurable verbosity instead of being hidden behind a spinner.
- File and image exchange. Send a screenshot, photo, or document from your phone; TeleCodex stages it for Codex and sends generated artifacts back as Telegram files.
ASR matters more than people think
Voice transcription is one of the biggest reasons this works in real life. On a phone, the friction is not reading. It is typing precise instructions into a chat box while walking, commuting, or between other things.
TeleCodex accepts voice messages and audio files, transcribes them locally with Parakeet CoreML when available, and falls back to OpenAI Whisper when it is not. That means "stop, revert that approach and use the existing adapter" can be spoken instead of thumb-typed.
This is one of the places where Telegram is a better substrate than a custom coding UI. Voice notes, photos, files, and notifications are already native behaviors. I did not need to build or install a separate mobile app to get them.
Profile switching is a real differentiator
The feature I would miss most now is launch-profile switching. Codex already has strong sandbox and approval controls. The problem is that raw flags are a poor mobile interface. Typing out the exact mode you want on a phone is annoying, and it is easy to make mistakes.
TeleCodex turns that into a deliberate UI. A launch profile can represent "read only review", "workspace write with prompts", or a more autonomous mode for trusted repos. On mobile, that is much better than remembering command flags. It also makes the operating boundary visible: before you start a thread, you know what level of access you are granting.
Handback keeps the terminal in the loop
The best part is that TeleCodex does not trap you in Telegram. When the work needs a real terminal again, /handback gives you the exact codex resume <id> command, rooted in the right project directory. On macOS it is copied to the clipboard automatically.
That makes the phone useful because it is not pretending to be enough for every task. I still do architecture, deep debugging, and careful review from the terminal. TeleCodex is for dispatch, supervision, quick corrections, and mobile continuation.
If you want the broader two-bridge story, read AI, the UI Anywhere. If you want the Pi side of the pattern, read the TelePi deep dive. If you are deciding which bridge fits your workflow better, read TelePi vs TeleCodex.
Open source, with the right boundaries
TeleCodex is open source and Docker-friendly. It uses Telegram user allowlists, workspace-scoped execution, named launch profiles, and existing Codex authentication rather than inventing a parallel auth stack. The point is not to hide what the agent can do. The point is to make the boundaries explicit enough that mobile control remains practical.