Multiple Cursor windows. Which one is waiting?

Every project gets its own window, and macOS treats each one as a stranger.

One strip. Every project.

CursorStack lines up your Cursor windows and puts a tab strip on top. Cursor’s agent turns the tab amber. Claude Code adds a spark, and both can show at once.

Try it: click a tab with an amber dot or a spark.

The CursorStack tab strip on a real Cursor window, with the Add menu open

Know which chat needs you.

Cursor’s agent and Claude Code can both be running in the same window. The tab shows each one, and tells you when to come back.

billing-api

Cursor running

Cursor’s agent is working in that window. Leave it alone.

docs-site

Claude Code

Claude Code is working there. The spark can sit next to Cursor’s ring.

ios-app

Waiting on you

A Cursor chat finished, or it wants an answer. One click brings that window forward.

infra

Needs attention

Something went wrong in a Cursor chat. Go and look.

Put the strip on any edge.

Top is the default, so Cursor’s own search field stays clear. Move it to the bottom or down one side in Settings.

Switch without the mouse.

Change these in Settings. CursorStack warns you if one clashes with macOS or another app.

Next tab⌃⌥]
Previous tab⌃⌥[
Jump to a tab⌃⌥1 to ⌃⌥9

It moves windows. That’s all.

  • Reads your code
  • Changes Cursor
  • Uploads your screen
  • Wants an account

The one network request is Sparkle checking GitHub for a signed update, which is verified before it installs.

The real app.

Settings, the tab menu, and the group menu, as they look on a Mac today.

CursorStack Settings showing install status and Accessibility connected
Install, check for a signed update, and choose where the app shows.
Right-click menu on a tab
Right-click a tab to move it, rename it, or pull it out.
Group menu listing projects
The Group menu lists the stack you’re in.
macOS14 or newer, Apple silicon
AccessibilityRequired, to move windows
NotificationsOptional
Screen RecordingOnly for the experimental attention check

Get back to the one that’s waiting.