Omniscio documentation
Browse all documentation
  1. Getting Started13
  2. Sessions & Agents115
  3. Inbox & Notifications59
  4. Projects & Tasks95
  5. Automation & Scheduling75
  6. Knowledge & Memory26
  7. AI Features60
  8. Integrations100
  9. Plugins & Marketplace33
  10. Cloud & Teams56
  11. Settings & Customization58
  12. Account & Billing28
  13. Troubleshooting84
  14. CLI & API Reference22
  15. Legal & Policies4
  16. Uncategorised22

Acting on a whole section at once — the “…” on a section header

The small “…” button on the header of each group of sessions — Needs you, Live, Interrupted, Paused, Pinned, Scheduled, Snoozed, Saved, Archived and your own tag groups. It opens the same menu you get by right-clicking a session, pointed at everything in that one group, so you can snooze, pause, restart or archive a whole section at once without ticking rows one by one. The menu only ever offers what actually applies to the sessions in that group.

What it is

Your sessions are grouped into labelled sections in the sidebar — Needs you, Pinned, Live, Interrupted, Paused, Scheduled, Snoozed, Saved, Archived, and one section per tag group you have shown in the sidebar.

Each of those headings now carries a small “…” button on its right-hand edge. Clicking it opens the same menu you get by right-clicking a single session, except that it acts on every session in that section at once — no ticking rows one at a time.

It works the same on a phone, where the section headings look the same.

What the menu offers

The menu is not a fixed list of buttons. It builds itself from the sessions that are actually in the section, so it only ever offers something that will do what it says:

Section What the “…” offers
Live Pause, Stop
Interrupted Pause, Restart
Paused Unpause, Restart
Archived Unarchive
Snoozed Unsnooze
Needs you, Pinned, tag groups whatever applies to the sessions in it

Alongside those, every section menu also carries the commands that work on any session — Pin, Snooze, Save, Add to Bookmarks, Copy app link, Set color, Move to, and Archive.

Two things follow from "only what applies", and they are worth knowing because they are the point:

  • A Live section never offers Restart. A session that is already working has nothing to relaunch, and offering it would let a stray click re-spawn a live agent as a new paid run.
  • A Paused section drops Pause and offers Unpause instead, because a paused session is the one thing that cannot be paused.

A section with nothing to do shows no “…” at all rather than a menu where every row is greyed out. Archived is the standing example in the other direction: it has exactly one applicable command — Unarchive — but that is the only bulk way back out, so it keeps its button.

It never fires something dangerous by surprise

This is the same menu as the session right-click, so it inherits the same safety:

  • Stop or Restart on more than one session asks first, naming the count — "Restart 11 agents? Each one relaunches as a new paid run."
  • Pause, Archive, Snooze, Save and Unpause carry an undo.
  • Stop and Restart have no undo — the only way back from either is paying for a new run, which is why they carry the confirm instead.
  • Archiving more than three sessions asks first, even though it can be undone.

If you use tag groups

A tag group's heading already had a “…” for its own options. It still has exactly one “…” rather than a second one appearing beside it: Edit group, Move up, Move down and Remove from sidebar now sit at the bottom of the same menu, under a divider, below the session commands.

A brand-new tag group that nothing is tagged with yet keeps its “…” — in that state the menu is just its own four options, which is exactly when you would want to fill it in or rename it.

What it is not

  • It does not change what any command does. Stop, Restart, Pause, Archive and the rest behave exactly as they do from a session's right-click menu or from the Manage sessions picker.
  • It is not a multi-select. You are not building a selection — you are pointing at a section.
  • It does not exist in the Inbox. Inbox rows are inbox items rather than sessions, and no session command applies to them.

For developers

  • The control is SessionSectionActions in src/renderer/src/features/dashboard/, mounted on each section header: SessionSectionList.tsx (Needs you / Pinned / Interrupted / Live / Paused, plus SessionSectionList/ArchivedSection.tsx), SidebarSessionSections.tsx (Scheduled / Snoozed / Saved), SidebarGroupSections.tsx (tag groups), MobileLiveSessionsSection.tsx (Interrupted / Live / Paused), MobileArchivedSection.tsx, and MobileSessionsList.tsx (the rest of the mobile sections).
  • It holds no action logic. It renders one IconButton and, when open, the shared SessionContextMenu with the section's members as the selection; the section's ids are frozen at the moment the menu opens so a status change cannot move a row out from under the pointer.
  • SessionContextMenu gained one optional trailingItems slot for the tag-group case.
  • SessionContextMenu.test.tsx and the invariant list in .claude/memory/contracts/bulk-session-actions-contract.md cover what this must keep doing.

Where to find it

How it behaves

Related

Last verified 2026-10-05