hasarakMinimalModern

Keyboard-first team chat: a shortcuts cheat sheet (Slack vs Discord vs Hasarak)

The shortcuts that matter for getting through chat without the mouse, side by side. Slack and Discord keys are checked against their official help pages, and the places those pages disagree with themselves are marked.

· 7 min read

Chat is the app most developers switch to most often, and usually the one they drive with the mouse. A handful of shortcuts fixes that: jump to a conversation, go through what’s unread, reply in the thread, react, get back to work.

This cheat sheet lists those shortcuts for Slack, Discord and Hasarak, organised by task rather than by app, so switching between them (or moving a team from one to another) is a matter of looking up a row.

How to read it:

  • Keys are written for Mac. On Windows and Linux, read ⌘ as Ctrl and ⌥ as Alt, unless a row says otherwise.
  • Slack keys come from Slack’s keyboard shortcuts article. Discord keys come from its commands, shortcuts and navigation guide and its older Windows hotkeys chart.
  • Hasarak keys come from the app’s own key tables. Hasarak has two styles: Modern, with a few modifier shortcuts, and Minimal, where every action has a single key, Vim-style. The Minimal keys are shown unless marked.
  • A dash means the official pages list no shortcut for that task, not that it can’t be done with the keyboard.
  • In every app, the in-app list is the authority for your version and keyboard layout: ⌘/ in Slack and Discord, ⌘/ (Modern) or ? (Minimal) in Hasarak.

Getting around

Task Slack Discord Hasarak
Jump to a conversation ⌘K (Windows also Ctrl T) ⌘K ⌘K, or :b name (Minimal)
List all shortcuts ⌘/ ⌘/ ⌘/ (Modern), ? (Minimal)
Previous / next channel ⌥↑ / ⌥↓ ⌥↑ / ⌥↓ ⌥← / ⌥→ (Modern), h / l (Minimal)
Previous / next server or space — ⌘⌥↑ / ⌘⌥↓ (see note 1) ⌥↑ / ⌥↓ (Modern), H / L (Minimal)
Jump to a space by number — — ⌘1–⌘9 (Modern), 1–9 (Minimal)
Back / forward in history ⌘[ / ⌘] (Windows Alt ← / Alt →) — ⌃O / ⌃I (Minimal)
Home view ⌃1 (Windows Ctrl Shift 1) — —
Browse channels ⌘⇧L (desktop app) — :browse lists spaces (Minimal)
Settings — ⌘, ⌘, (Modern), gs (Minimal)

Catching up

This is where the apps differ most. Slack and Discord are built around unread channels: you walk through channels with unread messages. Hasarak is built around an inbox: mentions, thread replies and DMs land in one list, and you mark each one done.

Task Slack Discord Hasarak
All unreads / inbox ⌘⇧A — ⌘0 (Modern), gi or 0 (Minimal)
Previous / next unread channel ⌥⇧↑ / ⌥⇧↓ Alt Shift ↑ / ↓ (Windows chart) Inbox: j / k
Mentions ⌘⇧M (Activity, desktop app) ⌘⌥@ (see note 2) In the inbox
Threads you’re in ⌘⇧T (desktop app) — Replies land in the inbox
Mark current conversation read Esc Esc Inbox: x or dd marks done
Mark everything read ⇧Esc ⇧Esc marks the server read (Windows chart) —
Snooze an item — — s in the inbox
Undo — — u (Minimal), ⌘Z undoes an inbox action (Modern)
Jump to oldest unread message — Shift PageUp (Windows chart) —

Reading and writing messages

Slack lets you focus a message with the arrow keys and then act on it with a single key. Hasarak’s Minimal style works the same way, with Vim keys: j / k move between messages, and each action is one key.

Task Slack Discord Hasarak (Minimal)
Move between messages ↑ / ↓ once a message is focused — j / k; { / } jump by author or day
Open a thread T or → on a focused message — ↵ or o
Reply in the thread T, then type — r
Write a message Focus the message field Focus the message field i
Edit your last message ↑ in an empty message field ↑ (see note 3) c on your message
React R on a focused message ⌘E opens the emoji picker + for 👍, R to pick
Upload a file ⌘O (desktop app) ⌘⇧U a
New line without sending ⇧↵ ⇧↵ ⇧↵
Search ⌘G; ⌘F in the conversation ⌘F; ⌘⇧F everywhere / (Minimal), ⌘K (Modern)
Set your status ⌘⇧Y — —
Browse DMs ⌘⇧K (Windows Ctrl Shift 2) — DMs land in the inbox

Notes:

  1. Switching servers in Discord. The newer guide gives Ctrl Alt ←/→ on Windows and ⌘⌥↑/↓ on Mac; the older Windows chart gives Ctrl Alt ↑/↓. Try both.
  2. Discord mentions. The newer guide lists Ctrl Alt @ (⌘⌥@) for the mentions popout; the older chart lists Ctrl I, which the newer guide uses for italics.
  3. Editing in Discord. Discord’s blog post on shortcuts says ↑ edits your last message; the newer guide lists Shift ↑ on Windows and ⌥↑ on Mac. In practice ↑ in an empty message box is what most people use.
  4. Discord’s voice keys (⌘⇧M mute, ⌘⇧D deafen) aren’t listed here. Discord also lets you create custom keybinds; Slack’s article says custom shortcuts aren’t possible.

The ten shortcuts worth learning first

If you learn nothing else, learn these. Between them they cover most of a day in chat:

  1. Quick switcher, ⌘K, everywhere. Stop scrolling the sidebar.
  2. Next unread: ⌥⇧↓ in Slack, the inbox (gi, then j/k) in Hasarak.
  3. Mark read: Esc. In Hasarak, x marks an inbox item done.
  4. Edit last message: ↑.
  5. Reply in thread: T (Slack) or r (Hasarak). Threads keep channels readable; see running incidents in chat.
  6. React instead of replying: R (Slack) or + (Hasarak). A 👍 is an answer.
  7. Search: ⌘G (Slack), ⌘F (Discord), / (Hasarak Minimal).
  8. Back: ⌘[ (Slack), ⌃O (Hasarak). Get back to where you were.
  9. Upload: ⌘O (Slack), ⌘⇧U (Discord), a (Hasarak).
  10. The shortcut list: ⌘/. Look up the rest when you need them.

Why Hasarak’s keys look different

Hasarak was designed for people who already live in Vim, tmux and a terminal. Its Minimal style borrows their conventions instead of inventing new chords:

  • Single keys, no modifiers, when you’re not typing: r reply, c change, x delete, + react.
  • g chords to go places: gi inbox, gd pages (docs), gs settings, gg / G top and bottom. After g, a hint lists what can follow.
  • A command line: : opens it. :b name goes to a channel, :e title opens a page, :new channel creates one, :join / :leave, :set ui=modern switches style.
  • A modal composer with Vim motions: Esc to Normal mode, w b e, ciw, counts, u and ⌃R, . to repeat, registers.
  • Screens like a pager: ⌃D / ⌃U half a screen, ⌃F / ⌃B a full one.

The Modern style keeps a short list of modifier shortcuts (⌘K, ⌘0–⌘9, ⌥ arrows, ⌘,, ⌘/, ⌘Z, Esc) for people who’d rather not learn modes. You can switch between the styles in Settings › General › Interface, from the command palette, or with ?ui=minimal in the URL.

The same keys are built into Hasarak’s terminal and desktop apps, which share one key-handling core. Those apps have no public release yet; the web app is the one that’s released. More on the keyboard model: Hasarak for Vim users and terminal team chat.

Printable summary

Slack Discord Hasarak (Minimal)
Jump ⌘K ⌘K ⌘K / :b
Catch up ⌘⇧A, ⌥⇧↓ Alt⇧↓ gi, j / k
Done / read Esc Esc x
Thread T — o, r
Edit last ↑ ↑ c
React R ⌘E +, R
Search ⌘G ⌘F /
Back ⌘[ — ⌃O
All keys ⌘/ ⌘/ ?

Moving a team from Slack? See Hasarak vs Slack and the Slack alternatives roundup.

Team chat for people who live on the keyboard.

Channels, threads, an inbox and Markdown pages, with an MCP server and open connectors.

Start free