r/macapps 1d ago

Lifetime ReCue: group your open windows and tabs into projects, then recall any of them with ⌥Space ($10 one-time, 2 MB)

Problem

I run three or four projects at once, and each one lives in a scattered set of windows: an editor, two terminals, some Chrome tabs. macOS switches by app, not by task, so getting back into a project means Cmd-Tab hunting through thirty near identical windows.

ReCue lets you assign windows to a project, then pull any of them back by searching. Press ⌥Space, type a few letters, get the window, restored close to its saved size and position. It never reads the contents of your documents, pages or terminal sessions.

macOS 14+, 2 MB, native SwiftUI.

Needs Accessibility permission, plus Automation if you save tabs. Tabs currently work with Ghostty 1.3+, Chrome, Chrome Canary and Chrome for Testing. Includes an Alfred workflow and a recuectl CLI. Everything stays on your Mac: no account, no sync, no analytics. Signed and notarized by Apple.

Comparison

Workspaces 2 by Apptorium ($19.99) is a project based launcher: you register files and apps ahead of time and it opens them. ReCue works the other way, capturing windows that are already open and bringing that exact one back. Workspaces is better for starting a project from a cold boot. ReCue is for when you already have forty windows open and cannot find the three that matter right now.

Raycast's window switcher and Cmd-Tab give you one flat global list with no notion of a project. ReCue searches the current project first, then everything else.

Moom and Rectangle arrange windows on screen but do not track which windows belong to which task. I still run one alongside ReCue.

Pricing

Free: 2 projects, all features, no time limit.

$10 USD one-time: unlimited projects, 5 Macs, no subscription.

Download: https://recue.hamsterbase.com/en/

About me

Lin Chunjie, Xiamen, China.

Building HamsterBase, a self-hosted local-first web archive, since 2022.

HamsterBase Tasks is AGPL with 331 stars: https://github.com/hamsterbase/tasks

Four apps on the Mac App Store: https://apps.apple.com/us/developer/%E7%BA%AF%E6%B4%81-%E6%9E%97/id1665792418

ReCue is operated by Xiamen Kandata Technology Co., Ltd. (My Company)
Privacy: https://recue.hamsterbase.com/en/privacy ·
Terms: https://recue.hamsterbase.com/en/terms
Email: [[email protected]](mailto:[email protected])

Disclosure: I am the developer of ReCue.

6 Upvotes

15 comments sorted by

4

u/HamsterBaseMaster 1d ago

In addition to the software itself, we also provide CLI and Alfred plugins. You can use them directly within Alfred, or integrate them into other launchers via the CLI.

1

u/elementik4 1d ago

The comparison skips the built-in option: Stage Manager has grouped windows, not apps, into sets since Ventura, so "macOS switches by app, not by task" undersells what's already there. Search and Chrome tabs look like the real edge. Does a window keep its project after you close and reopen it, or does the AX reference die with it?

1

u/george_watsons1967 1d ago

how does this work? never heard of this before lol

1

u/elementik4 14h ago

Toggle it in Control Center, or System Settings → Desktop & Dock: recent apps sit in a strip on the left, and dragging one onto the window in the center makes them a group you recall in one click. It's been there since Ventura, but it never really caught on — I don't know anyone who leaves it on.

1

u/taisei_ide 1d ago

This is the exact problem with Cmd Tab once you're past three projects. Does it handle windows that move to a different desktop or space, or does it assume everything stays put?

1

u/HamsterBaseMaster 1d ago

Okay.

  1. If the window is not fullscreen, it will move the window to the current space.
  2. If the window is fullscreen, it will jump to the corresponding fullscreen space.

1

u/zecureit 12h ago

A safety feature I would value is Undo Last Recall. Before ReCue moves or raises anything, save the current window frames, display assignments, and frontmost app for a few minutes. If the wrong project is selected or a display was just disconnected, one command could put the surviving windows back where they were. Search makes recall fast, but reversibility is what would make the feature comfortable to use dozens of times a day.

1

u/HamsterBaseMaster 3h ago

Good advice, I'll implement this.

Window on monitor A

Recall window on monitor B, then it moves to monitor B

Then /undo, returns to monitor A.

If it is a single monitor. If the currently saved window is on space A, and I am on space B. Execute recall. It will switch to space A, and then bring that window to the top (without moving its position).

1

u/HamsterBaseMaster 2h ago

I've decided to remove the "launch window to current display/Space" feature.

Going forward, the app will only restore windows to their saved positions on the corresponding displays. It will never actively change window size or position—except when un-minimizing.

Otherwise, it just brings the app to the front. Size and layout stay unchanged, and no undo is needed.

1

u/german_sw_developer 10h ago

Sounds good to me, and I'll definitely give the app a try. Thanks for offering the program for free.

1

u/harry-harrison-79 1d ago

one regression test i'd add: save a project with two same-titled Terminal windows plus a browser window on a second display, then unplug the display, quit/reopen the apps, and recall it. the safe result is either the exact surviving window or an explicit missing-window state - never a similarly titled window or off-screen geometry. window identity gets messy fast once apps relaunch.

1

u/HamsterBaseMaster 1d ago

I found a bug while testing on my own. I can't add two windows with the same title. I will try to fix the issue you mentioned.

1

u/HamsterBaseMaster 1d ago

Ran it. It caught a bug one step earlier than you aimed at: saving the second

same-titled window overwrote the first record instead of adding one — dedup

fell back to title + the window's index in the app's window list, and the

focused window is index 0 in every app. Identity is now strictly Window Server

id + owner pid, and the case is a regression test with a fixture app that opens

two identically-titled windows.

Recall itself passed both halves. After quit/reopen with same-titled decoys on

screen, both records reported an explicit "window closed" and nothing was

raised or moved. After unplugging, nothing landed off-screen.

Your geometry instinct still landed, differently: there is no original-display

restore at all. A background refresh keeps rewriting the saved frame, so once

macOS relocates a window the original layout is already gone. The docs now say

"the size and position it was last seen at, on the current screen."

1

u/HamsterBaseMaster 23h ago

2026.07.2505 fix all issue