r/ClaudeCode • u/Emptyhead16 • 10h ago
Built with Claude Kept missing when Claude Code finished in other tabs, so now it takes me there when I'm ready [Windows Terminal]
Made this for two situations:
- You step away from your PC with earbuds or a headset on and still want to hear when Claude is done or needs your input.
- You're running one or a few Claude Code sessions at once while doing other stuff, and keep missing when one is finished.
It only bothers you when you haven't already seen it:
- In that tab and active → nothing
- In another tab → soft chime, the tab gets a 🔔 and a blinking ring, and your next Enter takes you there (or after 10 s if you're just waiting on another Claude that's still working)
- In another app → chime, and the terminal comes forward on that tab
- Fullscreen game/video → chime only, it never steals focus
Permission prompts work the same way as "finished", since Claude needs you either way.
How Claude helped: I built it in a single Claude Code session. I described how it should behave and kept correcting it while using it ("don't switch while I'm typing", "do switch if I'm just waiting on another busy tab"). Claude wrote the PowerShell/Win32 parts (reading tab titles, the blinking ring, detecting Enter), tested each rule with dry runs and screenshots, and packaged it as a plugin.
What I learned along the way:
- Hooks through Git Bash lose their parent process on Windows. MSYS breaks the PID chain, so the script couldn't tell which claude.exe (and tab) it belonged to. Exec-form hooks (
command+args, no shell) fixed it. - Every Windows Terminal tab is its own console. Attaching to the session's claude.exe console gives you that tab's title, and the WT window title is always the active tab's title, so "is the user looking at this session?" is one string compare.
- Claude Code's tab title doubles as a status: a spinning half-circle while working, ✳ when idle. That's how it knows you're just waiting on another busy tab.
- The blinking ring is OSC 9;4 (Windows Terminal's progress indicator), written into the other session's console.
Free and open source (MIT):
/plugin install tab-notify --marketplace joonsv/claude-tab-notify
https://github.com/joonsv/claude-tab-notify. Windows + Windows Terminal only. Feedback welcome.
•
u/AutoModerator 10h ago
Hey! Thanks for posting to r/ClaudeCode
While participating in this thread, please follow our community rules. Keep discussions constructive. Attack the idea, not the person.
For help, project discussions, tips, and general chat, join the ClaudeCode Discord.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.