For Claude Code, Codex and your scripts

Know when it’s done. Answer when it asks.

Your agents and scripts send progress to your phone. When they need a decision, answer under the question and the work on your computer continues.

  • Public or protected Topics
  • Free: 100 messages/day
  • iPhone · Android · macOS · Linux · Windows
Illustration: Claude Code finishes its tests and asks “Deploy to staging?” with ntfyx ask. The question arrives on your phone, you choose Deploy, the computer verifies the signed answer and continues, then sends a completion notification.

Illustration. The agent asks with ntfyx ask; this website sends no messages and runs no tasks.

Start with your task

A notification, or a question?

Receive a notification

Send to an existing Topic or your HTTPS link

Already have a public Topic link? Send and read without pairing, a key or installing the CLI. Anyone with the link can read and send; public Topics have no verified answers or Call reminders.

Send your first public message →

For your own scripts, copy a send-only HTTPS link from the phone. Keep the link secret. The service reads the input before encrypting delivery; this path cannot receive agent answers.

Use a private HTTPS push link →

Reply from your phone

Pair a protected Topic, then ask

Authorize your computer with the phone. Protected CLI and agent content is end-to-end encrypted; the computer verifies each signed answer and claims it once before continuing the authorized task.

An alert, a timeout or a denied request does not authorize an action. Public Topics and send-only HTTPS links cannot replace this pairing.

Set up phone answers below →Follow a question through verification →

As of 2026-10-29, confirmed public releases are iOS 1.8.3 and Android 1.8.2. Update from your store, then use the public Topic or private connection entry on your phone. Android background push requires Google Play services. Versions and downloads →

Protected Topic · phone answers

Three steps to connect.

  1. Get the app on your phone

    Free on iPhone and Android. No account; the app creates your keys.

    On a computer? Click a store to scan its QR code with your phone.

    iPhone · 1.8.3

    Get Ntfyx on your phone

    Scan with your phone camera to open App Store.

    QR code linking to Ntfyx on App StoreOpen App Store

    This is a store link. It does not connect or authorize a device.

    Android · 1.8.2

    Get Ntfyx on your phone

    Scan with your phone camera to open Google Play.

    QR code linking to Ntfyx on Google PlayOpen Google Play

    This is a store link. It does not connect or authorize a device.

  2. Install on your computer

    curl -fsSL https://ntfyx.me/install.sh | bash -s -- --agent claude-code

    The command above is for macOS / Linux. Windows: use PowerShell below or npm with Node.js 24. You can also give your agent the installation guide:

    irm https://ntfyx.me/install.ps1 | iex ntfyx version --json ntfyx connect
  3. Scan, then answer a test question

    Select a protected Topic such as MyNotify and authorize the computer by scanning its QR. Run the harmless test below, answer on the phone and confirm the computer reports a verified answer. Then restart your agent to load its integration.

    ntfyx ask "Setup test only: continue?" --allow-deny --wait 5m --json
    Setup guide and versions →

Two ways to use it

One line tells you. One question waits for you.

Know when it’s done

Finished, failed or stuck: your phone knows first

Add one line to any command. With the plugin, Claude Code and Codex also notify you when a task ends.

(if pnpm test; then result=0; else result=$?; fi
ntfyx send "Tests finished: exit $result" || echo "Notification failed" >&2
exit "$result")
  • Long builds and agent tasks
  • SSH and server jobs
  • Cron, backups and CI
Agent notification guide →

Answer when it asks

When it needs a decision, answer from your phone

Your agent asks through ntfyx ask or an MCP tool and waits. The answer stays under the question; the computer verifies its signature and claims it once.

ntfyx ask "Migrate 3 tables?" --choice go=Continue --choice stop=Stop
  • Allow or deny
  • Pick an option
  • Type a reply
Reply to your agent from your phone →

Need a stronger reminder? Enable optional call-style message alerts on your phone, then request Call for the messages that need attention. Call setup and platform limits →

Topic · Session

Every agent, one inbox.

Each computer, agent and script is a source. A task’s updates, questions and answers stay in one conversation, so you see at a glance who is waiting for you.

  • Free includes 100 messages per UTC day. Topic count is not a paid entitlement.
  • Quiet hours per Topic. Messages still arrive.
  • Revoke a computer from your phone at any time.
Running several agents →

Choose who can read and send.Privacy depends on the path you choose.

Public Topics

No pairing or key for reading and sending. The service and anyone with the link can read the name and messages. Use them for content you intend to share publicly.

Protected CLI and agent messages

Only authorized sources can send. Titles, bodies, options and replies are end-to-end encrypted on your devices; the service still processes routing metadata.

