A Raycast extension that brings your Super Productivity tasks, projects, tags, and current tracker into Raycast — and lets you start or resume tracking a task from the keyboard with a focus session auto-starting in Super Productivity when its autoStartFocusOnPlay toggle is enabled.
Features · Install · Auto-focus on tracking · Commands · Keyboard shortcuts · Architecture · Development · FAQ
timeSpent > 0) show Resume Tracking (X.Xh spent) with a rewind icon (↻), so picking up where you left off is one keystroke.Enter (Start/Resume), Cmd+Shift+C (Complete), Cmd+E (Archive), Cmd+Backspace (Delete), Cmd+R (Refresh), Cmd+[ (Back), and more (see Keyboard shortcuts below).+project #tag @tomorrow 30m).127.0.0.1:3876 by default).Settings → Misc → Enable local REST API turned on (default http://127.0.0.1:3876).git clone https://github.com/pvnkmnk/raycast-super-productivity.git
cd raycast-super-productivity
npm install
npm run dev # opens Raycast dev with the extension live-reloading
The default preference apiBaseUrl is http://127.0.0.1:3876. Change it in Raycast preferences if your SP instance runs elsewhere.
TL;DR. Enable Pomodoro + the “Start a focus session when I start tracking a task” toggle in Super Productivity. After that, starting any task from this extension will also auto-start a focus session — because that toggle listens for the same
/tasks/{id}/startevent this extension uses, which is indistinguishable from pressing the UI’s Play button.
➡️ Full step-by-step setup guide: docs/FOCUS-SESSIONS.md.
Super Productivity’s Pomodoro / focus system is designed as a state attached to an active task, not as an independent timer. Internally the toggle is named autoStartFocusOnPlay; in the UI it’s labelled “Start a focus session when I start tracking a task”. When enabled it creates (or resumes) a focus session whenever a task timer starts — regardless of whether the start call comes from the in-app UI, a keyboard shortcut, or the Local REST API.
This extension calls POST /tasks/{id}/start (via startTask in src/api.ts) — the same endpoint the UI’s Play button uses — so the toggle hooks in transparently. From your perspective: pick a task in Raycast → press Return → open SP and the focus-mode overlay/Pomodoro timer is already running against that task.
autoStartFocusOnPlay).If starting a task from Raycast only starts the timer and not the focus session, see Troubleshooting below — there is a known product limitation that the SP maintainers track separately.
| Command | Mode | What it does |
|---|---|---|
| Show Task in Menu Bar | menu-bar | Live readout of the currently tracked task + elapsed time. |
| View Tasks | view | Browse, search, filter by project/tag, start tracking, complete, archive, delete. Starting tracking here also starts a SP focus session if enabled. |
| Today’s Tasks | view | Tasks in Super Productivity’s Today list; same actions. |
| Create Task | view | Form: title / notes / estimate / due date / project / tags. |
| Current Task | view | Currently-tracking panel + recent-task picker for one-key start. Starting tracking here also starts a SP focus session if enabled. |
| Quick Add Task | view | Natural-language: +project #tag @tomorrow 30m. |
| Scheduled Tasks | view | Grouped overdue / today / tomorrow / this week / later. |
| Archived Tasks | view | Browse archived, restore, delete permanently. |
| Manage Tags | view | CRUD tags (name, color). |
| Browse Projects | view | Project list with per-project task drill-down. |
Every command that has a Start / Resume Tracking action — View Tasks, Today’s Tasks, Project drill-down, Current Task — participates in the Auto-focus on tracking flow. The HUD toast confirms the side-effect:
▶️ Task started — focus session will start automatically if Pomodoro +
autoStartFocusOnPlayare enabled in SP.
Press Enter on any task to invoke Start Tracking or Resume Tracking. Other common actions have explicit shortcuts:
| Action | Shortcut |
|---|---|
| Mark Complete | Cmd+Shift+C |
| Archive | Cmd+E |
| Delete / Delete Permanently | Cmd+Backspace |
| Refresh | Cmd+R |
| Back to Projects | Cmd+[ |
| Create / Delete Tag | Cmd+N / Cmd+Backspace |
Resume Tracking swaps in automatically when a task has prior tracked time — instead of Start Tracking (▶) it shows Resume Tracking (X.Xh spent) with a rewind icon (↻), so you can see at a glance which tasks already have context. Available in View Tasks, Today's Tasks, Scheduled Tasks, Browse Projects (drill-down), and Current Task.
In Archived Tasks, Enter triggers Restore, and Delete Permanently is bound to Cmd+Backspace (Archived has no Mark Complete — restore a task first, then complete it from a live view).
┌─────────────────┐ Local REST API ┌──────────────────────┐
│ Raycast │ POST start / │ Super Productivity │
│ extension │ ─ GET status … │ desktop app │
│ (this repo) │ http://127.0.0.1 │ (port 3876) │
└─────────────────┘ :3876 └──────────────────────┘
│
│ autoStartFocusOnPlay
▼
┌────────────────┐
│ Focus / │
│ Pomodoro │
└────────────────┘
autoStartFocusOnPlay to wire /tasks/{id}/start to the focus-session start, exactly as if the user had clicked Play in the UI.npm install
npm run dev # ray develop — hot reload
npm run lint
npm test
npm run build
No — Super Productivity does not expose a focus-session API. We trigger the same internal event the UI’s Play button does; the “Start a focus session when I start tracking a task” toggle is what bridges that event to a focus session.
Inbox and tags — is that configurable?No, those come from the SP /projects and /tags endpoints. Filter by tag is one of the cooler features; the inbox value is a synthetic project meaning “no project assigned.”
3876?Change the API Base URL preference in this extension’s Raycast preferences.
autoStartFocusOnPlay was added in the focus-mode overhaul.autoStartFocusOnPlay to Local REST API starts — see the open issue. Until then you have two workarounds: (a) start tracking manually in SP, or (b) use Raycast Focus alongside this extension for distraction blocking while SP tracks time.MIT