43 3.03 Keyboard Shortcuts
github-actions[bot] edited this page 2026-11-12 20:04:02 +00:00

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 bar
  • Shift+P: Open create project dialog
  • Alt+N: Add new note
  • Shift+D: Focus Sidenav
  • Shift+N: Show/Hide Notes
  • C: Open the Filter/Group/Sort menu (task lists only)
  • P: Show/Hide Issue Panel
  • Shift+F: Show search bar
  • B: Show/Hide Task Backlog
  • W: Go to Work View and focus first task
  • F: Enter Focus Mode
  • Shift+T: Go to Today
  • Shift+S: Go to Schedule
  • Shift+L: Go to Planner
  • <no default binding>: Go to Settings
  • Ctrl+=: 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 as Shift+/)

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 mode
  • Ctrl+2: Toggle note field
  • Ctrl+3: Toggle add to top / bottom of list
  • Ctrl+4: Open project selector
  • Ctrl+5: Open schedule dialog (set due date/time)
  • Ctrl+6: Open tags selector
  • Ctrl+7: Open estimate selector
  • Ctrl+8: Open repeat settings
  • Ctrl+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, Tab just 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 (Enter then 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 Title
  • I: Show/Hide additional task info
  • N: Open note/checklist in task panel
  • T: Edit estimation / time spent
  • S: Open schedule dialog for currently focused task
  • Shift+S: Open deadline dialog for currently focused task
  • D: Toggle done for the currently focused task
  • A: Add subtask to currently focused task
  • Ctrl+D: Duplicate the currently focused unfinished parent task and its subtasks
  • L: Attach file or link
  • Enter: Edit currently focused task title
  • Backspace: Delete currently focused task
  • E: Open move task to project menu
  • Q: Open task context menu
  • K: Select previous Task
  • J: Select next Task
  • Ctrl+Shift+ArrowUp: Move currently focused task up in list
  • Ctrl+Shift+ArrowDown: Move currently focused task down in list
  • Ctrl+Alt+ArrowUp: Move currently focused task to the top
  • Ctrl+Alt+ArrowDown: Move currently focused task down to the bottom
  • Shift+B: Move Task to Task Backlog
  • Shift+T: Move Task to Today's Task List
  • <no default binding>: Expand Sub Tasks
  • <no default binding>: Collapse Sub Tasks
  • Y: 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 row
  • X (configurable as Toggle task in multi-selection): Toggle the focused task in the selection
  • Ctrl+A / Cmd+A: Select every task in the focused task's list
  • Escape: 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 task
  • E, 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, ArrowUp focuses the preceding subtask or parent task, and ArrowDown focuses 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 task
  • Escape: Unfocus the current task, so the focus outline disappears and the arrow keys stop navigating the list (with tasks selected, the first Escape clears the selection and a second one unfocuses the task)
  • Escape while dragging a task: Cancel the drag, so the task stays where it was when you release it over a task list
  • Ctrl+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 / J by 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, or K / 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+Up moves 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+Down on 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 group
  • ArrowRight: Expand the focused group
  • Shift+ArrowLeft: Collapse all groups
  • Shift+ArrowRight: Expand all groups
  • Enter or Space: 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-task close 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.
  • F11 toggles 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/.rpm packages 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, so xdg-mime query resolves to that id rather than a plain superproductivity.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+S opens the deadline dialog if a task is focused, but navigates to the Schedule view if no task is focused. Similarly, Shift+T schedules 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.