IdlePal for Claude Code.
IdlePal for Claude Code is a small plugin from the Claude Code plugin marketplace. It wakes Pip in your notch when you send Claude a prompt, flags permission prompts and questions, and tucks the panel away when Claude stops.
Signals from Claude Code: started, finished and needs you. Nothing else leaves the hook.
Set up IdlePal for Claude Code
Install IdlePal from the Mac App Store.
Coming this winter for macOS 14 or later. Leave your email at the bottom of this page.
Add the plugin marketplace.
claude plugin marketplace add initiums/idlepal-integrationsAt launchInstall the plugin.
claude plugin install idlepal@idlepalAt launchThat's it.
Restart Claude Code. The next prompt you send wakes Pip up.
The four Claude Code hooks IdlePal uses
Each Claude Code event runs open -g "idlepal://…" on your Mac with one signal and a session ID. Nothing goes over the network, and the hook never reads your prompts, code or output.
| Claude Code event | IdlePal hears | What happens |
|---|---|---|
UserPromptSubmit | started | You sent Claude a prompt. The panel drops from the notch without taking your keyboard. |
Stop | finished | Claude finished its reply. If you never clicked the panel, it closes. If you did, a green banner says Claude Code finished. |
SessionEnd | finished | The session ended, for example after /exit, so a closed terminal doesn't stay marked as working. |
Notification (permission prompt, question) | needs you | Claude is waiting on you. If the panel is open, an orange banner appears. It never opens the panel just for this. |
What the plugin installs
hooks/hooks.json- Inside the plugin folder. Registers the four hooks above with a 5 second timeout (2 seconds for SessionEnd).
hooks/idlepal-signal.sh- A short shell script. It reads the hook's input only to find the session_id, runs open -g "idlepal://…" and always exits 0.
Nothing else- No settings file is edited. Claude Code manages the plugin like any other, so updates and removal go through the plugin commands.
Several Claude Code sessions at once
Every Claude Code session has its own session_id, and the hook passes it along. Two terminals running Claude Code count as two agents: the panel stays down until the last one sends Stop. If you interrupt Claude and no Stop event arrives, IdlePal treats that session as working for up to 2 hours, or until it finishes or ends.
Remove the plugin
claude plugin uninstall idlepal@idlepalAt launchIdlePal keeps working without it: press ⌥⌘G or click the menu bar icon and Pip is there.
If Pip doesn't wake up for Claude Code
- Open IdlePal's Settings → AI agents. If Claude Code says "Not connected yet", no hook has fired: start a new Claude Code session and send a prompt.
- Run /plugin inside Claude Code and check that idlepal is installed and enabled. /hooks lists the four IdlePal hooks if the plugin loaded.
- Check "Open when an agent starts working" is on in IdlePal's settings.
- Pip looks stuck awake after an interrupted run: send another prompt and let it finish, or type /exit to send SessionEnd.
- Claude Code running on another machine over SSH can't reach the app on your Mac, because open runs on that machine.
Also: IdlePal for Cursor · IdlePal for Codex
Questions about IdlePal for Claude Code
Does the IdlePal plugin for Claude Code read my prompts or code?
No. The hook reads its JSON input only to pull out the session_id. It never looks at your prompt, your files or Claude's output, and it sends nothing over the network: it runs open -g on your Mac and exits.
Can the IdlePal hook slow down or block Claude Code?
No. The script runs one command and always exits 0, so it can't fail or block a prompt. Claude Code gives it at most 5 seconds, and in practice it returns right away.
Will IdlePal pop up when Claude Code asks for permission?
Only as a banner. If the panel is already open, an orange banner says Claude Code needs your input. If the panel is closed, IdlePal leaves it closed so the prompt in your terminal is the only thing asking for attention.
Does IdlePal for Claude Code work with several sessions at once?
Yes. Each session sends its own session_id, so IdlePal counts them separately and keeps the panel down until the last Claude Code session finishes.
Does IdlePal work with Claude Code over SSH?
No. The hook runs open on the machine where Claude Code runs. On a remote machine that open can't reach the IdlePal app on your Mac. Press ⌥⌘G to open the panel by hand instead.
Get Pip first.
One email when IdlePal is on the Mac App Store. Nothing else.
Buttondown opens in a new tab to confirm. Unsubscribe any time.
macOS 14 or later. Best on a MacBook with a notch.