Spacepal for Claude Code
When you run Claude Code in five or ten projects at once, each on its own desktop, the hard part is knowing which one stopped to ask you something. Spacepal marks the desktop whose Claude is waiting for you or has finished, tells you why, and takes you straight to that terminal.
See which session needs you
Spacepal listens to Claude Code's hooks. When a session asks for permission, waits for input or finishes its turn, Spacepal works out which desktop it belongs to from the session's folder, then:
- the overview (⌥Tab) marks that desktop's tile Waiting or Done;
- the menu shows it next to the desktop's name, and the menu bar shows how many sessions are waiting;
- if you are on another desktop, a short notice shows Claude's own words, such as "needs your permission to use Bash". A sound is optional.
The mark clears when you visit that desktop or answer Claude.
Go straight to the terminal
⌃⌥J goes to the session that has waited longest, then to the ones that finished. Spacepal switches to its desktop and brings that session's terminal tab to the front, in iTerm or Terminal, so you can answer right away. Clicking a marked tile in the overview does the same.
Branch and dev server on every project tile
For desktops whose terminal runs in a project folder, the overview tile shows the git branch, how many files changed, and local servers started from that folder, such as localhost:3000. Click the server to open it in a new browser window on that desktop.
Links open on the right desktop
When Claude Code opens a link, the browser normally adds a tab to the window you used last, which may be on another desktop. Spacepal brings that browser window to the desktop you are on. With the Spacepal MCP server, Claude can also open a page on the project's own desktop with open_url, and see the other sessions with agent_sessions, for example to check whether the backend session has finished.
A desktop for a new project
New Project Space (Windows and Spaces menu) makes a desktop named after a folder and starts Claude Code there. macOS allows 16 desktops per display; when there is no room, Spacepal uses an empty unnamed one. This one is new, so tell us if it does not work for you.
Set it up
- Download Spacepal (macOS 14 or later, 14-day free trial).
- Open Settings > General > Claude Code and click Add to Claude Code. It adds three hooks (Notification, Stop, UserPromptSubmit) to
~/.claude/settings.json, keeps your other settings and saves a copy of the old file. - Start new Claude Code sessions. Hooks load when a session starts.
Spacepal finds a session's desktop from the terminals it has saved for each desktop, or from a desktop note that names the folder. Everything stays on your Mac: the hooks pass the folder, Claude's message and the terminal's name to Spacepal and nothing else.
Requirements and limits
- The direct version of Spacepal 1.2.12 or later. The Mac App Store version does not have these features.
- Bringing a tab to the front works in iTerm and Terminal. With other terminals Spacepal still switches to the desktop.
- The branch needs the Command Line Tools (git); without them Spacepal skips it.
Related
- Spacepal for AI coding: one desktop per project, and everything back after a restart.
- MCP server: list, switch and set up desktops from Claude.
- Bringing Claude Code sessions back after a restart
Written by Dan Bayer, developer of Spacepal. Last updated 2026-11-13.