Skip to content

Expose app-server over network transport for remote/mobile session attach #11166

Closed

Description

@colonelpanic8

What feature would you like to see?

The Codex app-server already has an excellent bidirectional JSON-RPC 2.0 protocol with full session lifecycle, approval workflows, and event streaming. The TUI is reportedly being refactored to connect to remote app-server instances. The ask is to ship this: let the app-server listen on a Unix socket or TCP port so that remote clients can attach to running Codex sessions.

Something like:

# Listen on a Unix socket (ideal for SSH — no port forwarding needed)
codex serve --socket /tmp/codex.sock

# Or listen on a TCP port
codex serve --port 3284

# Attach from anywhere
codex attach /tmp/codex.sock
codex attach host:3284

Ideally speaking ACP, since Codex already supports it (via codex-acp) and ACP has broad adoption (Zed, JetBrains, GitHub Copilot CLI, Gemini CLI, Claude Code). Exposing ACP over a network socket would make Codex accessible to any ACP-compatible client — including Toad (2.1K stars) and potential mobile ACP clients — without needing tool-specific adapters.

Why this matters

The community has built 20+ third-party projects to work around the lack of a remote interface for agentic coding tools — mobile apps (Happy Coder, 10.8K stars; Omnara, YC S25; Zane, which already builds on Codex's app-server), Discord/Telegram bridges, web UIs, etc. Every one of them reinvents encrypted relays, session polling, and approval-prompt parsing. They break when the CLI updates because they're scraping terminal output rather than speaking a stable protocol.

Codex is architecturally closer to solving this than any other tool — the app-server already cleanly separates UI from agent logic. The missing piece is just letting it listen on a socket.

Prior art

  • OpenCode already ships this: opencode serve / opencode attach http://host:port
  • Codex app-server already has the JSON-RPC protocol — it just needs a network listener
  • Zane (z-siddiqi/zane) demonstrated the viability by building a web client on top of the app-server's JSON-RPC interface via a Cloudflare Worker relay

Related issues

Activity

  1. ForkyTheBot commented on Feb 15, 2026

    @ForkyTheBot
  2. etraut-openai commented on Feb 15, 2026

    @etraut-openai
    Contributor

    See #10693. This is still experimental, so it could change.

  3. vruru commented on Mar 13, 2026

    @vruru

    I want to add a concrete community example here: we built a Telegram bridge for Codex that turns Telegram private chats and forum topics into a real-time conversational front end for local Codex threads.

    Project: https://github.com/vruru/telegram_codex_bridge

    What it already supports:

    • one Telegram private chat or forum topic mapped to one Codex thread
    • real-time back-and-forth from Telegram instead of the local TUI only
    • thread steering / follow-up messages while Codex is already running
    • model / reasoning / speed / permission switching from Telegram commands
    • file and image input, plus voice-note-to-text forwarding for Codex conversations
    • macOS menu bar app + launchd, and Linux systemd user service support
    • release builds for macOS and Linux

    Why this matters:

    • it solves a real gap today: Codex cannot natively live inside a mainstream messaging tool like Telegram, so users who want remote/mobile/chat-based workflows have to build their own bridge layer
    • once you have that bridge, Codex becomes much more usable away from the workstation: checking a long-running task, continuing a thread from a phone, sending a quick follow-up, reviewing output from a group/topic workflow, etc.
    • this is especially useful for people who already coordinate work in chat tools and want Codex to fit into that loop instead of forcing everything through a local terminal or desktop UI

    The biggest architectural pain point is exactly what this issue describes: because app-server is not exposed as a first-class network/remote transport, third-party integrations have to wrap local Codex in their own control plane, persistence, service management, and message routing. That works, but it is more brittle than it should be.

    So from experience building and shipping this bridge, I strongly support exposing app-server over a proper network transport (or another official remote interface). It would make Telegram / Discord / web / mobile front ends dramatically simpler and more robust, and it would let the ecosystem build on Codex without scraping UI behavior.

  4. Asuka-wx commented on Apr 2, 2026

    @Asuka-wx

    I built a Telegram bridge to control Codex from my phone

    Turn local Codex sessions on macOS into a Telegram control surface you can actually use from your phone.

    https://github.com/Asuka-wx/codex-telegram-bridge

    One-line positioning:

    Keep your existing ssh + tmux + Codex workflow, and use Telegram only as the remote layer for status, approvals, and follow-up input.

    Why It Matters
    No workflow rewrite: keep using local tmux + Codex instead of switching to a browser dashboard or remote desktop
    Actually remote-usable: not just logs, but approvals, interrupts, and follow-up input
    Clear multi-task control: one control topic plus task-specific topics for parallel work
    Phone-friendly by design: useful when you are away from your machine but still need to keep work moving
    Lower setup friction: one-command installer plus launchd service support

  5. etraut-openai commented on Apr 2, 2026

    @etraut-openai
    Contributor

    This feature is now implemented.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    CLIIssues related to the Codex CLIenhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions