Skip to content
v0.13.0

Keys

markdown

Every key tsk binds, by surface. Press ? on the board or the task page for the same list, searchable. Clicks are on Mouse.

Status, edit, delete, and archive keys take ctrl. Bare letters move, open, and filter.

ActionKey
Move up / down through tasks and group headers↑ / ↓ or k / j
Open the task pageEnter
Peek / close the peek, below 110 columns→ / ← or l / h
Add a task+
Edit titlectrl+e
Start, a blocked task too; an assigned task dispatches to its agentctrl+s
Set readyctrl+n
Set open (back to the inbox)ctrl+o
Mark donectrl+d
Toggle blocked / ready; blocking opens the block cardctrl+b
Toggle review / ready; review opens the review cardctrl+r
Delete, with a second press to confirmctrl+x or ctrl+Delete
Undo the last change (what undoes)ctrl+u
Archive / restorectrl+f
Assign to an agent, you, or a person, or none@
Reply to a blocked row, or give feedback on a review rowr
Open / close the done drawerd
Group by none, project, thread, or assigneeg
Sort by recent, project, thread, title, or assignee; on the Projects view, sort the projectss
Fold / unfold the cursor’s groupf
Fold / unfold every group in viewshift+F
Hide / show agent messages, the live lines under rowsz
Open the desk / last project / Projects view1 / 2 / 3
Pick a projectp
Filter by thread, project, or assigneet
Choose a view on the Projects viewv
Search the board/
Command palette:
All keys?
  • On the desk, t filters by thread, project, or assignee. On a project board it filters by thread or assignee.
  • Bare d, s, and f open the drawer, sort, and fold. With ctrl they mark done, start, and archive.

Group sub-headers, the inbox, and archived in the done drawer are headers.

ActionKey
Fold an open header / unfold a folded one← / → or h / l
Open a sub-header’s board: its project, the desk, or its thread’s or assignee’s viewEnter
Mark every task under a sub-header, unfolding itshift+M
  • With nothing to fold or unfold, ← and → keep their usual meaning: the peek, or the wide slider.
  • no thread, unassigned, desk on the desk, the inbox, and archived open nothing.
ActionKey
Start / stop multi-selectshift+M
Mark / unmark the cursor taskSpace
Mark the current task, then moveshift+↑ / shift+↓
  • With tasks marked, status keys, ctrl+x, ctrl+f, @, and the palette’s set commands act on the whole set. Enter, ctrl+e, and task-page keys stay on the cursor.
  • ctrl+s starts each open, ready, or blocked task in the set and skips the rest.
  • ctrl+b and ctrl+r skip done tasks and send the rest to blocked or review through one card. If every one already has that status, they all return to ready.
  • ctrl+n and ctrl+o also reopen done tasks.
  • One ctrl+u reverses the whole set.
  • Removing the last mark keeps multi-select on. shift+M on a task, Esc, any task action, or a change of view leaves it and clears the marks.
  • In a text field, shift+M types M.

ctrl+b opens the block card and ctrl+r the review card. One card covers a whole marked set.

ActionKey
Next / previous field: why · on · needs, or done · check · next · onTab / shift+Tab
Cycle the on field: you · task · other, or you · agent · other← / →
New check line, in the review card’s check fieldshift+Enter
Block, or set review; an empty card does it with no textEnter
Cancel; the marks stayEsc or ctrl+c

A decision card asks before a start or a cleanup. What each card does.

CardOptions
Start anyway: the task still waits on othersy start
Relaunch: the assigned agent is goney relaunch · n just start
Start a marked sety start and launch every listed task
Cleanup: done with a live dispatchm merge and tidy up · y tidy up · n complete only
Archived project at launchy restore · n keep archived
ActionKey
Run an optionits letter
Move the ▸ cursor, then run it↑ / ↓, then Enter
Scroll a long cardpage keys or the wheel
Cancel, keeping any marksEsc, or click [x] or esc cancel
Keep the project archived (archived-project card)Esc or n
  • A card shows only the options that apply.
  • An Enter pressed as the card opens is ignored.
  • A click selects an option line; a double-click runs it.
  • After cleanup starts, Esc hides the card while cleanup continues.

