Inspiration

Codex can do real work, but web apps can't safely build on the Codex already running on your computer. Devs end up rebuilding auth, billing, and agent infra. Users end up pasting API keys and uploading private context.

We wanted Codex to work more like a platform. A site should be able to own the product UX, then hand the hard work to your Codex.

What it does

Codemask turns any site into a Codex app. It adds a typed window.codex provider for choosing a workspace, analyzing selected history, starting tasks, controlling them, and getting safe progress updates.

It works like a wallet for agent access. Sites ask for specific perms. You see the origin, workspace, and exact prompt before anything runs. The bridge talks to your signed-in Codex locally, so there's no extra API key and no Codemask server reading your data.

Reflex is our demo app. It finds patterns and friction across your Codex history, then returns useful insights, not raw transcripts.

How we built it

It's a Manifest V3 extension + local native bridge + TS SDK. We also built create-window-codex, docs, and Reflex in React. The web apps run on Cloudflare Pages.

The public API is intentionally tiny. Access is scoped by origin, grants can be one-time, events are filtered, and unknown methods are blocked.

Built w/ TS, React, Vite, Node.js, TanStack, Base UI, Chrome native messaging, and Cloudflare.

Challenges

Getting a message from a page to Codex was easy. Deciding what should never cross that boundary wasn't. We had to handle Chrome's execution contexts, native host lifecycles, origin isolation, safe errors, and confirmations that still make sense for long agent tasks.

Setup was tricky too. Extensions can't silently install native hosts, so we made a guided macOS flow + npx installer.

Proud of

The full loop works. A site can connect, ask for minimum access, show the exact task, run it in your real Codex session, and stream back safe status updates.

The privacy model is real, not just UI copy. No creds, internal methods, filesystem paths, or raw history reach the page.

What we learned

Agent UX is consent UX. “Allow” isn't enough. People need to know who's asking, what'll happen, where it'll happen, and how long access lasts.

We also learned the wallet pattern fits agents really well. A small, stable API lets app devs focus on the product while Codex handles the open-ended work.

What's next

Make setup nearly invisible, ship the extension, support more OSes and browsers, and help devs build the first real Codex apps.

The goal: make “Connect w/ Codex” a normal button on the web.

Built With

Share this project:

Updates