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
- 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,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: Toggle Filter/Group/Sort PanelP: 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 Schedule<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. Enable Include completed and archived tasks in the search view to include older completed results.
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: Mark currently focused task as doneA: 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. 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
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 taskCtrl+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 or use Tab to focus it. Double-click a card to open its details, or use these keyboard controls:
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. Planner's compact cards open details with Enter rather than editing the title inline.
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.
Platform-Specific Differences
Electron/desktop only:
- Global shortcuts (
globalShowHide,globalToggleTaskStart,globalAddNote,globalAddTask) work system-wide when the app is running. - 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://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.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.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.