Inter-office memo

To
Everyone waiting on Claude Code or Codex
From
Mo, Chief Executive
Date
November 8, 2026, 2:27 AM CST
Re
Notifications from coding agents

How to get notified when Claude Code or Codex finishes in 2026: 8 ways compared

Start with what’s built in. Claude Code notifies in Ghostty and Kitty, and in iTerm2 once its alerts are on, Codex’s terminal and the ChatGPT app have switches, and a free hook covers any terminal. For your phone, use Remote Control on a Claude plan, the ChatGPT app or ntfy; Orca is free and alerts on desktop and phone; and Enjoy alerts you on a Mac for every lab’s agent, but not on your phone.

Disclosure: Enjoy is our product. We checked every way below against its maker’s own pages on November 8, 2026, and we say where another way is the better pick, including the free ones that don’t need Enjoy.

The ways to get notified, compared

If you run one agent in one terminal, start with what it already does: Claude Code and Codex can both tell your terminal when they finish or need you, and a hook fills the gaps for nothing. Anthropic’s terminal guide puts the point of it plainly: an alert “lets you switch to other work while a long task runs.” The ways below differ in where the alert reaches you, your desk or your pocket, and in how many agents they watch.

Way Best for Price, checked November 8, 2026 Where it alerts you Agents
Your terminal’s own alerts One agent in one terminal Free The computer you’re at Claude Code, Codex
Hooks and notify scripts Any terminal, any message Free Your computer, or anywhere a script can reach Claude Code, Codex
ntfy, from a hook A push to your phone without another coding app Free without sign-up; Supporter $6 a month iPhone and Android apps, and desktop Anything that can run a command
Remote Control, in the Claude app Claude Code pushes to your phone Included in Claude Pro ($20 a month), Max ($100), Ultra ($200), Team and Enterprise The Claude app for iPhone and Android Claude Code
The Claude desktop app Claude Code in Anthropic’s own app Included in every paid Claude plan Mac and Windows; Linux in beta Claude Code
The ChatGPT app Codex, at your desk and on your phone Every ChatGPT plan, from Free; Plus is $20 a month The desktop app; ChatGPT for iPhone and Android, with a Mac or Windows host Codex
Orca Many agents, desktop and phone, free Free Mac, Windows and Linux; iPhone and Android apps Claude Code, Codex, OpenCode, Grok and any agent CLI
Enjoy Every lab’s agent across your projects, on a Mac A monthly subscription, free for 7 days (pricing) Mac notifications; sounds on Windows, Linux and the web Claude Code, Codex, Grok Build, Antigravity, Muse Code, OpenCode

Prices are per month as each maker lists them, before tax. Claude Code needs a paid Claude plan, and Claude’s pricing has Pro at $20 a month, or $17 billed yearly. Codex comes with every ChatGPT plan, and its pricing lists Free at $0, Go at $8, Plus at $20 and Pro from $100.

Your terminal’s own alerts

Best for: one agent in one terminal, with nothing to install.

Claude Code decides for itself when you’re needed: “When Claude finishes a task or pauses for a permission prompt, and you appear to be away from the terminal, it fires a notification event.” What you get depends on the terminal. In “Ghostty, Kitty, and iTerm2, when Claude Code detects them,” it’s a desktop notification, “which iTerm2 shows only after you turn on its alert settings”: under Settings → Profiles → Terminal, check Notification Center Alerts, then turn on Send escape sequence-generated alerts under Filter Alerts. Apple Terminal gets at most a silent bell, and “Other terminals: nothing.” The preferredNotifChannel setting, Local notifications in /config, changes that: set it to "terminal_bell" and Claude Code “rings the bell character in any terminal.”

Codex has the same idea under [tui] in ~/.codex/config.toml. Its advanced configuration says tui.notifications can “optionally filter by event type (for example, agent-turn-complete and approval-requested),” and tui.notification_method picks auto, osc9 or bel. In auto, “Codex prefers OSC 9 notifications (a terminal escape sequence some terminals interpret as a desktop notification) when the terminal appears to support them, and falls back to BEL.” By default they fire only while the terminal is unfocused; set tui.notification_condition to always to change that.

