TIL: Claude Code /loop and Terminal Bell

I can't believe I wanted this long to add terminal bell to claude code stop!


Claude Code recently shipped /loop and cron jobs that work within a single session (you kill that session, any loops or crons made in that session are cleaned up).

My first idea to use this was: /loop 30m help remind me to look away from my computer and since I need to keep this session running all day, I did it in a new tmux window at "home".

CleanShot 2026-03-09 at 11.48.39@2x.png

But now I needed a way for that tmux window tab to grab my attention when it had fired something off - this is something I've been meaning to add anyway.

What I did was add a Claude code hook to run after Stop to fire off a terminal bell \a. Ended up needing send this directly to tty (since Claude code eats stdout). The full change in ~/.claude/settings.json:

"hooks": {
  "Stop": [
    {
      "hooks": [
        {
          "type": "command",
          "command": "printf '\\a' > /dev/tty"
        }
      ]
    }
  ]
}

So now when that /loop is telling me to take a lil break it will show up with a grey background like this:

CleanShot 2026-03-09 at 11.51.13@2x.png

Nicely, this "tab turns grey whenever Claude Code stops" will work across all windows now too!

Not sure exactly where I'll be using /loops or crons in my daily work yet but excited to see where I do!


Ok yea, I'm already firing off /loop 5m babysit this deploy and cancel this loop when it is green

And it tweaked a few mistakes we had in our wrangler.toml. And then notified me when done.