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

  1. Install IdlePal from the Mac App Store.

    Coming this winter for macOS 14 or later. Leave your email at the bottom of this page.

  2. Add the plugin marketplace.

    claude plugin marketplace add initiums/idlepal-integrationsAt launch
  3. Install the plugin.

    claude plugin install idlepal@idlepalAt launch
  4. That'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 hook events and the signal IdlePal receives for each
Claude Code eventIdlePal hearsWhat happens
UserPromptSubmitstartedYou sent Claude a prompt. The panel drops from the notch without taking your keyboard.
StopfinishedClaude finished its reply. If you never clicked the panel, it closes. If you did, a green banner says Claude Code finished.
SessionEndfinishedThe session ended, for example after /exit, so a closed terminal doesn't stay marked as working.
Notification (permission prompt, question)needs youClaude 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 launch

IdlePal 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.