In view mode, before you start an edit:

ActionKey
Close the pageEsc
Move among steps (↓ selects the first); otherwise scroll↑ / ↓ or k / j
Walk the top line, options or checks, replies, steps, + step, and the paper trailTab / shift+Tab
Check / uncheck the selected stepEnter
Add a step below the selected one, else at the endctrl+a
Move the selected step up / downalt+↑ / alt+↓
Edit the title, or the selected step, block, review, or replyctrl+e
Mark the selected step for removal, then remove itctrl+x
Delete your selected reply; with nothing selected, delete the taskctrl+x
Assign to an agent, you, or a person@
Expand / collapse the paper trailg, or Enter on its heading
Expand / fold a closed block or review roundEnter
Status, undo, and archive, on this taskthe board’s ctrl keys
Command palette:
All keys?

On a blocked page or a review:

ActionKey
Reply to the block, or give feedback on the reviewr
Reply with option N, prefilled1…9, or Enter on the option
Unblock, or send the review back, with nothing typedctrl+s
Approve the reviewctrl+d
Change who it waits onw, or Enter on the top line
Cycle the selected check: open → passed → failed → openEnter
Show / fold the passed checksEnter on the N passed line
  • Keys inside the reply and feedback box: Blocked and Review.
  • Digits pick options on the task page. 1 2 3 switch views only on the board.
  • alt+↑ / alt+↓ also work while editing, with a step selected and no field open.
  • Your terminal must send alt+↑ as one modified key, as xterm does by default. A terminal that sends Option or Alt as a leading Esc closes the page instead.
ActionKey
Save the task editshift+Enter
Cancel the fieldEsc or ctrl+c
Next / previous fieldTab / shift+Tab
Title: move to NotesEnter
Notes: new lineEnter
Notes: move through wrapped lines↑ / ↓
New step: save it and open the next rowEnter
Existing step: keep the rename in this editEnter
Add a step from a selected step, + step, the Scope row, or a selected Threadctrl+a
Stage removal of the selected stepctrl+x
Open the Scope, Assignee, Base, or After picker; confirm the choice. In the After picker, Enter pins and shift+Enter savesEnter
Cycle Scope or Assignee without opening itSpace or ← / →
Open / close the Thread editorEnter
Line start / endHome / End or ctrl+a / ctrl+e
Word left / rightalt+← / alt+→, ctrl+← / ctrl+→, or alt+b / alt+f
Delete a character backward / forwardBackspace / Delete
Delete a word backwardalt+Backspace or ctrl+w
Delete a word forwardalt+Delete or alt+d
Delete to line start / endctrl+u / ctrl+k

In the step editor, ctrl+d and ctrl+o still act on the task, and ctrl+x stages the step’s removal until the task edit is saved. In a new step’s row, ctrl+x discards that row, as Esc does.

  • Field order: Edit.
  • The word and line keys work in every text field: Title, Notes, steps, Thread, and quick-add.
  • A word is a run of non-space characters, as with Option+arrow in macOS. In Notes, word moves cross line breaks and a word delete stops at one.
  • In Notes, ctrl+u at a line start joins the line above, and ctrl+k at a line end joins the next line.
  • Search, the palette, Help, and the pickers you type into have no cursor. There, alt+Backspace and ctrl+w delete the query’s last word, and ctrl+u and ctrl+k do nothing. The assignee picker’s ctrl+u is the exception: it puts back a removed name.
  • Outside text fields, ctrl+u is undo.
  • Paste keeps line breaks in Notes and turns them into spaces in one-line fields.
  • On macOS, Cmd+← and Cmd+→ arrive as ctrl+a and ctrl+e, and Cmd+Backspace as ctrl+u.
  • On macOS, Option reaches tsk only when the terminal sends it as Meta. Turn on Terminal.app’s Use Option as Meta key, or set iTerm2’s Option key to Esc+. If Option+B types ∫, use ctrl+←, ctrl+→, and ctrl+w.
  • On Windows, AltGr letters type as characters.