Price: free.

Watch for: Anthropic names the terminals that get nothing by default, “such as Warp or the VS Code integrated terminal,” and says to “use a hook or set preferredNotifChannel to "terminal_bell" instead.” Inside tmux, “desktop notifications don’t reach the outer terminal” until you add set -g allow-passthrough on to ~/.tmux.conf and set the channel to "iterm2", "kitty" or "ghostty". Either way, the alert only reaches the computer in front of you.

Hooks and notify scripts

Best for: any terminal, and alerts that say what you want, where you want.

A Claude Code hook is a command Claude Code runs at a moment you choose. Two moments matter here. The Notification event fires “when Claude is waiting for input or permission”: with the permission_prompt matcher, once a prompt “has waited about six seconds,” and with idle_prompt, when “Claude finished responding about 60 seconds ago and you haven’t typed since.” The Stop event, in the hooks reference, “Runs when the main Claude Code agent has finished responding,” but not after you interrupt it. Anthropic’s own macOS example goes in ~/.claude/settings.json:

{
  "hooks": {
    "Notification": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "osascript -e 'display notification \"Claude Code needs your attention\" with title \"Claude Code\"'"
          }
        ]
      }
    ]
  }
}

The same guide has notify-send for Linux and a PowerShell command for Windows, and hooks reach further than the terminal: “Claude Code fires the same hook events wherever it runs: sessions in the terminal, IDE extensions, the Desktop app, and cloud sessions.”

Codex has notify, which runs a program “whenever Codex emits supported events (currently only agent-turn-complete).” You set it as notify = ["python3", "/path/to/notify.py"], and the script receives “a single JSON argument” with the turn’s cwd, input-messages and last-assistant-message, so a notification can say which project finished and what it said.

Price: free.

Watch for: each command fails in its own way. On a Mac, “If Script Editor doesn’t have notification permission, the command fails silently, and macOS won’t prompt you to grant it.” On Linux, “notify-send needs a desktop notification daemon, which headless servers, SSH sessions, and most containers don’t have.” The Windows example “opens a dialog box rather than a notification in the corner of your screen.” And Codex’s notify doesn’t fire on approvals; for those, use tui.notifications with approval-requested.

ntfy, for a push to your phone

Best for: a push to your phone from any agent, without changing how you run it.

ntfy is “a simple HTTP-based pub-sub notification service” that sends “notifications to your phone or desktop via scripts from any computer.” You install its app from “Google Play, App Store or F-Droid,” subscribe to a topic of your choosing, and send to it with one line, as in its publishing guide: curl -d "Backup successful 😀" ntfy.sh/mytopic. Put that command in a Claude Code Notification or Stop hook, or in the script Codex’s notify runs, and your phone buzzes when the agent needs you or is done, for any agent that can run a command.

Price: “Try ntfy for free without sign-up.” Its paid plans are Supporter at $6 a month, or $5 billed yearly, Pro at $12, or $10, and Business at $25, or $20. It’s open source under the Apache 2.0 and GPLv2 licenses, so you can host it yourself.

Watch for: “topic names are public, so it’s wise to choose something that cannot be guessed easily.” Without an account, its homepage says, “the topic is essentially a password,” and reserving names takes a paid plan. Whatever your hook puts in a message passes through ntfy.sh unless you host it yourself, so keep code and secrets out of it.

Remote Control, in the Claude app

Best for: Claude Code users who pay for Claude and want their phone to buzz.

With Remote Control running, “Claude can send push notifications to your phone.” A push arrives “when a long-running task finishes or when Claude needs a decision from you,” and you can ask for one in a prompt, such as “notify me when the tests finish.” To set it up, install the Claude app on iPhone or Android, sign in with the same account, allow notifications, then run /config and turn on Push when Claude decides, Push when actions required, or both. It stays quiet “while you are typing in or focused on the connected terminal.” You can steer the session from your phone too.

