A small macOS menu bar pet that watches Cursor’s agent and tells you when it is working or finished.
The cat walks while the agent runs, rests when idle, and meows once (optionally with Mac speech) when a job completes.
- Menu bar cat — pixel oneko in the top bar
- Working — cat walks; optional walking sounds
- Idle — cat sits, may yawn or sleep quietly
- Ready — cat sits still; one meow when the agent finishes (and optional “Cursor is ready.” voice)
- Sleep — can keep the Mac awake while the agent is working
- Detection — reads Cursor’s log files first; uses Accessibility as a fallback
- macOS 13 or later
- Cursor installed and running
- Accessibility permission for Cursor Pal (see below)
From the project folder:
./scripts/install-app.shThis builds the app and copies it to /Applications/Cursor Pal.app.
Or build only:
./scripts/package-app.sh
open "dist/Cursor Pal.app"- Open Cursor Pal from Applications (or
open "/Applications/Cursor Pal.app"). - When macOS asks, allow Accessibility for Cursor Pal:
System Settings → Privacy & Security → Accessibility → Cursor Pal → On - The cat appears in the menu bar. Click it to open the menu.
If the menu says “Accessibility required”, use Open Accessibility Settings… in the menu and enable Cursor Pal.
Click the cat in the menu bar:
| Item | What it does |
|---|---|
| Status | Current state: Idle, Working, Ready, or Needs approval |
| Speak when ready | Mac says “Cursor is ready.” when a job finishes |
| Keep Mac awake while working | Stops sleep while the agent is working |
| Mute / Unmute meow sounds | Cat OGG sounds on or off (speech is separate) |
| Test notification | Plays the ready meow and speech once |
| Quit | Exit Cursor Pal |
- Working — walking sounds only while the agent runs
- Idle — occasional sleep purr (no random chirps)
- Ready — one meow when a job actually finishes (not when you switch windows)
Speech and meow are independent: you can mute meows and still use Mac speech, or the other way around.
Check what the app sees:
"/Applications/Cursor Pal.app/Contents/MacOS/CursorSentinel" --snapshotFull diagnostic (assets, logs, permissions):
"/Applications/Cursor Pal.app/Contents/MacOS/CursorSentinel" --diagnoseRebuild and reinstall after code changes:
./scripts/install-app.shThen quit Cursor Pal from the menu and open it again.
swift build -c release
./scripts/package-app.shOptional CLI to inspect Cursor’s Accessibility tree:
.build/release/cursor-a11y-explorer --watch --interval 0.5Sources/CursorSentinelApp/ Menu bar app (cat, menu, sounds)
Sources/CursorSentinelCore/ Agent detection, sleep, voice
Sources/CursorAccessibilityExplorer/ Debug CLI
App/Resources/ oneko.gif and cat sound files
scripts/package-app.sh Build Cursor Pal.app
scripts/install-app.sh Install to /Applications