Approve Codex prompts from your Apple Watch
Codex stops and asks before it runs a command or changes a file, unless you have told it not to. If you are away from the keyboard, the work waits. Tapproval puts those questions on your Apple Watch, each marked with how risky it is, so one tap on the wrist answers it and Codex carries on.
It works from watch app 3.0. You need an Apple Watch on watchOS 10 or later, and Codex on a Mac or a Linux computer; Windows works too, as a preview. There is no account to create. Your first 100 answers are free, shared by Codex and Claude Code; after that, $5 once unlocks Codex for good, with no subscription. Claude Code has its own $5 unlock, so if you only use Codex, one unlock is all you need.
Using Claude Code as well? One install covers both, and both show in one list on the watch. The Claude Code guide has its own steps.
1. Install the watch app
Get Tapproval on the App Store. Downloaded it on your iPhone and it isn't on the watch? Open the Watch app on the iPhone and tap Install next to Tapproval under Available Apps.
2. Install the helper
The watch needs a small bridge on the computer, called Tapproval Base. It is open source and uses only Python's standard library. In a terminal, one command:
curl -fsSL https://raw.githubusercontent.com/marcobelini/tapproval-helper/main/install.sh | bash
On Windows, the helper's README has the PowerShell line. The installer finds Codex's folder (~/.codex, or wherever CODEX_HOME points) and adds Tapproval's hook to Codex's hooks.json. It changes nothing else of Codex's. If you use Claude Code too, it wires that in the same run.
3. Trust the hook in Codex
Codex runs a hook only after you have approved it, and the helper never approves it for you. Open codex in a terminal once and choose Trust all and continue. The installer reminds you until Codex says it is trusted.
4. Open Tapproval on the watch
Open the app once while the watch and the computer are on the same Wi-Fi. It finds the computer by itself and pairs automatically. From then on it also reaches the computer when you are away, through a private travel address. On a Mac, a small iCloud bridge lets the watch buzz while Tapproval is closed; elsewhere, cards wait until you open the app.
What arrives on the wrist
- Codex's permission questions, for commands, file changes and terminal input, each marked with one of five risk tiers worked out on your computer. Tap Allow or Deny. When the same session is open in Codex on your iPhone, the question shows there too, and answering either clears the other.
- Your Codex chats, marked CX, in the same list as Claude Code's sessions (marked CC): the chats Codex itself lists for this computer, idle ones included, with older ones as you scroll.
- A live thread for each chat. Follow it as it works and send it words, such as “Summarise progress”. Claude Code's slash commands, such as
/compact, are not Codex messages. - New session: start Codex from the wrist. The Use row picks Codex or Claude Code, and remembers the choice for each project.
Nothing is approved for you. Codex's own approval settings still decide which actions ask at all: if you have set an automatic reviewer, it can approve an action without a card ever appearing. Every question that does reach the watch waits for a person.
Codex Desktop on a Mac
For chats in the Codex Desktop app, an optional Desktop connection needs preparing once. In a coding-agent chat on that computer, ask:
Prepare Tapproval’s Codex Desktop launcher for the installed app. Do not change approval settings or stop any sessions.
Preparation does not open or stop the app. When your active work is finished, quit Desktop normally, then open it through the prepared launcher:
open "$HOME/.tapproval/data/codex-desktop-launcher/Launch Codex.command"
An ordinary launch of the app uses the ordinary connection again. The helper's README has the details.
If the watch cannot find the computer
Open Settings on the watch and tap the status card at the top: every route gets a tick or a reason. “Codex chats unavailable” means the helper cannot reach Codex on the computer; the last list stays visible, and sending waits until it can. More in the troubleshooting table.
Weighing other ways to hear from Codex on the wrist? Codex notifications on Apple Watch sets them side by side.
Removing it
Run python3 ~/.tapproval/ClaudeRiskClassifier.py --uninstall. It takes its hook back out of Codex's hooks.json, keeps a backup, and leaves nothing running. Delete the app from the watch like any other.