Documentation
Codex notifications: phone alerts and replies
Get Codex notifications on iPhone or Android and reply through local MCP. Native approvals require a verified Linux x64 or Apple silicon Mac setup; Windows uses MCP questions.
Updated
How can I receive Codex alerts and approve from my phone?
#Pair Ntfyx with your iPhone or Android phone, then use ntfyx setup codex or the Ntfyx plugin. On macOS / Linux, completion hooks send task alerts; local MCP questions can request a choice or text reply. Native permission approvals require the documented Linux x64 or Apple silicon Mac combination, interactive TUI and your own /hooks trust.
Apple silicon Mac native approvals are verified with Claude Code 2.1.303 and Codex 0.163.0 and require CLI 0.1.5+. Intel Mac native approvals remain unverified and return to the terminal. The integration does not intercept Codex request_user_input or approvals in codex exec.
Agent setup on Windows
#On Windows, use direct CLI setup or local MCP. Claude Code hooks require 2.1.139+; an older or unknown version gets MCP only. Codex on Windows provides MCP questions without automatic hooks. The marketplace plugin uses POSIX shell hooks; use direct setup on Windows. Native tool permission approvals retain their separate platform and host policy.
ntfyx setup claude-code --dry-run
ntfyx setup claude-code
ntfyx setup codex --dry-run
ntfyx setup codexWhat this integration does
#Ntfyx forwards supported Codex permission requests to your paired iPhone, Android phone or authorized Web Inbox. The running Codex invocation receives a verified Allow or Deny. This is a local CLI integration; it does not add Ntfyx to ChatGPT’s cloud app directory or move your Codex session to the phone.
Before you start
#For the protected CLI scripts below, install Ntfyx CLI 0.6.0+ on Windows, macOS or Linux and the app on iPhone (iOS 18.4+) or Android (Android 10+). Android background push requires Google Play services. Pair the CLI as the same user who runs the task; installing it alone does not authorize the sender.
Free includes 100 messages per UTC day. Use ntfyx topics to find your local alias and replace Work in the examples. The shell installer below is for macOS/Linux; Windows installation and current phone availability are on the download page.
- Run ntfyx connect on the trusted computer and keep the fresh QR private.
- Use the phone’s private Topic connection flow to authorize this Source. Update older apps from the store and follow the private scanning entry; current versions are listed in the quickstart.
- Confirm one actual phone message before adding the wrapper to your own task.
curl -fsSL https://ntfyx.me/install.sh | bash
export PATH="$HOME/.local/bin:$PATH"
ntfyx version --json
ntfyx connect
ntfyx topicsPreview and install the integration
#Run setup on the same computer and user account as your Codex session. It adds PermissionRequest and Stop hooks to hooks.json and registers the local Ntfyx MCP server. Review the dry run first. If you already installed the Ntfyx agent plugin, use that installation instead of adding duplicate hooks.
codex --version
ntfyx setup codex --dry-run
ntfyx setup codexReview the hooks in Codex
#Open an interactive Codex session. Type /hooks, inspect the two Ntfyx hooks and trust them yourself if they match your intended setup. The CLI cannot grant this trust for you. Keep your existing sandbox, approval policy and deny rules.
- Confirm the paired connection with ntfyx send before testing a permission request.
- Use a harmless task you intend to run. If Codex asks permission for Bash or apply_patch, review that exact request on the phone.
- Choose Deny first and confirm the proposed action was blocked. Try Allow on a fresh harmless request only if you want it executed.
codexUnderstand when no phone request appears
#The hook is designed for interactive terminal sessions. codex exec disables approvals and does not trigger this permission hook in the verified version. The app-server approval path has not been verified. A host update must match the supported payload format before Ntfyx can answer.
| Symptom | Check |
|---|---|
| No hook runs | Open /hooks and review trust; check setup or plugin installation. |
| No permission request | Confirm interactive mode and whether local policy actually asks. |
| Return to terminal | Check host version, Linux x64 or Apple silicon Mac, the Mac CLI minimum, tool kind and context size. |
| Request timed out | Answer locally; an ended invocation is not revived by a late phone answer. |
| Signed Deny | The action must remain blocked; do not silently retry it as Allow. |
What was verified
#On 30 September 2026, real Codex 0.158.0 interactive TUI sessions on Linux x64 passed Bash and apply_patch Allow / Deny cases with the compiled Ntfyx CLI and an encrypted local relay. The receiver was programmatic, not a physical iPhone. On 19 October 2026, Codex 0.163.0 interactive TUI on Apple silicon Mac passed all four Bash / apply_patch Allow and Deny cases; CLI 0.1.5+ enables that platform.
Intel Mac native approval remains unverified. These checks do not establish every Codex version, physical phone push delivery or an independent security audit. Unsupported inputs return control to the local host.
Also need usage or reset-credit reminders?
#Usage alerts are a separate opt-in task. They read local Codex status and send a notification when limits or reset credits change; they never redeem credits or approve tools.
When the agent needs your input
#Completion alerts, tool permission requests and missing information need different integrations. Use the guide below to choose a supported permission hook or explicitly ask for a choice or text reply through the CLI or local MCP. Existing terminal prompts are not automatically forwarded.
Compare ways to use coding agents from your phone
#Compare full-session access, completion notifications, permission decisions and answers, with official sources, encryption scope, account requirements and starting prices.
More agent notification and reply workflows
#Choose a guide by task completion, waiting for input and agent host.