Answers you can verify

Protected Topics support signed answers. Your computer verifies and claims each answer once; denied, expired or unverified requests authorize nothing.

HTTPS link notifications and monitors are read by the service before encrypted delivery. Security details →

Compatibility

What works where.

FeaturemacOSLinuxWindows
Notificationsntfyx send✓✓✓ x64 / ARM64
Agent questionsntfyx ask · MCP✓✓✓ x64 / ARM64
Completion hooksAgent setupClaude Code / CodexClaude Code / CodexClaude Code 2.1.139+Codex: MCP questions
Native permission promptsBash / Edit requests✓ Apple siliconStays in terminal on Intel✓ x64Terminal approval

Native approvals: CLI 0.1.5+, Claude Code 2.1.303 and Codex 0.163.0 verified on Apple silicon Mac. Linux x64: Claude Code 2.1.283 / 2.1.284 and Codex 0.158.0. Codex needs interactive TUI and /hooks trust; codex exec does not trigger approval hooks. Windows supports the full CLI and local MCP; native host approvals retain the separate policy. Android push needs Google Play services. iPhone is available in the EU; mainland China remains unavailable.

Use cases

What can you do with Ntfyx?

From agent questions to weekly subscriptions and website alerts, start with a use case. See what reaches your phone, then follow the steps to connect.

Explore all use cases →

Before you start

Questions, answered.

Is Ntfyx the same product as ntfy (ntfy.sh)?

No. Ntfyx (ntfyx.me) and ntfy (ntfy.sh) are separate products with no affiliation. Ntfyx brings command and script notifications, agent questions and phone replies into one Inbox. ntfy is an HTTP publish/subscribe notification service with hosted and self-hosted options.

What is Ntfyx?

Phone notifications for Claude Code, Codex and scripts. Send to public Topics without pairing, or pair a protected Topic for encrypted CLI messages and verified phone answers. Its official website is ntfyx.me. Use an existing public Topic or a private HTTPS link for notifications; pair a protected Topic and the companion CLI for verified agent answers.

How does my agent ask me a question?

Use a protected Topic. Install the signed CLI, scan its connection QR with the phone app, then configure your agent. Claude Code can forward AskUserQuestion through its bridge. Codex and other supported MCP clients use explicit Ntfyx question tools. Supported permission hooks are a separate integration.

Can I reply to an AI agent from my phone?

In a protected Topic, allow or deny one request, choose an offered option or type a text answer. Select Reply on the question to open a quoted composer. Your answer stays below that question, and the sending computer verifies the signed reply. Sending a reply does not prove an external action has completed.

Can an agent or webhook send a call-style alert?

Yes, for protected Topics. On Ntfyx iPhone and Android 1.6.0 or later, enable Call notifications in Settings and grant the required system permissions. CLI 0.4.1 can request --alert-mode call; local MCP uses alert_mode=call, and a JSON webhook can use ntfyx.alert_mode=call. It is an attention request for a message, not a voice call or permission to execute a task. Topic mute and quiet hours control eligible alerts. Android full-screen display depends on notification and channel permissions. iOS background registration lasts up to 24 hours and needs the app opened daily to renew; unavailable registration falls back to ordinary notifications. An already in-flight iOS system call can briefly appear before ending after a quiet-state change. Focus, system settings, network and delivery limits still apply; delivery or sound is not guaranteed.

Do Claude Code and Codex work in the same way?

Both provide local MCP question tools and phone-reply guidance. Completion hooks are available on macOS / Linux. Claude Code also bridges AskUserQuestion; Codex native request_user_input is not intercepted. Native execution approvals have verified Linux x64 support for Claude Code 2.1.283 / 2.1.284 and Codex 0.158.0; 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. Codex requires interactive TUI and /hooks trust; codex exec does not trigger permission hooks. Claude setup permission hooks require --permissions on. Other MCP clients require host-specific configuration. This is not a hosted ChatGPT or Claude app-directory connector. 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.

How do related messages stay together?

A Topic groups messages from sources you authorize. Use the same session ID inside the same Topic to keep one task’s updates and replies in a Session conversation. Without a session ID, each new message starts a separate conversation. Grouping does not grant access to other Topics or export the agent’s whole transcript.

Which devices do I need?

For verified agent answers: an iPhone or Android phone, plus a Windows, macOS or Linux computer with the companion CLI. Public Topic reading and sending need only an HTTP client or browser. HTTPS link notifications, hourly monitors and notification subscriptions need only the phone. Your phone can also authorize an optional Web Inbox. Android push requires Google Play services.

