Codex and TapNoise.

Hear a sound when Codex finishes a turn. TapNoise keeps any notify command you already have, so both still run.

What happens

  • Done when a Codex turn finishes: the done phrase plays, and Tappy celebrates.
  • Codex only reports finished turns, so TapNoise has no needs-you or error sound for it.
  • Knock to answer doesn’t apply, because Codex never tells TapNoise that it’s waiting.
  • The sound is made from your current sound theme, like the other coding agents.

Set it up

  1. Open TapNoise from Applications. Connect is refused while it runs from the disk image.
  2. Open Settings › Agents. Under Agent sounds, make sure Play agent sounds is on. It is on by default.
  3. Under Connect your agents, click Connect next to Codex.
  4. To see the line first, open What TapNoise writes to ~/.codex/config.toml.
  5. Start a new Codex session, or restart one that was already running.

Good to know

  • Codex runs one notify command when a turn ends. TapNoise’s goes at the top of config.toml. Any notify command you already had is kept after --then in the same line, and it still runs with the arguments Codex sends.
  • If your notify line had comments, they are lost when TapNoise replaces it. TapNoise backs up the file before it changes it.
  • Click Remove to put your original notify command back, or to take the line out if you had none.
  • If you delete TapNoise without removing it first, the hook does nothing and your own notify command still runs.
  • Sounds need a TapNoise license. They stay silent during a call while Quiet during calls is on.

Questions

Does TapNoise replace my Codex notify command?

No. It keeps your command after --then in the same notify line, and that command still runs with the arguments Codex sends.

Why is there no sound when Codex needs me?

Codex only tells TapNoise when a turn is done, so there is no needs-you or error sound for Codex.

Do I have to remove TapNoise before I delete it?

It’s best to. Click Remove in Settings › Agents first. If you forget, the hook quietly does nothing, and your own notify command keeps running.

Read more.

Also works with.