Launching today

CC-BEEPER
A floating macOS pager for Claude Code
147 followers
A floating macOS pager for Claude Code
147 followers
Native macOS companion for Claude Code. A floating retro pager that shows you what Claude is doing so you stop babysitting your terminal. Real-time LCD status with pixel art animations Four auto-accept modes (Strict / Relaxed / Trusted / YOLO) Voice input and spoken recaps Hotkeys, always on top Customisable themes, size, voice 100% local. Zero dependencies. Open source.








CC-BEEPER
@vecartier Love it! Damn, I'm a sucker for good designers who divine it and ship products. Apps like this make digital interactions more alive, vibrant - nice job Victor ;).
CC-BEEPER
@dominik_bartosik Thank you so much, it really means a lot
Product Hunt
CC-BEEPER
@curiouskitty Hey, I'll try to answer this the best I can (with claude's help) since I'm not technical. It was mostly trial and error, prompting Claude Code to fix issues / change the way it works to my satisfaction. I should add that I ask a couple developer friends to check if it had any glaring security issues or problems, but so far they didn't spot any.
Claude Code's blocking hooks are basically an HTTP call that waits for a response. CC-Beeper runs a tiny local server, and when a permission request comes in, it just keeps that connection open while the widget asks you what to do. When you click Allow or Deny, it writes the answer back on that same open connection and closes it. Curl gives it around 55 seconds to respond before it gives up.
Re, the reliability stuff:
- Multiple sessions: pending prompts queue up in order, so answering one surfaces the next.
- Session moved on (you answered in the terminal instead, or Claude auto-resolved): it detects it from the next hook event and quietly releases the stuck prompt.
- Claude Code or CC-Beeper crashing: connections get cleaned up on drop, and a 5-minute watchdog resets the UI as a backstop.
- Restarts and Claude updates: the hook config in settings.json reads the port fresh every time, so nothing's baked in. If CC-Beeper isn't running, the hook fails cleanly and Claude falls back to its normal terminal prompt, so you're never locked out.
- Sleep/wake: honestly the weakest spot today. No explicit handler, stuff just times out and recovers.
It's probably imperfect, and if someone more technical / knowledgeable than me knows and want to improve it, it'd be amazing. That's also why I made it open source :)
When you have multiple Claude sessions running at a time, do we get multiple pages, or does the page screen get increased with each Claude session?
CC-BEEPER
@nayan_surya98 So you keep one beeper at all times but it works across sessions. What i tried is creating a priority order between states across sessions (e.g. needing a permissions supersedes working/done state for another). But it's far from perfect. Honestly, I lack the technical skills to go the extra mile and I want it to remain a fun week-end project :)
Product Hunt
This is super cool.
One suggestion: you could consider color-coding the statuses based on whether there's input needed from the user. (eg. "done" -> green, "error" -> red, "needs input" -> yellow).
CC-BEEPER
Seriously, the state that attracted me the most was the error: “Something went wrong.”
A lot of times, I only see a summary at the very end of the run, and I end up getting lost in what actually happened during the execution flow. The real issue is that when there are multiple errors and the claude tries to handle them on its own, it becomes painful on my side. It affects the whole workflow.
Instead of finding out only at the end, I’d rather get real-time signals about errors as they happen, so I can step in immediately and help, rather than reacting after everything is already done. COOL!
naming the top trust level "yolo" is the most honest ux decision i've seen in a dev tool. been running claude code for months — you always end up at two extremes: approve everything manually or just run
--dangerouslySkipPermissions and hope. strict to yolo as an actual dial makes trust a real decision.
This looks really great. I hope we have something similar for Windows Laptop too, sooner. Just in case, if there are multiple Claude sessions going on, how it will react, I am curious to know that.
CC-BEEPER
@akshay_k_hireid Hey, that's awesome :) let me know if I can help out. I answered Nayan above about that.