by friuns2
🚀 Run Codex App UI Anywhere: Linux, Windows, or Termux on Android 🚀
# Add to your Claude Code skills
git clone https://github.com/friuns2/codexUILast scanned: 5/16/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-05-16T06:22:37.424Z",
"semgrepRan": false,
"npmAuditRan": true,
"pipAuditRan": true
}codexUI is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by friuns2. 🚀 Run Codex App UI Anywhere: Linux, Windows, or Termux on Android 🚀. It has 497 GitHub stars.
Yes. codexUI passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/friuns2/codexUI" and add it to your Claude Code skills directory (see the Installation section above).
codexUI is primarily written in TypeScript. It is open-source under friuns2 on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh codexUI against similar tools.
No comments yet. Be the first to share your thoughts!
Codex UI in your browser. No drama. One command.
Yes, that is your Codex desktop app experience exposed over web UI. Yes, it runs cross-platform.
██████╗ ██████╗ ██████╗ ███████╗██╗ ██╗██╗ ██╗██╗
██╔════╝██╔═══██╗██╔══██╗██╔════╝╚██╗██╔╝██║ ██║██║
██║ ██║ ██║██║ ██║█████╗ ╚███╔╝ ██║ ██║██║
██║ ██║ ██║██║ ██║██╔══╝ ██╔██╗ ██║ ██║██║
╚██████╗╚██████╔╝██████╔╝███████╗██╔╝ ██╗╚██████╔╝██║
╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚═╝
codexapp is a lightweight bridge that gives you a browser-accessible UI for Codex app-server workflows.
You run one command. It starts a local web server. You open it from your machine, your LAN, or wherever your setup allows.
TL;DR 🧠: Codex app UI, unlocked for Linux, Windows, and Termux-powered Android setups.
The main event.
# 🔓 Run instantly (recommended)
npx codexapp
# 🌐 Then open in browser
# http://localhost:18923
By default, codexapp now also starts:
cloudflared tunnel --url http://localhost:<port>
It prints the tunnel URL, terminal QR code, and password together in startup output.
Use --no-tunnel to disable this behavior.
If you are using a provider or AI gateway that is already authenticated and do not want codexapp to force codex login during startup, use:
npx codexapp --no-login
node -v # should be 18+
npx codexapp
node -v # 18+
npx codexapp
pkg update && pkg upgrade -y
pkg install nodejs -y
npx codexapp
Android background requirements:
codexapp running in the current Termux session (do not close it).Termux.termux-wake-lock
npx codexapp again.If you want to use codexUI from iPhone or iPad Safari, serving it over HTTPS is recommended.
A practical private setup is to run codexUI locally and publish it inside your tailnet with Tailscale Serve:
npx codexapp --no-tunnel --port 5900
tailscale serve --bg 5900
Then open:
https://<your-machine>.<your-tailnet>.ts.net
This setup worked well in practice for:
Notes:
The payload.
npx codexapphttp://localhost:18923Set these environment variables before starting codexapp:
export TELEGRAM_BOT_TOKEN="<your-telegram-bot-token>"
export TELEGRAM_ALLOWED_USER_IDS="<your-telegram-user-id>,<optional-second-id>"
export TELEGRAM_DEFAULT_CWD="$PWD" # optional, defaults to current working directory
npx codexapp
TELEGRAM_ALLOWED_USER_IDS is required for safe access. Only allowlisted Telegram user IDs can use the bridge. If no allowed user IDs are configured, incoming Telegram messages are rejected.
To find your Telegram user ID:
curl "https://api.telegram.org/bot<your-telegram-bot-token>/getUpdates".message.from.id from the returned update payload.Bot commands:
/start show quick help and thread picker/threads list recent threads and pick one/newthread create and map a new Codex thread for this Telegram chat/thread <threadId> map current Telegram chat to an existing thread/current show currently connected thread for this chat/history show recent history for current thread/status show bridge/mapping status/whoami show your Telegram user/chat IDs and authorization state/help show command referenceOutgoing assistant messages are sent with Telegram parse_mode=HTML for formatting, with automatic plain-text fallback if HTML delivery fails.
Not just launch. Actual UX upgrades.
New Project (N))SkillCard select emit compatibilityhold to dictate -> transcribe -> append text)| 🔥 Use Case | 💥 What You Get |
|---|---|
| 💻 Linux workstation | Run Codex UI in browser without depending on desktop shell |
| 🪟 Windows machine | Launch web UI and access from Chrome/Edge quickly |
| 📱 Termux on Android | Start service in Termux and control from mobile browser |
| 🧪 Remote dev box | Keep Codex process on server, view UI from client device |
| 🌐 LAN sharing | Open UI from another device on same network |
| 🧰 Headless workflows | Keep terminal + browser split for productivity |
| 🔌 Custom routing | Put behind reverse proxy/tunnel if needed |
| ⚡ Fast experiments | npx run without full global setup |



┌─────────────────────────────┐
│ Browser (Desktop/Mobile) │
└──────────────┬──────────────┘
│ HTTP/WebSocket
┌──────────────▼──────────────┐
│ codexapp │
│ (Express + Vue UI bridge) │
└──────────────┬──────────────┘
│ RPC/Bridge calls
┌──────────────▼──────────────┐
│ Codex App Server │
└─────────────────────────────┘
18+| ❌ Problem | ✅ Fix |
|---|---|
| Port already in use | Run on a free port or stop old process |
npx fails |
Update npm/node, then retry |
| Termux install fails | pkg update && pkg upgrade then reinstall nodejs |
| Can’t open from other device | Check firewall, bind address, and LAN routing |
Issues and PRs are welcome.
Bring bug reports, platform notes, and setup improvements.
If you believe Codex UI should be accessible from any machine, any OS, any screen, star this project and share it. ⭐
Forked from pavel-voronin/codex-web-local by Pavel Voronin.