typeduck-codex-web
typeduck-codex-web is a standalone Codex runtime with a browser interface. It
includes the app server, so it does not require another codex executable.
Install
cargo install typeduck-codex-web
Start the user daemon and open its project dashboard:
typeduck-codex-web
The dashboard discovers recent projects and sessions from your Codex history. Use the directory picker to start work anywhere the daemon account can access, or open a specific directory directly:
typeduck-codex-web -C /path/to/project
On startup the command prints a private bootstrap URL. Opening it establishes an
HTTP-only browser session scoped to an unguessable server path; the persistent
secret remains in CODEX_HOME. Use --reset-token to revoke existing browser
sessions.
Run typeduck-codex-web --help for port, browser, working-directory, and
configuration options.
Accounts and proxies
Create $CODEX_HOME/typeduck-codex-web/daemon.toml to configure accounts in
fallback order. Each account uses its own Codex home, so credentials stay
isolated. At startup the daemon selects the first signed-in account whose
reported rate limit is still available.
[[]]
= "primary"
= "Work"
= "/home/me/.codex-work"
= "http://127.0.0.1:8080"
[[]]
= "backup"
= "Personal"
= "/home/me/.codex-personal"
= true
[]
= "me@bastion.example.com"
= "/home/me/.ssh/id_ed25519"
= 22
# local_port = 1080 # omit to choose an available loopback port
Proxy URLs may use http, https, socks5, or socks5h. The daemon applies
the selected account's proxy to Codex-owned OpenAI HTTP and WebSocket clients.
For use_ssh_tunnel, it owns an OpenSSH ssh -N -D child process and stops it
with the daemon. The SSH feature therefore requires ssh on PATH; the Codex
runtime itself remains embedded in the installed binary.
Use --daemon-config /path/to/daemon.toml to load another file.