Skip to content

ReCue Guide

The ReCue DMG includes an Alfred workflow, and the app includes the recuectl command-line tool. Both use ReCue’s local interface for search, switching, and recall without reading the project database directly.

Alfred Workflow

Requirements

  • ReCue
  • Alfred 5
  • Alfred Powerpack

Installation

  1. Open the ReCue DMG and drag ReCue.app to Applications.
  2. Double-click ReCue-Alfred-<version>.alfredworkflow in the DMG.
  3. Confirm the import in Alfred.

Search and actions

The default keyword is w:

InputAction
wShow the current project, its windows and tabs, and other projects
w querySearch projects, apps, windows, tabs, and notes
w /List available commands
w /add-windowSave the current window to the current project
w /add-tabSave the current tab to the current project

Pressing Return on a project only makes it the current project. Pressing Return on a window or tab recalls that item immediately. Save commands report their result through a system notification.

Workflow settings

Select ReCue in Alfred’s Workflows preferences to configure:

  • Keyword: the search keyword, which defaults to w.
  • ReCue.app path: set the actual path when ReCue is not in /Applications; leave it empty to let the workflow find the app automatically.

If Alfred shows “ReCue not found,” confirm that the app is installed or select the correct path in the workflow settings.

recuectl CLI

Run the CLI

recuectl is inside the ReCue app bundle:

bash
RECUECTL="/Applications/ReCue.app/Contents/MacOS/recuectl"
"$RECUECTL" ping --format text

A successful check prints:

text
pong

If ReCue is not running, the CLI tries to launch it in the background. When the app is installed elsewhere, run Contents/MacOS/recuectl from that app bundle or set RECUE_APP_PATH to the app’s path.

Commands

CommandAction
pingCheck whether ReCue’s local interface is available
search [--] [query]Search projects, windows, tabs, app names, and notes; an empty query returns the panel’s default list
select-project <uuid>Make a project current without recalling its windows
restore-window <uuid>Recall one saved window or tab
restore-project <uuid>Recall the windows and tabs in a project that are currently available
add-windowSave the current window to the current project
add-tabSave the current tab to the current project

Read project and window UUIDs from the JSON returned by search:

bash
"$RECUECTL" search --format json -- "Chrome"
PROJECT_ID="..."
WINDOW_ID="..."
"$RECUECTL" select-project "$PROJECT_ID" --format text
"$RECUECTL" restore-window "$WINDOW_ID" --format text
"$RECUECTL" restore-project "$PROJECT_ID" --format text

Save the current window or tab:

bash
"$RECUECTL" add-window --format text
"$RECUECTL" add-tab --format text

Output formats

  • json: the default. It returns a versioned response with version, requestID, and ok; search results are in items, action results in action, and failures in error.
  • text: intended for ping and action commands, and prints the result message directly.
  • alfred: available only for search, and returns Alfred Script Filter JSON.

--format can follow the command arguments. Add -- before a query that begins with a hyphen so it is not treated as an option.

Exit status

StatusMeaning
0Success
2Invalid command, argument, or UUID
3ReCue could not be launched, or local communication failed
4ReCue received the request, but the action failed

Permissions and local communication

Saving and recalling still depend on ReCue’s Accessibility and Automation permissions. recuectl communicates with ReCue through a Unix domain socket restricted to the current user; it never opens the SwiftData database directly or concurrently. Using the CLI does not upload window or project data.