Some terminals send a plain line feed for shift+Enter, such as Ghostty with keybind = shift+enter=text:\n. tsk reads it as ctrl+j and changes nothing. In a form or the After picker it shows Shift+Enter sent Ctrl+J: check terminal keys. Remove the binding, or map shift+Enter to a sequence that keeps the Shift modifier.

ActionKey
Save and closeEnter
Save and keep addingshift+Enter
Open notes and detailsTab
Cancel the line, or return from detailsEsc

In the Herdr popup, shift+Enter saves and closes it. Esc or ctrl+c discards the popup, after first closing an open step editor or picker. Capture.

SurfaceKeys
Project picker (p)↑ / ↓ or j / k select · Tab or ← / → switch tabs · s changes the order · Enter opens · Esc or q closes
Project picker, archivectrl+f archives the selected project · on the archived tab, ctrl+f or ctrl+u restores
Archived project’s boardctrl+u restores · Esc, p, or 1–3 leaves
Filter and view pickers (t, v)type to filter · ↑ / ↓ select · Tab or ← / → switch tabs, shift+Tab back · Enter chooses · Esc closes
Group, sort, assignee, and base pickerstype to filter · ↑ / ↓ or Tab / shift+Tab select · Enter applies · Esc closes with no change
Assignee and waiting-on pickers, type a name…the row shows what you typed, such as @dana · Enter applies it
Assignee picker, a person selectedctrl+x removes the name from the list · ctrl+u puts it back
Waiting-on pickeras the assignee picker, and ← / → also move
After pickertype a number or words · ↑ / ↓ select · Enter pins a match or unpins a pinned task · ctrl+x unpins every task · shift+Enter saves the pinned tasks · Esc closes with no change
Board search (/)type or paste · Backspace · Enter pins the query · Esc clears and closes
Palette (:)type to filter · ↑ / ↓ or Tab / shift+Tab select · Enter runs · Esc closes
Help (?)type to filter by key or action · ↑ / ↓, page keys, or the wheel scroll · Esc clears the search, then closes
Failed saver or Enter retries · c or Esc cancels
  • The base and after pickers have no key. Open them from the palette (set base, set after (wait for)…), the task page footer, or the edit form’s Base and After fields.
  • h, j, k, l, ?, and / are text wherever you type: text fields, search, the palette, Help, and the pickers you type into.

At 110 usable columns or wider, → / l and ← / h move through the wide stage slider while you are not editing. Wide layout.

View→ / l← / hEsc
BoardSplitNo changeQuit at root
Split, board focusedTask with railBoardBoard
Task with railFull screenSplitSplit
Full screenNo changeTask with railReturn to the view remembered when opening

Enter from the board opens full screen and remembers the view to return to. Tab never changes the view.

On the Projects view:

Stage→ / l← / hEsc
Full boardSplit previewNo changeQuit at root
Split, index focusedRailFull boardFull board
Rail, right board focusedNarrow board keysReturn to indexReturn to index

With the right board focused, board keys act on that board.

ActionKey
Close the top layer: a picker, the palette, Help, search, the peek, the task page, or the right columnEsc
Quit at the board root, with no confirmationEsc
Quit from any surface except text entryctrl+q
Quit from the board, the task page, quick-add details, Help, or the archived-project cardctrl+c
Cancel a field, an edit, the block or review card, or the reply boxEsc or ctrl+c
  • With tasks marked, Esc first leaves multi-select and clears the marks. In a picker you type into, a card, or the reply box, it closes that first and keeps them.
  • At the board root, Esc quits from any tab. It does not go back to the desk. With the cursor on the inbox or archived header, it does nothing.
  • On an archived project’s board, Esc returns to the desk.
  • In a wide split, Esc closes the right column once no editor or overlay is open. If narrowing the terminal hides the right column, Esc quits at once.
  • ctrl+q does not quit from a text field, board search, the quick-add line, the palette, the block or review card, or the reply box.
  • Unsaved work blocks quitting and closing the Projects view’s right board. Save or cancel the draft first. During a failed save, retry or cancel it first.