Can I send without pairing?

Yes, to an existing public Topic: anyone with its ID or link can read and send without a key. Public messages are visible to the service and link holders, and cannot request answers or Call reminders. A private HTTPS send-only link is another phone-only setup; the service reads that input before encrypted delivery.

What can I use for free?

Free includes 100 messages per UTC day, including up to 10 Call reminders and 10 answer requests, one monitor and one subscription. Notification-source subscriptions and public follows share the subscription allowance. Topic count is not a paid entitlement. Public Topics support ordinary and rich messages; protected Topics also support verified answers and Call reminders.

What can the server and public publishers see?

Protected Topic CLI and agent message titles, bodies, options and replies are end-to-end encrypted on your devices. Public Topic names and messages are readable by the service and anyone with the Topic ID or link. The explicit fixed monitor-access and webhook-management questions and their signed phone answers are disclosed to the service for verification. HTTPS push and webhook requests are readable by the service before encrypted delivery. Optional provider verification secrets are encrypted and stored by the service, then used in plaintext to verify the raw webhook body; they are hosted secrets, not hidden from the service. My Monitor reads the monitored address, rule and response; a public publisher knows the content it publishes. The relay routes ciphertext and processes operational metadata such as identifiers, time, size and push tokens. Do not put secrets in monitored URLs or request examples. Independent security review is not complete.

How does Ntfyx differ from a push alert or chat bot?

Ntfyx combines task messages, answers attached to the original question, and Topic/Session history with an opt-in notification marketplace. A workflow can wait for a verified confirmation, choice or text answer. Push services and bots have different reply, encryption and integration features; compare their current official documentation and the setup your workflow needs.

Can I send an HTTP notification or webhook to my phone?

Yes. Open HTTPS Push on the phone to prepare MyNotify. The app generates a short sk_ send-only key and prepares your HTTPS sending link. Tap Send to receive hello, or copy the link. Open it with GET to send a notification using the final URL-encoded path segment, or keep the whole copied URL fixed and POST dynamic text, JSON or form content to it. No app update or CLI is required for that URL. CLI 0.3.0 and local MCP can create independent wh_ sending keys after separate phone-approved webhook management authorization; monitor permission does not grant it. Revoking management does not itself disable existing sending URLs. The HTTPS service processes this plaintext request, then encrypts the message for authorized receivers. Keep the whole sending link private because it includes your key. Rotate the key in the app to invalidate old links. It cannot read messages, manage the Inbox or receive agent replies.

How does My Monitor check a service?

Open Discover → My Monitor and add a public HTTP or HTTPS address. Checks run every hour and require a final HTTP 2xx status; optionally require the response to contain specified text or a simple JSON object field equal to a chosen primitive value. Every check result is grouped into one Session per service in the system My Monitor Topic. In app 1.5.3, preview text or JSON before entering your expectation. Only notify on failure is on by default: healthy results stay in the conversation silently; turn it off to receive an alert for every check. It does not consume your custom Topic allowance. The paired CLI and local MCP tools can manage these same items after explicit, revocable phone approval valid for up to 24 hours; the grant covers all My Monitor items. The monitoring service reads the address, rule and response. Individual scheduled outcomes are kept for seven days. For weeks with check activity, a non-silent English summary with emoji is scheduled for Monday at 00:00 UTC, reporting counts, completed-check success rate and response time, subject to mute and delivery settings. This is hourly monitoring, not real-time incident response or an SLA.

Do I need a computer for notification subscriptions?

No. Open Discover in the iPhone or Android app, review a public notification source and confirm its subscription. No computer, CLI, pairing scan or Ntfyx account is needed. Receive future editions in its Topic; pause or unsubscribe from the phone. Each source lists its coverage and schedule. Private agent messages are not used to generate these updates.

Can I receive and reply in Chrome?

Chrome extension 0.2.4 is publicly listed on the Chrome Web Store. The current protected-message protocol requires Chrome 0.4.0, submitted and still under review as of 28 October 2026. The public 0.2.4 listing does not establish compatibility with that protocol. Use the phone-authorized Web Inbox while waiting for the compatible extension. A compatible extension can show desktop alerts and replies on the original message. Each Topic needs phone authorization and Chrome must remain running for background checks. The phone-authorized Web Inbox is available now.

How do I download from a computer?

Click App Store or Google Play to show a QR code, then scan it with your phone camera. The dialog also has a direct store link. On a phone, the store button opens the store directly. These download codes do not authorize a device.

Let your agents reach you.

Choose your path

Current public versions: iOS 1.8.3 · Android 1.8.2 · CLI 0.6.1