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

Pin session commands to the session bar (Snooze, Pause, etc.)

Session-bar pinning promotes the actions you use most out of a session's overflow menu and onto its header toolbar as one-tap icon buttons: Snooze, Pause and Unpause, Send Later, Copy app link, Aside Mode and Archive. A pinned command leaves the menu, and unpinning sends it straight back. Archive is pinned by default.

What it is

Every session has a small toolbar at the top-right of its header — the little row where the ⋯ (more) button, the close ✕, and the running cost figure live. That cost is always shown — from $0.00 onward, for every session and whatever bills it, your own API key, a metered provider, or a flat plan — and on a phone it appears just under the session title rather than in this row, so it's fully visible on every device. Most session actions (Snooze, Pause, Send Later, and so on) are tucked inside that ⋯ menu.

Session-bar pinning lets you promote the actions you use most out of the ⋯ menu and onto that toolbar as one-tap icon buttons — so, for example, Snooze becomes a single click instead of "open the menu, find Snooze, click." A pinned command leaves the ⋯ menu and appears on the bar; unpin it and it goes straight back. Archive is pinned by default, so the Archive/Unarchive button shows on the desktop session header out of the box — you can unpin it (or pin any of the others) whenever you like.

Where to find it

How to pin and unpin

Open Settings → Sessions → "Session bar". You'll see a checklist of the six commands, each with a checkbox. Tick a command to pin it to the bar; untick to send it back to the menu. Changes take effect immediately.

For discoverability there's also a "Customize session bar…" entry at the bottom of every session's ⋯ menu — clicking it jumps straight to that Settings checklist.

How it behaves

Which commands can be pinned

Six everyday, one-tap commands:

  • Snooze — hide the session until later (only offered when it isn't already snoozed).
  • Pause / Unpause — one button that shows Pause while the session is running and Unpause while it's paused.
  • Send Later — schedule your typed reply to send later.
  • Copy app link — copy an in-app deep link that reopens the session inside Omniscio (for a public, browser-openable link, use Publish & copy web link in the session's right-click menu).
  • Aside Mode — toggle side-question mode (the button lights up when it's on).
  • Archive / Unarchive — one button that shows Archive for any non-archived session and Unarchive for an archived one. It's pinned by default, so it shows on the desktop bar out of the box.

Pause/Unpause and Archive/Unarchive each count as one pinnable item that changes its label and icon with the session's state. A pinned command only appears on the bar when it actually applies right now — e.g. Snooze won't show on a session that's already snoozed; Pause isn't offered on an archived session. When it doesn't apply, it simply stays available in the ⋯ menu.

Where it shows (and where it doesn't)

  • Desktop: pinned commands render as icon buttons on the session header bar, just left of the ⋯ button. Each has a tooltip (and its keyboard shortcut where it has one).
  • Phone / mobile: the pinned buttons are not shown on the mobile header (it's too narrow for full-size touch targets) — every command stays in the ⋯ menu there. The Settings checklist still works on mobile; it just governs the desktop bar for now.

A command is only removed from the ⋯ menu when it's actually showing on the bar, so nothing ever becomes unreachable: on a phone, or when a command doesn't apply to the current state, it's still right there in the menu.

For agents

Under the hood (for agents with repo access)

  • Registry (single source of truth): src/renderer/src/features/sessions/session-bar-commands.tsx — SESSION_BAR_COMMANDS defines each command's icon/label/availability/run via resolve(ctx); resolveShownBarCommands(ctx, pinnedIds, { isMobile }) computes what the bar shows (pinned ∩ available ∩ desktop); useSessionCommandHandlers holds the shared pause/unpause/copy-link handlers (with the undo-toast registration) so the bar and menu never diverge; togglePinnedCommandId is the pure pin/unpin used by the checklist.
  • Setting: pinnedSessionCommandIds: string[] (flat AppSettings field, default ['archive']; mirrors pinnedToolbarItems) — wired through app-settings.ts / update-settings.ts / default-settings.ts, searchable via SessionsSettings-search.ts. Existing users are backfilled to the new default by the one-time session-archive-pin-migration.ts (flag sessionArchivePinMigrationCompleted, in INTERNAL_ONLY_SETTING_KEYS).
  • Bar render: SessionPanelHeader.tsx (maps the resolved commands to IconButtons just before <SessionOverflowMenu>).
  • Menu: SessionOverflowMenu.tsx hides any command in the header-computed shownBarCommandIds set (never merely "pinned", so it stays reachable) and adds the "Customize session bar…" entry (navigateToSettingsProject({ section: 'sessions' }), cli-parity-exempt navigation).
  • Settings UI: the "Session bar" card in src/renderer/src/features/settings/sections/session/SessionSettings.tsx.
  • Contract with test-locked invariants: .claude/memory/contracts/session-bar-commands-contract.md.

Related

Last verified 2026-09-27