Skip to content

Bulk actions

You can act on several visible rows at once. Selection never means every message on the server.

In the message list:

  • ⇧-click selects a range in the current visible order (after filters and thread collapse).
  • ⌘-click adds or removes a row.
  • ⌘A selects every row now shown in that list, not unloaded pages and not the whole mailbox.

When two or more rows are selected, the reader shows a count, groups the selection by account, and lists up to eight recent previews.

Clear the selection by clicking another row, pressing Esc, or using Clear selection.

There is no iPhone Select button in the current app.

The reader offers:

  • Mark Read / Mark Unread
  • Flag / Unflag
  • Pin / Unpin
  • Archive
  • Move…
  • Delete

There is no bulk Snooze, Set Aside, or Mark as spam button. Those remain single-row actions.

With thread grouping on, a selected conversation row expands to its members before the action runs.

Archive, flag, pin, read, and delete run on each selected message in its own mailbox. A unified list with more than one account does not skip the other accounts.

Move uses one destination folder. A message can only move into a folder on its own account.

List letters still apply to the focused conversation, not the whole multi-select set. Use the reader buttons for the selection.

Defaults (remap under Settings → Shortcuts):

ShortcutFocused row
EDone (archive)
UToggle read
IFlag
DPin
SOpen Snooze
GSet Aside
⌘⇧MMove…
⇧1Mark as spam
DeleteTrash

⌘⇧E is Mark All Done for visible non-archived rows in the current list. That is not the same as multi-select Archive.

See Keyboard shortcuts.

There is no cancelable progress meter. Each selected message runs as its own command. Archive and Delete toasts can say that only some of the set finished.

Undo is the five-second toast plus up to fifty recent supported actions this session. See Undo the last action.

There is no primail_bulk_action tool. Use email_archive, email_trash, email_move, email_mark_read, email_flag, and email_pin with message_ids. See the MCP tool reference.