
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.
Access Token — optional. Super Productivity v18.16.0+ no longer issues an access token. Leave the field blank for tokenless setups. If your SP version shows a token under
Settings → Misc → Local REST API, paste it in the extension preferences and it will be sent as a Bearer token on every request.
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
Show currently tracked task and elapsed time in the menu bar
Browse, search, and manage tasks across projects
View and manage tasks in Super Productivity's Today list
Quickly create a new task with project and tags
View, start, and stop task tracking
Create a task from natural language — +project #tag @tomorrow 30m
View tasks grouped by due date — overdue, today, tomorrow, this week, and later
Browse archived tasks and restore them
Create, view, and delete tags for organizing tasks
Browse projects and view their tasks
timeSpent > 0 now surface a Resume Tracking (X.Xh spent) action with a rewind icon (↻) instead of Start Tracking (▶). Visible in View Tasks, Today's Tasks, Scheduled Tasks, Browse Projects (drill-down), and Current Task. Both paths call the same POST /tasks/{id}/start endpoint and fire the same SP focus wiring (autoStartFocusOnPlay).Enter — Start / Resume Tracking on live task views; Restore on Archived; View Tasks on Browse Projects.Cmd+Shift+C — Mark Complete (live task views).Cmd+E — Archive (live task views).Cmd+Backspace — Delete / Delete Permanently (task views and Archived); Delete Tag (Manage Tags).Cmd+R — Refresh (all list views).Cmd+[ — Back to Projects (Browse Projects drill-down).Cmd+N — Create Tag (Manage Tags).src/api.ts (24) and src/utils.ts (12) with Vitest — covering success paths, error paths, HTTP/API/connection failures, toast assertions, and edge cases. The CI workflow now runs them on every push/PR.autoStartFocusOnPlay toggle wires /tasks/{id}/start events from this extension to focus-session starts. See docs/FOCUS-SESSIONS.md for setup.CurrentTask.timeSpentOnDay type corrected from number to Record<string, number> — the SP Local REST API returns a per-day key-value map when a task is being tracked. The previous type produced NaN from value / 3600000 divisions in current-task.tsx and menu-bar.tsx; both files now sum object values.README.md gained a ## Keyboard shortcuts section with a shortcut table.docs/FOCUS-SESSIONS.md gained a ## Resume Tracking and focus sessions section explaining that Resume fires the same focus-session wiring as Start.