OpenAI's Codex Voice: Real-Time Voice That Runs Your Computer
this is the interface shift I care about — voice driving an agent that *orchestrates parallel background work* and calls my own skills. Directly informs how I'd want Hermes/agent workflows to feel.
Watch the original by Riley Brown on YouTubeTL;DR
OpenAI put real-time voice directly inside Codex — not dictation, but a live voice agent that can see your screen, use the skills you've already built, control an in-app browser, and spin up parallel background tasks while you keep talking. In one 16-minute first test, Riley Brown had it triage a support inbox and draft 11 replies, summarize the issues into a public Google Doc and text it to someone, read/edit an Excalidraw board, run background Notion research, and build three iOS apps at once by voice — then did it all again remotely from the ChatGPT phone app controlling his Mac. The interesting part for builders isn't the "Jarvis" wow — it's the orchestration model (one live conversation coordinating many background agents) and the hard safeguard boundary baked in.
Key takeaways
- Voice ≠ dictation. It's a live agent ("start new voice chat") that acts while you talk — you can even mute and keep working as it runs.
- It uses YOUR skills. Riley's point: "I've set up so many skills… now I can use them in real-time voice." Six months of skill-building suddenly has a voice front-end.
- Parallel background tasks are the real unlock. Mid-conversation it spins up separate chats (email summary, Notion research, 3 iOS builds) and coordinates them while the live chat stays open.
- Remote from your phone. ChatGPT iOS app → paired remote access to your Mac; create and check tasks from anywhere (Android coming).
- Safeguards can't be skilled around. Live voice won't send messages, spend money, change permissions, swap its model, or touch private data unless you explicitly ask — and "a skill can't give itself permission" to bypass that.
- Still early. ~30–45 min of first-time testing; a real best-practices workflow video is promised later. Treat this as "what's now possible," not a proven daily driver.
What it actually did (one 16-min session)
- Support triage → drafts. "Find complaints, draft responses, open them in the Codex browser." → opened 12 threads, saved 11 drafts.
- Summarize → share → notify. Turned the issues into a public Google Doc (names stripped) and texted the link to a contact, then appended a follow-up line — all by voice.

- See & edit a canvas. Read his Excalidraw board, then suggested three more capabilities and added nodes to it.

- Background research. Kicked off Notion research in a separate task (his tab/hyperlink formatting) while the live chat continued.
- Build 3 iOS apps at once. An Apple-Notes clone in the in-app simulator, plus a Notion clone and a Trello clone — branched into parallel build tasks — then styled by voice ("light mode," "higher-quality liquid-glass tab bar").
- Visual inspiration on tap. Pulled "cool note UIs" into browser tabs from Google Images while it worked.

The orchestration model (the part worth stealing)
The mental model isn't "a voice assistant" — it's one live coordinator conversation fanning out to many background agents:
flowchart TD
V["🎙️ You (voice)<br/>Mac mic OR ChatGPT phone app"] --> O["Codex real-time voice<br/>(live coordinator — stays open)"]
O --> S["Your skills<br/>(Gmail, build-iOS-app, …)"]
O --> B["In-app browser<br/>(read/act on screen)"]
O -.->|"spins up in parallel"| T1["Task: summarize support inbox"]
O -.-> T2["Task: Notion research"]
O -.-> T3["Task: build 3 iOS apps"]
T1 & T2 & T3 -->|"report back"| O
This is the "software factory" pattern with a voice conductor: you stay in one conversation and dispatch/verify parallel work — exactly the shape worth designing agent systems around.
The safeguard boundary (and why it matters)
Notably, the live voice mode is intentionally constrained, and crucially skills cannot override it:
flowchart LR
subgraph CAN["✅ Does freely"]
A["Read your screen / browser"]
B["Draft texts, emails, Slack, posts"]
C["Build docs / code in background"]
D["Spin up background tasks"]
end
subgraph NEEDS["🔒 Only if you explicitly ask"]
E["Send messages"]
F["Spend money"]
G["Change permissions"]
H["Access private data"]
I["Swap its own model"]
end
"A skill can't give itself permission to send things or make consequential changes on its own." For anyone wiring up autonomous agents (me included), that separation — draft/build freely, but gate every consequential/outbound action behind an explicit human ask — is the right default. It lines up exactly with keeping sends, spends, and secrets human-gated.
This was a raw first-look, not a workflow guide — Riley plans a deeper "how I actually use this in my business" video next.
Mitchell Miller