codexweb
v0.0.3
Published
Local CDP browser bridge for the Codex desktop app.
Readme
Codex Web

Browser access for the Codex desktop app running on your Mac.
npx codexweb@latestLocal by default. Tailscale when you want trusted remote access. Every browser requires Mac approval.
Codex Web is a local browser bridge for the Codex desktop app. Open Codex from another browser on your Mac, or from a trusted device over Tailscale, while the Codex desktop app keeps running locally.
Why Codex Web?
- Use Codex from a browser without moving your desktop workflow.
- Open Codex from your iPhone, iPad, or another trusted Tailnet device.
- Keep the Codex desktop app running locally on your Mac.
- Approve every browser before it can connect.
- Keep the raw Codex CDP port loopback-only.
Quick Start
Run Codex Web:
npx codexweb@latestChoose how you want to connect:
- Local: browser on the same Mac.
- Tailscale: trusted devices in your Tailnet.
Open the pairing link or scan the QR code.
Approve the browser from your Mac.
Use Codex from the browser.
After setup, start Codex Web again with:
codexwebor:
codexweb startRequirements
- macOS.
- Codex desktop app installed.
- Node.js 22.14 or newer.
- Node.js 24 recommended for development.
- Tailscale installed and signed in for Tailnet access.
Access Modes
Local
Local mode serves Codex Web on 127.0.0.1.
Use this when you only want browser access from the same Mac.
Tailscale
Tailscale mode serves Codex Web on your selected Tailscale IP.
Use this when you want to open Codex Web from another trusted device, like your phone, tablet, or another laptop.
Tailscale controls network reachability. Codex Web still requires Mac-approved browser pairing before access is granted.
Pairing
Every browser must be paired before it can load Codex Web.
Pairing uses a short-lived terminal flow:
- Run Codex Web.
- Open the pairing link or scan the QR code.
- Approve the browser from your Mac.
- The browser becomes a trusted paired device.
You can review or revoke paired browsers at any time.
Commands
codexweb / codexweb start Start Codex Web.
codexweb setup Rerun setup.
codexweb status Show current daemon, bridge, Codex, HTTPS, and Tailscale status.
codexweb pair Open a pairing window for another browser.
codexweb devices List paired browsers.
codexweb unpair <id> Revoke one paired browser.
codexweb unpair --all Revoke every paired browser.
codexweb doctor Run diagnostics.
codexweb stop Stop the Codex Web daemon.Security Model
Codex Web is designed to keep control on your Mac:
- The Codex desktop app continues to run locally.
- Raw CDP is not exposed to your network.
- Every browser requires Mac approval before access.
- Tailscale provides reachability, not authorization.
- Pairing links, QR codes, browser storage, logs, screenshots, terminal recordings, and local config should be treated as sensitive.
For the current security posture and known follow-ups, see the security checklist.
How It Works
Codex Web starts a local Mac daemon, serves the Codex desktop renderer through a browser bridge, and proxies supported renderer calls to the Codex app through a loopback-only CDP connection.
It does not patch or permanently mutate the Codex app bundle.
Contributing
The active package lives in
apps/codexweb.
Contributor setup, validation, security expectations, and pull request guidance are documented in the contributing guide.
This repository intentionally has no root package.json, no pnpm workspace file, and no root
validation command.
Release
Publishing is handled by the Release npm Package GitHub Actions workflow when a GitHub release is
published. The workflow extracts the npm package version from the release tag, with or without a
leading v, for example v0.0.2 publishes version 0.0.2.
The npm package uses Trusted Publishing from GitHub Actions, so the release workflow does not need a
long-lived npm publish token once npm is configured to trust .github/workflows/release-npm.yml.
If an existing release needs to be republished with the current workflow, run Release npm Package
manually from GitHub Actions and provide the release tag.
License
Codex Web is released under the MIT License.
