Table of Contents
- Keyboard Shortcuts
- Functional Grouping
- Global Shortcuts
- Desktop Window (unconfigurable)
- Add Task Bar (while the add bar input is focused)
- Tag Input (while the tag suggestions are open)
- Tasks
- Planner
- Boards
- Collapsible Groups
- Platform-Specific Differences
- Global Shortcuts on Wayland (URL scheme)
- Plugin Shortcuts
- Configurable Vs Reserved
- Context-Dependent Behavior
- Conflict and Precedence
- Storage and Definition
- Notes
Keyboard Shortcuts
Super Productivity supports an extensive keyboard shortcut system. Shortcuts are grouped by function, and most are user-configurable via 3.02-Settings-and-Preferences.
Functional Grouping
Configurable shortcuts fall into these categories:
- Global (system-wide):
globalShowHide,globalToggleTaskStart,globalAddNote,globalAddTask. Available only in the Electron/desktop build. - Navigation:
goToFocusMode,goToWorkView,goToScheduledView,goToPlanner,goToTimeline,goToSettings. - Task management:
taskToggleDone,taskAddSubTask,taskSchedule,taskDelete,taskEditTitle, move/select task actions, and others. - UI panels:
toggleIssuePanel,toggleBacklog,toggleTaskViewCustomizerPanel,addNewTask,addNewProject,addNewNote,focusSideNav,openProjectNotes,showSearchBar,triggerSync,showHelp, zoom.
The project README (keyboard shortcuts section) lists a subset of the most commonly used defaults.
Global Shortcuts
These work everywhere in the app.
Shift+A: Open add task barShift+P: Open create project dialogAlt+N: Add new noteShift+D: Focus SidenavShift+N: Show/Hide NotesC: Open the Filter/Group/Sort menu (task lists only)P: Show/Hide Issue PanelShift+F: Show search barB: Show/Hide Task BacklogW: Go to Work View and focus first taskF: Enter Focus ModeShift+T: Go to TodayShift+S: Go to ScheduleShift+L: Go to Planner<no default binding>: Go to SettingsCtrl+=: Zoom in (Desktop/Firefox/Chrome)Ctrl+-: Zoom out (Desktop/Firefox/Chrome)Ctrl+0(zero): Zoom default (Desktop/Firefox/Chrome)Ctrl+S: Trigger sync (if configured)?: Show the keyboard shortcut cheat sheet (usually typed asShift+/)
The cheat sheet lists your current shortcuts, including plugin shortcuts, so it reflects any bindings you have changed in 3.02-Settings-and-Preferences. While left at its ? default, the shortcut matches the ? character itself, so it also works on layouts where ? sits on a different key. Like every other shortcut it can be rebound or removed in the keyboard settings.
The search bar searches open tasks by default, plus tasks deleted on this device in the last 30 days (marked Deleted; selecting one restores it). Enable Include completed and archived tasks in the search view to include older completed results.
There is no app-wide undo. Ctrl+Z / Cmd+Z and Edit → Undo on desktop only undo typing in the focused text field. To reopen a task you marked done, click its checkbox again, press D with the task focused, or choose Mark as not completed in its context menu. Deleting a task or removing its plan date shows an Undo button in the confirmation message instead.
Desktop Window (unconfigurable)
F11: Toggle full-screen mode. Available only in the Electron/desktop build.
Add Task Bar (while the add bar input is focused)
Ctrl+1: Toggle issue-search modeCtrl+2: Toggle note fieldCtrl+3: Toggle add to top / bottom of listCtrl+4: Open project selectorCtrl+5: Open schedule dialog (set due date/time)Ctrl+6: Open tags selectorCtrl+7: Open estimate selectorCtrl+8: Open repeat settingsCtrl+9: Open deadline dialog (set hard deadline)Ctrl+Enter: Reveal the note field (or add the task when the note is focused)
Tag Input (while the tag suggestions are open)
Applies to the tag field in the task detail panel and to the tag pickers in the repeat and issue-provider dialogs.
Tab: After typing, add the highlighted suggestion, or the first one if none is highlighted (on an empty field,Tabjust moves focus on)Enter: Add the tag whose name matches the typed text exactly, or create a new tag from the typed text↑/↓: Highlight a suggestion (Enterthen adds it)Shift+Tab: Leave the field without adding anything; the typed text is discarded
Tasks
The following shortcuts apply for the currently selected task (selected via tab or mouse).
<no default binding>: Edit TitleI: Show/Hide additional task infoN: Open note/checklist in task panelT: Edit estimation / time spentS: Open schedule dialog for currently focused taskShift+S: Open deadline dialog for currently focused taskD: Toggle done for the currently focused taskA: Add subtask to currently focused taskCtrl+D: Duplicate the currently focused unfinished parent task and its subtasksL: Attach file or linkEnter: Edit currently focused task titleBackspace: Delete currently focused taskE: Open move task to project menuQ: Open task context menuK: Select previous TaskJ: Select next TaskCtrl+Shift+ArrowUp: Move currently focused task up in listCtrl+Shift+ArrowDown: Move currently focused task down in listCtrl+Alt+ArrowUp: Move currently focused task to the topCtrl+Alt+ArrowDown: Move currently focused task down to the bottomShift+B: Move Task to Task BacklogShift+T: Move Task to Today's Task List<no default binding>: Expand Sub Tasks<no default binding>: Collapse Sub TasksY: Toggle tracking time to currently focused task
Selecting several tasks
Ctrl+click (Cmd+click on macOS) toggles a task into a multi-selection and Shift+click selects the range from the last toggled task, or from the focused task if nothing is selected yet. While tasks are selected, a bar at the bottom of the list shows the count and an Actions menu, and the bulk-capable task shortcuts below act on the whole selection instead of the focused task. See 2.03-Add-Tasks → Edit several tasks at once.
Shift+ArrowDown/Shift+ArrowUp: Extend (or shrink) the selection from the focused task by one rowX(configurable as Toggle task in multi-selection): Toggle the focused task in the selectionCtrl+A/Cmd+A: Select every task in the focused task's listEscape: Clear the selection (when no dialog or menu is open)D,Backspace,S,Shift+S,Shift+T,U,Shift+B: Apply done, delete, schedule, deadline, add to today, unschedule and move to backlog to every selected taskE,G,T,Q: Open the actions menu for the selection (project, tags, estimate, everything else)Ctrl+Shift+click: Add a range to the existing selection
In the project section view, Shift-click spans visible parent tasks across the root list and sections in displayed order, excluding nested subtasks. Shift+Up/Down and Ctrl/Cmd+A remain within the focused list. Done, backlog, grouped views, and subtask lists retain separate range boundaries.
All other task shortcuts keep acting on the focused task only.
Unconfigurable
Arrow keys: Navigate around task list- In an empty or whitespace-only add-subtask input,
ArrowUpfocuses the preceding subtask or parent task, andArrowDownfocuses the next task when available. At the end of the list, focus stays on the closest task row or control. ArrowRight: Open additional info panel for currently focused taskEscape: Unfocus the current task, so the focus outline disappears and the arrow keys stop navigating the list (with tasks selected, the firstEscapeclears the selection and a second one unfocuses the task)Escapewhile dragging a task: Cancel the drag, so the task stays where it was when you release it over a task listCtrl+C/Cmd+C: Copy the currently focused task and its sub tasks to the clipboard as a markdown checklist (e.g.- [ ] Parent, with each sub task indented by two spaces as- [x] Sub task) when focus is on the task, no text is selected, and focus is not inside an input
Planner
Planner supports keyboard navigation and task multiselect on overdue, all-day, and timed task cards. Click a card to open its details, or use Tab to focus it without opening them. These keyboard controls act on the focused card:
ArrowUp/ArrowDown, or your previous/next task shortcuts (K/Jby default): Move between tasks in the same day.ArrowLeft/ArrowRight: Move to a task in the previous/next day containing tasks.Enter: Open task details.Ctrl+Shift+Left/Ctrl+Shift+Right: Move the focused task one day earlier or later, preserving its scheduled time and reminder.- Task shortcuts for completion, time tracking, scheduling, deadlines, unscheduling, deletion, estimates, and the context menu use your configured bindings.
- Task movement shortcuts reorder all-day tasks within their day. Timed tasks keep their time order.
The selection controls listed under Selecting several tasks also work in Planner. Shift-click, Shift+Up/Down, and Ctrl/Cmd+A stay within the focused day's tasks, including all-day and timed cards. Overdue tasks form a separate selection group. Ctrl/Cmd-click can build a selection across days. The existing bulk actions menu and bulk-capable shortcuts act on that selection.
Deadline markers, calendar events, and repeat previews are outside task multiselect. The same task can appear both as a task card and a deadline marker. A deadline marker opens the task's details on click, or with Enter when focused via Tab. Planner's compact cards open details with Enter rather than editing the title inline.
Boards
Board cards support the Planner task shortcuts and the selection controls above.
Click a card or use Tab to focus it; double-click or Enter opens task details.
On touch devices, a single tap opens task details outside selection mode.
The scheduling icon and its Today/date label appear on the right side of the card.
ArrowUp/ArrowDown, orK/J: Navigate within a panel.ArrowLeft/ArrowRight: Navigate to the visually adjacent panel in the same grid row, keeping the task row position where possible. Navigation does not wrap to another grid row. An empty panel focuses its add-task button; Left/Right from that button continues between panels.Ctrl+Shift+Up/Ctrl+Shift+Down: Reorder within a manually ordered panel. Focus stays on the moved card. If the focused card is first,Ctrl+Shift+Upmoves it to the end of the panel directly above, if one exists. An automatically sorted destination places it according to its sort order. Likewise,Ctrl+Shift+Downon the last card moves it to the start of the panel directly below, if one exists, keeping focus on that card.Ctrl+Alt+Up/Ctrl+Alt+Down: Move to the top/bottom of a manually ordered panel.Ctrl+Shift+Left/Ctrl+Shift+Right: Move to the visually adjacent panel on the left/right, without wrapping to another grid row.
The reorder shortcuts use your configured task movement bindings. When the focused card is selected, movement applies to the selection. All selected tasks must be present in the source panel; otherwise moving, reordering and dragging the selected group do nothing. Dragging a selected card also moves the selection. Automatically sorted panels accept incoming tasks but keep their configured sort.
Shift-click, Shift+Up/Down and Ctrl/Cmd+A select within one panel. Ctrl/Cmd-click can select across panels. A task appearing in multiple panels counts once, and its copies show the same selection. Switching boards clears the selection. On touch devices, use Select several tasks… in a task's context menu, then tap cards to toggle them; dragging and swiping are suspended during selection.
Moving to a panel applies its filters, just like dragging: tags, project, completion and scheduling/backlog rules can change. A task can still appear in its original panel if it matches both panels. If the destination requires scheduling, one dialog chooses a date for the unscheduled tasks; cancelling it cancels the move.
Collapsible Groups
The following shortcuts apply when focus is on a collapsible group header (e.g., task groupings in Work View like From previous days, Today, Done, Recurring, etc.).
ArrowLeft: Collapse the focused groupArrowRight: Expand the focused groupShift+ArrowLeft: Collapse all groupsShift+ArrowRight: Expand all groupsEnterorSpace: Toggle the focused group
These shortcuts are unconfigurable and always available on group headers.
Select previous Task and Select next Task also move to the adjacent row from a group header, using your configured bindings (K and J by default). ArrowUp and ArrowDown move to the adjacent row as well. Collapsed groups remain navigable, while their hidden tasks are skipped.
Platform-Specific Differences
Electron/desktop only:
- Global shortcuts (
globalShowHide,globalToggleTaskStart,globalAddNote,globalAddTask) work system-wide when the app is running. - Global Add Task and
superproductivity://add-taskclose an open fullscreen note editor before opening the add-task bar. For a new note with content or unsaved edits to an existing note or task note, a prompt asks whether to Save or Discard. Dismissing the prompt keeps the editor open without opening the task bar. An unchanged editor closes without a prompt. - Window zoom controls (
zoomIn,zoomOut,zoomDefault) are desktop-only. F11toggles full-screen mode for the main window.Cmd+W(macOS only) hides the main window; the app keeps running and clicking the Dock icon brings the window back. This shortcut is unconfigurable.
Linux (Wayland):
- Electron's built-in global shortcuts often do not register, because Wayland deliberately leaves global hotkeys to the compositor. Bind your compositor's keys to the URL scheme instead (see below).
Android:
- Keyboard settings are not shown on Android; the keyboard configuration UI is hidden.
Global Shortcuts on Wayland (URL scheme)
On Wayland the compositor — not the application — owns global hotkeys, so the built-in global shortcuts above may not fire. Super Productivity registers the superproductivity:// URL scheme, and the already-running instance handles these URLs, so you can bind compositor keys to them with the standard xdg-open command (part of xdg-utils, already present on virtually every Linux desktop — no extra tool or runtime to install).
Available fire-and-forget actions:
| URL | Equivalent shortcut | Effect |
|---|---|---|
superproductivity://toggle-visibility |
globalShowHide |
Show/focus the window, or hide it |
superproductivity://add-task |
globalAddTask |
Show the window and open the add-task bar |
superproductivity://add-note |
globalAddNote |
Show the window and open the add-note dialog |
superproductivity://today |
— | Show the window and open the Today view |
superproductivity://inbox |
— | Show the window and open the Inbox |
superproductivity://task-toggle-start |
globalToggleTaskStart |
Start/pause tracking the current task |
superproductivity://create-task/<title> |
— | Create a task with the URL-encoded <title> (also accepts ?title=, ?notes=, ?projectId=). Surrounding whitespace is trimmed and Short Syntax is not parsed. See 3.01-API for the full contract. |
superproductivity://complete-task?title=<title> |
— | Complete the single unfinished top-level task matching the URL-encoded <title>, which must be a query parameter (there is no path form). Surrounding whitespace is trimmed; an exact match wins, otherwise an unambiguous substring match. See 3.01-API for the full contract. |
Run any of them manually to test:
xdg-open "superproductivity://toggle-visibility"
Then bind them in your compositor. Examples:
// Niri (config.kdl)
binds {
Mod+Shift+S { spawn "xdg-open" "superproductivity://toggle-visibility"; }
Mod+Shift+A { spawn "xdg-open" "superproductivity://add-task"; }
}
# sway / i3 (~/.config/sway/config)
bindsym $mod+Shift+s exec xdg-open "superproductivity://toggle-visibility"
bindsym $mod+Shift+a exec xdg-open "superproductivity://add-task"
# Hyprland (~/.config/hypr/hyprland.conf)
bind = $mainMod SHIFT, S, exec, xdg-open "superproductivity://toggle-visibility"
bind = $mainMod SHIFT, A, exec, xdg-open "superproductivity://add-task"
If xdg-open does not reach the app, confirm the desktop entry registers the scheme with xdg-mime query default x-scheme-handler/superproductivity (it should print Super Productivity's .desktop file). The same mechanism works on X11; it is only required on Wayland.
Packaging note: the
.deb/.rpmpackages register the scheme at install time. With the AppImage you must integrate it into your desktop first (e.g. via AppImageLauncher), otherwise nothing registers the scheme. Flatpak/Snap register it via their own packaged desktop file, soxdg-mime queryresolves to that id rather than a plainsuperproductivity.desktop.
Plugin Shortcuts
Plugins can add their own shortcuts. They are listed under Plugin Shortcuts in the keyboard settings as <shortcut label> (<plugin id>) and ship without a default binding, so they do nothing until a key is assigned. They are matched after all built-in shortcuts, and matching does not stop there: a combination already used by a built-in shortcut triggers both, so pick a free one. Held keys do not repeat — a plugin shortcut runs once per press.
The bundled Automations plugin uses this for its Keyboard Shortcut trigger: every enabled rule with that trigger appears as its own entry, named after the rule. Pressing the assigned key runs that rule's actions against the task row currently focused — without a focused task, only task-independent actions (create task, snack, dialog, webhook) do anything.
Configurable Vs Reserved
All shortcuts listed in 3.02-Settings-and-Preferences are user-configurable. Users can:
- Change any shortcut by clicking the input and pressing the desired key or combination.
- Press Escape to leave the field, or Backspace or Delete to clear an existing binding.
- Have the UI warn when two actions share the same shortcut.
Shortcuts are stored in global config (GlobalConfigState.keyboard) and persist to IndexedDB; they sync across devices if sync is enabled. No shortcuts are reserved; every one can be changed or disabled.
Context-Dependent Behavior
Task-level shortcuts: Actions with a task focus (e.g. mark done, add subtask, schedule, delete, move) apply to the currently selected task. Selection is by keyboard (tab/arrows) or mouse. The 3.02-Settings-and-Preferences keyboard help text describes these as applying to "the currently selected task."
Specifically for the Next Month shortcut, the task is scheduled for the 1st day of the next month. This avoids issues with different month lengths (e.g., scheduling for the 31st when the next month only has 30 days).
Schedule week view: Ctrl+MouseWheel changes the vertical scale of the week schedule grid. The value is stored locally for future schedule visits.
Focus Mode overlay: Escape closes the overlay. If a focus session or break is running, it continues in the header focus button.
Input filtering: Application-level and task-level shortcuts are not handled when focus is in an input, textarea, or content-editable element, or when a blocking overlay (e.g. dialog) is open. This avoids shortcuts firing while typing.
Conflict and Precedence
- Input focus: When focus is in an input element or a blocking overlay is open, shortcut handling is skipped so typing is not interrupted.
- Contextual Precedence: Task-level shortcuts take precedence over global shortcuts when a task is currently focused. For example, pressing
Shift+Sopens the deadline dialog if a task is focused, but navigates to the Schedule view if no task is focused. Similarly,Shift+Tschedules the selected task for today, but navigates to the Today view otherwise. - Conflicts: The configuration UI warns if two actions are assigned the same key combination. Escape leaves the field, while Backspace or Delete clears an existing assignment.
Storage and Definition
Where shortcuts are defined:
- Config model:
KeyboardConfig(electron/shared-with-frontend/keyboard-config.model.ts). - Default mappings:
default-global-config.const.ts(keyboard section). - Settings form (which actions appear and their labels):
keyboard-form.const.ts.
Where they are stored and used:
- Saved in
GlobalConfigState.keyboard; persisted via the global config system to IndexedDB; synced when sync is enabled. - Handled at runtime by
ShortcutService; the key listener is registered in the app root (e.g.AppComponent).
Notes
The shortcut system uses the Keyboard API layout map when available so that shortcuts behave correctly across keyboard layouts (e.g. QWERTY, QWERTZ, AZERTY, Dvorak). The user's layout is detected and used for matching key events to configured shortcuts.
1.00-Quickstarts
2.00-How_To
Using Super-Productivity
- 2.01-Downloads and Install
- 2.02-Restore-Data-From-Backup
- 2.03-Add-Tasks
- 2.04-Manage-Subtasks
- 2.05-Manage-Scheduled-Tasks
- 2.06-Manage-Repeating-Tasks
- 2.07-Manage-Task-Integrations
- 2.24-Set-Up-CalDAV
- 2.08-Choose-Sync-Backend
- 2.09-Configure-Sync-Backend
- 2.19-Sync-Proton-Drive-via-rclone
- 2.20-Import-from-Todoist
- 2.21-Manage-Plugins
- 2.22-Import-from-TickTick
- 2.23-Connect-an-AI-Assistant
- 2.13-Run-with-Docker
Contributing to Super-Productivity
- 2.18-Contribute-Translations
- 2.11-Run-the-Development-Server
- 2.16-Set-Up-Development-Environment
- 2.12-Package-the-App
- 2.14-Build-for-Android
- 2.15-Develop-a-Plugin
- 2.17-Add-a-New-Issue-Integration
3.00-Reference
- 3.01-API
- 3.02-Settings-and-Preferences
- 3.03-Keyboard-Shortcuts
- 3.04-Short-Syntax
- 3.05-Web-App-vs-Desktop
- 3.06-User-Data
- 3.07-Issue-Integration-Comparison
- 3.08-Sync-Integration-Comparison
- 3.09-Theming
4.00-Concepts
Data-and-Integrations
Organizing
- 4.06-Project-View
- 4.07-Tag-View
- 4.08-Time-Estimates
- 4.09-Task-Attributes
- 4.10-Task-Notes
- 4.11-Subtasks
Planning
Doing
- 4.01-The-Today-View
- 4.02-Inbox-View
- 4.05-Board-View
- 4.14-How-Time-Is-Logged
- 4.15-Timers-and-Focus-Mode
- 4.16-Break-Reminders
- 4.17-Idle-Time
- 4.08-Time-Estimates
Reviewing
If you have further questions, please refer to the discussions page.