Price: included in Pro, Max, Ultra, Team and Enterprise. Pro is $20 a month, Max $100 and Ultra $200, and on Team and Enterprise “an Owner must first enable the Remote Control toggle.”

Watch for: “Beyond the two on/off toggles below, there is no per-event configuration.” “API keys are not supported,” it isn’t available through Amazon Bedrock or a gateway, and “your computer has to stay on and the claude process has to keep running.” It’s Claude Code only. Researchers reported in November that a browser extension on claude.ai can drive Dispatch, and say Remote Control is open to the same attack, so turn it off on computers where you don’t use it.

The Claude desktop app

Best for: people who run Claude Code in Anthropic’s own app.

The Code tab of Claude’s desktop app does it without setup: “The desktop app sends an OS notification when a Code session finishes a task and you aren’t currently viewing that session.” It runs on Mac and Windows, with Linux in beta, and the hooks above work in it as well.

Price: included in every paid Claude plan, from Pro at $20 a month.

Watch for: the notification it documents is for a finished task, not a request that’s waiting on you; for those, add a Notification hook with the permission_prompt matcher. It runs only Claude, and it alerts the computer it’s on, so pair it with Remote Control for your phone.

The ChatGPT app, for Codex

Best for: Codex users, at their desk and on their phone.

In the ChatGPT desktop app, where Codex runs on your computer, Settings lets you “choose whether turn-completion alerts appear never, only while ChatGPT is in the background, or always,” and “Separate controls let you turn permission and question notifications on or off.” Its Activity view, the bell in the sidebar, lists chats “that are unread, running, or waiting for your response,” and an optional floating pet shows when a chat is Running, Needs input, Ready or Blocked. Connect your computer to ChatGPT on iPhone or Android, and its remote connections let you “Get notified when ChatGPT completes a task or needs your attention.”

Price: every ChatGPT plan, from Free. Go is $8 a month, Plus $20 and Pro from $100.

Watch for: phone access works only with “hosts running the ChatGPT desktop app on macOS and Windows,” and “If that computer sleeps, loses network access, or closes the app, remote access stops until it’s available again.” “Availability can vary by rollout.” The IDE extension “doesn’t provide separate notification controls,” and the app runs only Codex.

Orca

Best for: many agents, with one set of alerts on your desktop and your phone, free.

Orca runs “Claude Code, Codex, and any other coding agent in parallel, each in its own worktree,” and “Works with Claude Code, Codex, OpenCode, Grok, and any other agent CLI.” Its notifications are built around one signal: “When an agent transitions from working to idle, Orca fires a notification — system notification, sound, and a chip on the worktree.” A bell in the header gathers unread ones across worktrees, the Mac’s Dock icon shows the count, and you can turn categories off, choose sounds and mute machines. Its mobile companion for iPhone and Android can “Get push notifications when an agent finishes, mirroring desktop notifications.”

Price: free. It’s open source under the MIT License, on macOS, Windows and Linux.

Watch for: in its updated structured chat, “a successful turn instead marks its tab and workspace unread. It does not send a system notification or play a sound.” On the phone, “Closing the desktop app drops a direct/LAN session until you reopen it.”

Enjoy

Best for: hearing from every lab’s agent, across all your projects, on a Mac.

Enjoy runs Claude Code, Codex, Grok Build, Antigravity, Muse Code, and local models through OpenCode, on Mac, Windows and Linux, on the plans you already have, and its alerts work the same for all of them. In its settings, the Mac app has a row for Agent sends a message and one for Agent needs a decision, such as an answer or an approval, each with a Sound and a Notify switch, and selecting a notification opens that conversation. The Dock icon counts the conversations that need you plus replies you haven’t read. Inbox gathers every open conversation from every project under Needs you, Failed, Unread, Working and Ready, and JOY can tell you what needs you. With Voice, agents say a short line as they reply, such as “Let me check.” When one is waiting for its usage to reset, it says “Hit a rate limit. Waiting a bit.”

