Termdeck for Codex

Codex web UI: a GUI for Codex CLI in any browser.

Yes, there is a web UI for Codex CLI. Termdeck runs Codex on your own machine, under your own login, and puts the transcript, approval prompts and diffs in any browser or on your phone, with no port to open and no tunnel to set up. Below, OpenAI's own Codex surfaces and three open source Codex web UIs are compared honestly, including when one of them is the better pick. Your Claude Code and Grok sessions sit in the same sidebar.

Short answer

Is there a web UI for Codex CLI?

Not from OpenAI, but you can add one. OpenAI's browser surface for Codex is Codex Cloud, inside ChatGPT on the web: tasks run in a container in OpenAI's cloud against GitHub repositories you connect, not on your computer. For Codex on your own computer, OpenAI's remote option is pairing the ChatGPT mobile app with the ChatGPT desktop app running on a Mac or Windows PC. There is no official page you open in a browser to drive the Codex CLI on your laptop or server.

Community projects and Termdeck fill that gap, and the difference that matters is how your browser reaches the machine. Open source Codex web UIs start a web server on your machine, so you reach them on localhost, on your LAN, or through a tunnel, VPN or reverse proxy that you set up and secure. Termdeck works the other way round: a small agent on your machine dials out to termdeck.io over HTTPS, so nothing listens for inbound connections and the browser reaches Codex from anywhere.

Remote control of Codex from a phone has its own write-up in Codex CLI remote control from your phone or browser. This page is about the web UI itself.

Does Codex have a UI?

Codex web UI options compared

OptionWhere Codex runsHow you reach itCost and source
ChatGPT desktop app (Codex)Your computer: macOS, Windows, Linux in previewA desktop window on that computerIncluded in ChatGPT plans
Codex on mobileA Mac or Windows PC running the desktop app, or Codex CloudChatGPT mobile app on iOS or Android, paired by QR codeIncluded in ChatGPT plans; rollout and workspace settings apply
Codex CloudOpenAI's cloud, one workspace per taskChatGPT on the web, desktop or mobileIncluded in ChatGPT plans; not with an API key
Codex IDE extensionYour computerVS Code, Cursor, Windsurf; JetBrains and Xcode have their own integrationsIncluded in ChatGPT plans or an API key
friuns2/codexui (codexapp)Your machine: Linux, Windows, Android in Termuxlocalhost, plus a Cloudflare tunnel URL with a password by defaultFree, MIT
friuns2/codex-web-uiYour computer, by patching the Codex desktop appA port you choose, on your LAN or a VPNFree; the README says it moved to codexui
lezi-fun/codex-webuiYour machine, over codex app-serverlocalhost:8899; LAN access is opt-in, behind a passwordFree, MIT
seo-rii/codex-webuiYour machine or server, behind a Rust gatewayA password-gated site you host, reverse proxy friendlyFree, MIT
TermdeckYour machines: Linux, macOS, Windows, headless servers and VMstermdeck.io in any browser, or installed on your phone; the agent dials outPaid plan after a 14-day free trial

OpenAI rows come from learn.chatgpt.com; open source rows from each project's README, read on 23 October 2026. Projects change fast, so check the repository before you install.

OpenAI's own surfaces

Codex now lives inside the ChatGPT desktop app, next to ChatGPT itself, with the IDE extension and Codex Cloud beside it. They are included in every ChatGPT plan, including Free and Go. Phone access pairs with a desktop app host on macOS or Windows. The desktop app can also open projects on an SSH host, but the phone still connects through that desktop app, which has to stay awake.

Open source Codex web UIs

lezi-fun/codex-webui and seo-rii/codex-webui both drive the real codex app-server and keep threads, approvals and diffs. lezi-fun is aimed at localhost and your LAN, seo-rii at a server you host with your own domain. friuns2/codexui is the quickest to try with one npx command; note that it opens a public tunnel by default unless you pass --no-tunnel.

Termdeck

A hosted web UI for Codex CLI on every machine you connect. Nothing to expose: the agent keeps one outbound WebSocket to termdeck.io. Approvals, diffs, usage and push notifications work the same for Claude Code, Codex and Grok. Transcripts stay on your machine, in Codex's own session files.

Straight answer

Which Codex web UI should you use?

Use Codex Cloud if your code is on GitHub and you are fine with it running on OpenAI's machines. Tasks keep going while your laptop sleeps, and you review the diff and open a pull request from ChatGPT on the web or your phone. Nothing to install.

Use the ChatGPT desktop app with Codex on mobile if your Codex machine is a Mac or Windows PC that you keep awake, and Codex is the only agent you run. OpenAI maintains it, it is in the plan you already pay for, and pairing takes a QR code.

Use an open source web UI if you want it free and self-hosted and you are comfortable owning the network side: who can reach the port, the password, and the tunnel or VPN when you are away from home. lezi-fun/codex-webui suits one machine on a trusted LAN; seo-rii/codex-webui suits a server you already run behind a reverse proxy.

Use Termdeck if Codex runs on a headless Linux box or VM, you want to drive it from any browser rather than one app, you have more than one machine, or you also run Claude Code or Grok and want one sidebar for all of them. Termdeck is not the pick if you need it free or fully self-hosted: the web app is hosted at termdeck.io and needs a paid plan once the trial ends.

