Voice for Codex
wispa adds a voice loop to the Codex CLI: when Codex finishes a turn and waits for you, you answer out loud and your words go back as its next message.
3 min read
wispa lets you talk to the Codex CLI instead of typing every reply. Alongside normal dictation, it adds a voice loop: when Codex finishes a turn and waits for your input in the terminal, you answer by voice.
How the voice loop works with Codex
Codex fires a hook when a turn ends. wispa installs that hook, so when Codex stops and waits, it passes its last message to wispa. A prompt appears, you speak, and wispa returns your answer to Codex as your next message, keeping the session moving without switching back to the keyboard.
Set it up
- In wispa's Integrations, choose Codex and install. wispa writes the hook into
$HOME/.codex/hooks.jsonand backs up any existing file. - The first time Codex runs the hook, it asks you to approve it once. Confirm, and the loop is live from then on.
- Use Codex in your terminal as usual. When it waits for you, hold your wispa hotkey and speak.
- wispa transcribes your answer and Codex continues with it.
Where it runs
The voice loop drives Codex in the terminal, which is where the CLI runs. For anything outside that back-and-forth, such as a chat box in your editor, normal push-to-talk dictation still lets you speak your text.
What wispa does in the background
wispa listens only on 127.0.0.1 behind a private token, so nothing on the web can reach it. Codex's hook sends just its last message and working folder. wispa records your spoken reply and transcribes it with your voice-loop model, with no AI cleanup applied to it, then hands it to Codex framed as user input so the reply is treated as your instruction.
FAQ
Questions and answers
Why does Codex ask me to approve the hook?
Codex confirms new hooks once before running them, as a safety check. Approve the wispa hook on its first run and it works silently after that.
Do I still need to type in Codex?
No. When Codex waits for you, you answer by voice and wispa sends it back as your next message. Typing stays available whenever you want it.
Where is the Codex hook stored?
In $HOME/.codex/hooks.json. wispa backs up the previous file and leaves your other Codex settings alone, and you can uninstall the hook from wispa's Integrations.