Price: Enjoy is one monthly subscription, and the first seven days are free, with a card to start. It includes your phone and any browser and one computer; each other computer is $9.99 a month, and each teammate you invite needs a subscription of their own. See pricing.

Watch for: “Notify shows a Mac notification only while you’re in another app.” “On Windows, Linux, and in the web app,” the switches are for sound only, and “The iPhone app doesn’t play sounds or show notifications,” so Enjoy won’t reach your pocket: for that, use Remote Control, the ChatGPT app, ntfy or Orca. Enjoy isn’t open source, and it’s a monthly subscription on top of your AI plans once the free week ends.

When to stay with what’s built in

If you run one agent in one terminal, you may need nothing new. Claude Code already notifies in Ghostty, Kitty and iTerm2, the ChatGPT app has its own switches, and a hook covers every other terminal for free. If you pay for Claude and want your phone to buzz, turn on push in Remote Control before you look anywhere else, and if you use Codex, connect the ChatGPT app on your phone.

Look further when you run several agents from different labs at once and want one place that tells you which one needs you. Orca does that for free, on your desktop and your phone. Enjoy does it on a Mac across every project, with sounds on Windows and Linux.

How we compared

We read Anthropic’s Claude Code docs on terminal setup, settings, hooks, Remote Control and the desktop app, Claude’s pricing, OpenAI’s Codex docs on notifications, configuration, remote connections and pricing, ntfy’s homepage and docs, Orca’s homepage, docs and GitHub page, and Enjoy’s own help on November 8, 2026, and every one is linked below. We quote each maker’s own words for its limits and leave out what it hasn’t documented. These apps change weekly, so we recheck this guide against its sources at least once a month, and the date at the foot of the page says when we last did.

12.Questions.

How do I get a notification when Claude Code finishes?

In Ghostty, Kitty or iTerm2 you may already get one, since Claude Code sends a desktop notification when it detects them, and iTerm2 needs its alert settings turned on. In any other terminal, add a Notification hook, which fires when Claude waits for you, or a Stop hook, which fires when it finishes responding, to ~/.claude/settings.json.

How do I get notified when Codex finishes?

In the terminal, turn on Codex’s TUI notifications in ~/.codex/config.toml, or point its notify setting at a script that runs “whenever Codex emits supported events (currently only agent-turn-complete).” In the ChatGPT desktop app, Settings chooses whether turn-completion alerts appear never, only in the background, or always.

Can Claude Code send a notification to my phone?

Yes, through Remote Control on a paid Claude plan. Turn on Push when Claude decides or Push when actions required in Claude Code’s /config, and the Claude app for iPhone or Android gets a push “when a long-running task finishes or when Claude needs a decision from you.” Without Remote Control, a hook can send one through ntfy, and Orca’s phone app pushes too.

Why don’t I get Claude Code notifications in VS Code, Warp or tmux?

Because Claude Code sends desktop notifications by default only in Ghostty, Kitty and iTerm2, and tmux doesn’t pass them through. Anthropic’s docs say terminals “such as Warp or the VS Code integrated terminal” can use a hook or set the preferredNotifChannel setting to terminal_bell instead. Inside tmux, add “set -g allow-passthrough on” to ~/.tmux.conf and set preferredNotifChannel to your outer terminal, iterm2, kitty or ghostty.

Can one app notify me for Claude Code and Codex together?

Yes. Orca is free and open source and sends desktop notifications and phone pushes when an agent finishes. Enjoy shows Mac notifications for every lab’s agent across all your projects, with sounds on Windows and Linux, but nothing on your phone. A hook in each agent that calls the same ntfy topic works too.

Enjoy Agentic Industries · Checked against its sources on