Compare

Codex CLI alone vs. Codex + Termdeck

FeatureCodex CLI (terminal)Codex + Termdeck
Where it runsYour machineYour machine, unchanged
Read a sessionTerminal scrollbackStreamed to any browser or phone
Compressed rolloutsRaw .jsonl.zst on diskDecoded and rendered for you
ApprovalsAt the terminal that started the runAllow or Deny cards in the browser, push to your phone
Diff reviewPlain textEvery edit as a readable diff
CLI round-tripn/aStays codex resume-able
Route work by taskOne engine per terminalPick Codex, Claude Code or Grok per chat
Multiple accountsOne login at a timeSwitch saved logins, live limits per account
Runs beside Claude and GrokSeparate toolOne sidebar with Claude Code and Grok

Termdeck-started Codex sessions stay natively resumable in the terminal: real working directory, native storage, no lock-in. Where they live on disk is on where Codex CLI stores sessions.

Setup

How to use Codex in a web browser

About ten minutes, most of it the Codex sign-in. The machine needs Node.js 18 or newer (node --version) and outbound HTTPS. It can be a laptop, a desktop, or a server you normally reach over SSH.

  1. Install Codex CLI and sign in on the machine. Skip this if codex already works there. The login opens a browser page and saves credentials in Codex's own config directory, not in Termdeck.
    bash
    npm install -g @openai/codex
    codex login
  2. Create a Termdeck account. Sign up at termdeck.io/signup and start the 14-day free trial. The card is not charged until day 15, and cancelling before then costs nothing.
  3. Add the machine. The Connect a machine window opens after checkout (later: Settings, then Machines & accounts, then Add machine). Name it, then copy the install command it prints, which already contains a one-time token, and run it on the machine.
    macOS and Linux
    curl -fsSL https://termdeck.io/install.sh | TERMDECK_AGENT_TOKEN=agt_your_token sh
    Windows PowerShell
    $env:TERMDECK_AGENT_TOKEN="agt_your_token"; iwr https://termdeck.io/install.ps1 | iex
  4. Start a Codex chat. Choose New chat, pick the project folder, choose Codex as the engine and send a prompt. The transcript streams as Codex works, and any command that needs approval appears as a card with Allow and Deny.
  5. Put it on your phone. Open termdeck.io/dashboard on the phone and install it (on iPhone: Share, then Add to Home Screen, which iOS requires for notifications). Turn on push in Settings, then Notifications, so a waiting approval finds you.

The installer offers to print the whole agent source before it runs, and it registers a background service so the machine reconnects after a reboot. Install the agent covers every platform, and Quickstart walks through each window in order.

FAQ

Codex web UI, answered

Is there a web interface for Codex?

Yes, in two senses. Codex Cloud runs in ChatGPT on the web, on OpenAI's servers, against GitHub repositories you connect. Codex CLI on your own machine has no official browser UI, so you add one: an open source web UI you host yourself, or Termdeck, which streams the transcript, approvals and diffs to any browser without opening a port.

Does Codex have a UI?

Yes, several. OpenAI ships Codex inside the ChatGPT desktop app for macOS and Windows, with a Linux version in preview, an IDE extension for VS Code, Cursor and Windsurf, and Codex Cloud in ChatGPT on the web and mobile. Codex CLI itself is a terminal UI. Termdeck adds a browser GUI for Codex CLI on the machines you own.

How to use Codex on web browser?

For cloud tasks, open ChatGPT on the web, choose Work in, then Cloud, pick an environment and start a task. For Codex CLI on your own computer, connect the machine to a web UI. With Termdeck you install the agent with one command, then start a Codex chat from termdeck.io in any browser.

Can Codex see my screen?

Codex CLI cannot. It reads files and runs commands in your project, and sees an image only when you attach one, for example with codex --image. Computer Use in the ChatGPT desktop app can see and operate apps on macOS and Windows in supported regions, after you install its plugin and, on macOS, grant Screen Recording permission. In Termdeck, Codex sees the images you attach to a chat, never your screen.

Is there an open source Codex web UI?

Yes. lezi-fun/codex-webui and seo-rii/codex-webui are MIT licensed web UIs on top of codex app-server that you host yourself, and friuns2/codexui starts one with a single npx command. friuns2/codex-web-ui, which patched the Codex desktop app, says in its README that it has moved to codexui.

Do I need to open a port or set up a VPN?

Not with Termdeck. The agent on your machine dials out over HTTPS and keeps one WebSocket open, so nothing listens for inbound connections. A self-hosted web UI listens on a port, so reaching it away from home needs a tunnel, a VPN or a reverse proxy that you secure.

Will using Termdeck break terminal resume?

No. Sessions Termdeck starts keep their real working directory and native storage, so codex resume with the session id still works from the terminal. Codex resumes the thread before every turn, so a turn you ran in the terminal shows up in the next web turn.

Can I run Codex and Claude Code together?

Yes. Choose the engine per chat and manage Claude Code, Codex and Grok from one sidebar, transcript view and fleet board. They are separate programs with separate logins and session files, so both can run on the same machine at the same time.