Quick Launch Modal (part 2)
The second half of the Quick Launch page: every tab the strip can hold besides the Session composer — Search, Ask Omniscio, Automation, Alarm, Task, Calendar, KMS Note, Find Email and the rest — plus per-repo tabs and the mobile quick-actions sheet that mirrors the same set on a phone.
What it is
This is part 2 of the Quick Launch Modal page. That page covers what Quick Launch is, how to open it, how to compose and send from its Session tab, and where its settings live. This half carries the rest of the tab strip: every other tab the modal can hold, the per-repo tabs, and the mobile quick-actions sheet that mirrors the same actions on a phone.
Where to find it
Everything here is reached from the same floating window as the main page — the tab strip across its top. Which tabs are pinned, and in what order, is set in Settings → Quick Launch; on a phone the same set appears in the quick-actions sheet, opened from the rocket button in the app's header bar.
How it behaves
Use a non-Session tab
Click a non-Session tab (or press Ctrl+Tab to cycle forward, Ctrl+Shift+Tab to cycle back, or Ctrl+1…Ctrl+9 to jump straight to the 1st–9th tab) to swap the body for that tab's mini-form. Seven tabs are pinned by default (Session, Search, Ask Omniscio, Automation, Alarm, Task, Calendar — the last three hidden until their feature is on); the rest are opt-in, added from Settings → Quick Launch tabs:
- Session — the default "type a prompt → spawn a Claude session" composer described above. Always present (can't be unpinned) but freely positioned — drag it anywhere in the strip. Quick Launch opens on the first tab in your saved order, which is Session only if you keep it first.
- Alarm — a mini create-an-alarm form. A natural-language line at the top parses phrases like "every weekday at 7:30 AM, take meds" into the structured fields below (Label, Time, Recurrence). Gated by Settings → Notifications → Alarms.
- Task — quick-add a Task. Gated by Settings → Tasks: with Tasks off the tab is hidden from the strip entirely. That gate matters — the tab's save path requires the Tasks feature, so before it was gated the tab appeared on every install, accepted what you typed, and then failed when you hit Save. It now only ever appears when it can actually save. With Tasks on, a Project picker lets you choose which project (list) it files into: it opens on your default project for quick tasks (Inbox until you change it in Settings → Quick Launch), and a pick here is a one-off that does NOT change that saved default. The main process validates the chosen project (and falls back to Inbox for a missing / deleted one), so a bad id can never misfile a capture. Its global shortcut (Alt+Space by default) follows the same rule — it stays unclaimed until Tasks is on, then starts working by itself. Save now with the shared send button (the same icon-only send control the Session and Email tabs use) or by pressing Enter (Ctrl+Enter too; Shift+Enter is a newline). To defer it, Send later: the clock button next to send — or Ctrl/Cmd+Shift+L — opens the shared Send Later picker (time-relevant presets like Tomorrow morning plus a natural-language "type a time" box), and picking a time files the task snoozed until then (it hides, then resurfaces with a reminder at that time). Send Later reuses the task's
snoozedUntilfield + the existing notification watcher — no new table or service — and a plain save carries no schedule at all. (Ctrl/Cmd+Shift+L is the SAME "Send later" chord the session composer uses — consistent, and conflict-free because the Task tab is its own window.) The earlier bespoke Remind/Hide-until "Schedule" field was retired in favor of this shared picker. Invariants:quick-launch-task-schedule-contract.md. - Drip — schedule a drip-style follow-up message for the active project (same backend as the drip composer).
- Bookmark — save a URL + title bookmark (same backend as the global bookmark composer).
- Calendar — a mini create-an-event form. Type a natural-language line like "Doctor tomorrow at 2pm" or "Standup every weekday 9am"; it parses up to four structured interpretations (title, date/time, recurrence) into a pick-list. Arrow keys move the highlight, Enter (or a click on a row) creates the event on your linked Google Calendar, and a 4-second confirmation pane offers Undo plus an Open in Google Calendar link. Gated by Settings → Google Workspace (connect Google Calendar).
- Schedule (opt-in) — a read-only view of your calendar for a quick glance, the viewing companion to the Calendar (create-event) tab. A Day / Week / Month / Agenda switcher at the top shows your live Google Calendar (the same events the full Calendar panel loads — no separate data). The default Agenda view is a scannable timeline: every event shows its full title (never clipped), today gets a live "Now" line with past events dimmed and the next one marked "Up next", all-day events sit in a slim strip at the top, and two things booked at the same time are grouped together — flagged amber when it's a real double-booking (two meetings at once) or shown quietly when it's just a task deadline landing inside a meeting. The Day and Week grids now lead each block with the event's name instead of the time, so short events no longer get their title cut off. Click an event to see its details and Open in Google Calendar. It is deliberately look-only — no creating, dragging, editing, or deleting; making events stays on the Calendar tab. Default unpinned (add it from Settings → Quick Launch tabs); gated by Settings → Google Workspace (connect Google Calendar). Because the Quick Launch window is only 720 px wide, the Week/Month grids render compact; on the mobile web view the tab shows the Agenda list only (the 7-column grids need desktop width).
- Search (pinned by default since 2026-08-25) — single-line input with the same paperclip / paste / drag attachment row as the Session tab (see "Attach files" on the main page). Submitting spawns a new Claude session in the Session Search virtual project; Claude uses the bundled
search-sessionsskill to find matching sessions and reports back. Functionally a one-shot wrapper around the same search-spawn path used by Session Search's "Ask AI" button. Three submit shapes are valid:- Text only — your typed query is the first message.
- Attachments only (image / PDF / .docx etc., with the text input empty) —
processManager.launch()requires a non-emptyinitialPrompt, so the tab substitutes a directive prompt instructing the agent to mine the attached file(s) for search terms (error text, code snippets, UI labels, filenames) and then run the normal session search across your history. Pinned in code asDEFAULT_SEARCH_ATTACHMENT_PROMPT. - Text + attachments — both ride along; your typed query is the first message and the attachments inline as base64 content blocks / native document blocks.
- Ask Omniscio (pinned by default since 2026-08-25) — a multi-line input with the same paperclip / paste / drag attachment row as the Session tab (see "Attach files" on the main page). Submitting spawns a new Claude session in the Ask Omniscio virtual project. The Ask Omniscio project is preconfigured with the codebase context Claude needs to answer "how does X work in Omniscio?" / "where do I configure Y?" / "why is Z happening?". Gated by Settings → Ask Omniscio. Three submit shapes are valid (identical to the Search tab — Ask Omniscio is just a session in a different virtual project):
- Text only — your typed question is the first message.
- Attachments only (a screenshot / PDF / .docx etc., with the text box empty) — the CLI requires a non-empty first message, so the tab substitutes a directive prompt telling the agent to read the attached file(s) — usually a screenshot of part of the app — and explain what it is / how it works / help with what's shown. Pinned in code as
DEFAULT_ASK_AMC_ATTACHMENT_PROMPT. Great for "here's a screenshot — what is this?". - Text + attachments — both ride along; your typed question is the first message and the attachments inline as base64 content blocks / native document blocks.
- KMS Note (opt-in) — a single textarea for jotting a quick note straight into your KMS vault without opening the KMS screen. Type, press Enter (Shift+Enter for a newline), and the note saves and the modal closes — the close is the confirmation (the QL window has no toast). The note's first line becomes its title plus a timestamp (e.g. Buy milk 2026-06-08 1430); it lands in an auto-created Quick Notes/ folder in your active vault (the one KMS is currently pointed at — not whichever vault you registered first), and the full text (first line included) is the body. Two captures in the same minute never clobber — a
2,3, … suffix is appended. Gated by Settings → Features → Enable KMS: with KMS off the tab is hidden from the strip (and shows a "Turn on KMS…" note if you pinned it). Unlike the session-spawning tabs, this one writes directly to the vault via its ownKMS_QUICK_NOTE_CREATEhandler. - Find Note (opt-in) — a fast "jump to any KMS note" switcher (Omniscio's port of the standalone Nothari app's Ctrl+Shift+Space Find tab). Start typing a note's title and it fuzzy-matches as you go; an empty box lists your most-recently-edited notes for a one-keystroke jump back. Arrow keys move the highlight, Enter opens the highlighted note — in the standalone KMS window when you've popped one out, otherwise the main window's KMS panel (Omniscio foregrounds the target and the note opens — even if the KMS screen wasn't open yet), Esc closes the modal. Unlike the other tabs it doesn't create anything — it only navigates, reusing Omniscio's existing open-note path (the
omniscio://note/…deep-link for the main window, or a direct push to an open pop-out) under the hood. Gated by Settings → Features → Enable KMS (hidden from the strip when KMS is off). It has its own dedicated global hotkey — default Ctrl+Shift+Space — that opens Quick Launch straight to this tab from anywhere on your computer; it's a fixed hotkey (distinct from the per-tab hotkeys below), only claimed when KMS is on, and rebindable/disable-able at Settings → Keyboard Shortcuts (the "KMS quick find" OS-level row, alongside the KMS-window hotkey). See kms.md. - Find Email (opt-in) — a fast search-your-email tab: type a query and Omniscio runs a debounced search (over your Gmail by default, or over Supermail when it's enabled — see below), listing matching threads inline with sender, subject, snippet, and date. Arrow keys move the highlight, Enter (or a click) opens the highlighted email — the main window comes forward, switches to your Gmail view, and the thread opens in Omniscio's built-in email reader; Esc closes the modal. Like Find Note it doesn't create anything — it only navigates, reusing the same open-in-the-main-window bridge (a
GMAIL_QUICK_FIND_OPENhandler foregrounds the main window and emits anopen-gmail-threaddeep-link, which activates the Gmail virtual project and selects the thread — the native email viewer needs both). When Supermail is enabled (supermailEnabled) the tab searches Supermail's own backend (SUPERMAIL_SEARCH→ the hosted/search, the JWT staying in Main), and clicking a result opens an in-modal preview — you read the full email right inside the pop-up instead of navigating away. The preview jumps to the message that actually matched your search and highlights the query terms, so a match buried in an older reply is never hidden behind the latest message; the other messages sit collapsed (tap any to expand). A Back button returns to the results, and an Open in Supermail button opens the actual thread in the Supermail panel. Under the hood the preview fetches the thread via a read-onlySUPERMAIL_GET_THREAD(each body is reduced to plain text in Main, so the pop-up never renders raw email HTML), and Open in Supermail reuses the existingSUPERMAIL_QUICK_FIND_OPENdeep-link — now forcing the Supermail Mail view first, so a thread reliably opens instead of landing on the project's Sessions sub-tab (the old "clicking a result dumps me on the Sessions page" bug). If the fetched thread comes back with no previewable messages (a genuinely empty thread, or content the preview can't render), the pop-up shows a clear "Nothing to preview" empty state — with Open in Supermail still there — instead of a blank pane (the 2026-08-03 blank-preview fix). The mode is resolved once fromSETTINGS_GETon open; with Supermail off it uses the Gmail reader path just described (no in-modal preview). Unlike Find Note's local recent-notes list, an empty box (or a query shorter than 2 characters) shows a prompt ("Type to search your email history.") rather than searching — a search is a network round-trip, so nothing is spent until you've typed a real query. Gated by Settings → Gmail (hidden from the strip when Gmail is off, with a "Turn on Gmail…" note if you pinned it); unpinned by default. It has no dedicated global hotkey — reach it by opening Quick Launch and picking the tab. - Automation (pinned by default since 2026-08-25) — a single textarea for describing an automation in plain words. Type what you want automated (e.g. "email me a summary of my unread mail every morning at 8"), press Enter (Shift+Enter for a newline), and it spawns a session in the Automation Helper virtual project seeded with your description — the same "describe your own" path as the Automation Helper gallery, one keystroke from anywhere. The Helper then interviews you for anything it needs, builds it, tests it, and schedules it — and, as always, nothing runs until you approve it. Like the Search / Ask Omniscio tabs it's just a session spawned into a virtual project (via the shared
QUICK_LAUNCH_SUBMITpath with the__automation_helper__sentinel), so there's no bespoke backend. It now carries the same attachment row as Ask Omniscio — click the paperclip, paste an image, or drag a file to attach a screenshot / PDF of what you want automated, and it rides along to the Helper (an attachment-only submit works too — with the text box empty, a default "look at the attached file(s)" instruction is sent so the CLI's non-empty-first-message rule is met). If you've turned the feature on but never opened the Automation Helper, submitting here creates its project on the spot so a first-ever launch still works. Gated by Settings → Agent Tools → Automation Helper (hidden from the strip when off, with a "Turn on Automation Helper…" note if you pinned it). - Team Chat Message (opt-in, in development) — send a Team Chat message to a person (DM) OR a channel ("board") without opening the Team Chat panel. Pick a target from one searchable list — channels show first as
#name, then people as name + email (so two people with the same name stay distinct) — type a message, and press Ctrl/Cmd+Enter (or Send). The Quick Launch box closes immediately and a "Sending to <name>… [Undo]" toast (or "Sending to #general…" for a channel) with a ~6-second countdown appears in the main Omniscio window; if you don't undo it the message sends — a person creates-if-absent the DM and sends, a channel posts directly; click Undo and nothing is sent (no empty DM is left behind — the write only happens when the timer fires). A channel you haven't joined shows a friendly "open it in Team Chat first" rather than posting somewhere you're not in. If the send fails, the toast flips to a humanized error. Both the roster and the channel list load on open with explicit loading / not-signed-in / "no people or channels" / couldn't-load states, so an empty list is never a silent dead-end. Because the Quick Launch window can't run the chat backend, the actual send happens in the main window (where Team Chat is already connected). Per-target hotkeys (like Quick Email): in Settings → Team Chat → Saved Targets you can pin people and channels and give each a global hotkey that opens this composer pre-aimed at that target from anywhere; a tab hotkey (default Alt+T) opens the composer with nothing preselected. All per-target hotkeys are gated by a master "Target Hotkeys" toggle (off by default). Gated by Settings → Lab → Team Chat (hidden from the strip when off, with a "Turn on Team Chat…" note if you pinned it); unpinned by default. Seequick-dm-contract.md. - Super Prompts (opt-in) — search your Super Prompts library and launch one as a new session, without opening the full Ctrl+Shift+K picker. Type to filter across a prompt's title, summary, tags, and description (the same
promptMatchesSearchmatcher the picker uses — so solving surfaces the wholeproblem-solvingcluster); arrow keys move the highlight and Enter (or a click) launches. A "Launch into" dropdown at the bottom picks the target project (defaults to the QL default — your active project if it can host a session, else the Claude project). Prompts carrying a stock opening show a "Pre-loaded" badge and open with their instant greeting exactly like the picker. Launch runs through the SHARED session-launch core (launchSessionInMain) — so the deferred "Pre-loaded" behavior, the non-Claude deferred→immediate degrade, and provider readiness all come for free — via its ownQUICK_LAUNCH_LAUNCH_SUPER_PROMPThandler, and the spawn is deferred fire-and-forget past the exit animation likeQUICK_LAUNCH_SUBMIT(the mid-animation-freeze fix). Unlike the other tabs there's no attachment row and no picker gate — it loads the lite prompt list + resolves the target itself, then hands apromptId+projectIdto main. Always available (the bundled library always exists — no feature gate); unpinned by default (add it from the "+" or Settings → Quick Launch tabs). See use-super-prompts.md. - Command Palette (opt-in, desktop-only) — a searchable list of Omniscio's main actions, so you can fire any of them straight from Quick Launch. Type to filter by name or synonym ("diagram" finds Flowchart), Arrow keys move the highlight, Enter (or a click) runs it. The seed set covers New Session · New Mind Map · New Whiteboard · New Flowchart · New Note · New Bookmark · New Task · New Alarm · New Calendar Event · Message a Teammate · New Email · Open Browser · Open Agent Status Board · Open Archive, grouped under Create / Communicate / Go to. Actions for features you've turned off never appear, so the list only shows what you can use. Because Quick Launch is its own window, picking an action brings the main Omniscio window forward and performs it there — a "create X" action opens that surface, while one that maps to another Quick Launch tab (like Message) just switches you to that tab. Under the hood the untrusted QL window sends only a validated command id to Main (
QUICK_LAUNCH_RUN_COMMAND), which is authoritative: it resolves the id against theapp-commands.tsregistry (an unknown id is refused) and either switches the QL tab (QUICK_LAUNCH_OPEN_TO_TAB) or foregrounds the main window + emitsDISPATCH_APP_COMMANDfor the main-window dispatcher to run via the app's existing "open this screen" plumbing (open-mindmap/open-whiteboard/open-flowchart/OPEN_VIEW_EVENT). Desktop-only — it drives main-window surfaces and the run-command channel is blocked from the mobile web bridge, so it's hidden from the mobile quick-actions sheet. It has a dedicated global hotkey — default Ctrl+Shift+P — that opens Quick Launch straight to this tab from anywhere (rebindable at Settings → Quick Launch; Super Prompts moved off that chord to Ctrl+Shift+K). With the universal command palette turned on (an in-development Lab feature, off by default) the tab grows from this curated action list into a comprehensive fuzzy launcher — the same actions plus every navigation hub (Playbooks, Memory Palace, PR Merge Queue, Team Time, AI Writer, …) and every setting (a simple toggle/number/text setting can be flipped inline; a complex one deep-links into the full Settings screen), ranked best-match-first with your recently-run commands floated to the top. Always available; unpinned by default (add it from the "+" or Settings → Quick Launch tabs). Seecommand-palette-contract.mdandquick-launch-action-registry-contract.md. - Settings (opt-in, desktop-only) — search your Omniscio settings and change the simple ones right in the popup instead of opening the full Settings screen. Type to filter across every setting's name, description, and keywords (the same index the global Settings search uses). A simple setting — a toggle, dropdown, number, or short text field — renders its control inline, and changing it saves immediately (an instant optimistic update; a failed save rolls back and shows a hint). A setting too complex to edit in a small popup — account connections, saved credentials, SSH keys, keyboard shortcuts — instead shows an "Open in Settings →" row that brings the main window forward and scrolls the full Settings screen to that setting, highlighted (reusing the existing
SETTINGS_DEEP_LINKjump). It reuses the app's own setting controls and the shared settings-search index, so a new setting shows up here automatically. Desktop-only for now (the deep-link foregrounds the desktop window, which a paired phone can't see), so it's hidden from the mobile quick-actions sheet. Always available; unpinned by default. - Add Hotstring — retired 2026-08-28. The in-core AutoHotkey quick-add tab was removed: commit
a8bc1babdeletedQuickLaunchAddHotstringTab.tsxand droppedadd-hotstringfromQUICK_LAUNCH_ACTION_IDS, so there is no tab to open and no hotkey bound to it resolves. A one-shot migration moves any key you had bound here onto AI Text Correction below. - AI Text Correction (opt-in, desktop-only) — an Omniscio-native proofreading panel (nothing touches AutoHotkey). Its global hotkey — default Ctrl+Alt+G — opens this tab, which takes the text you had selected in your current app — whether that app is another program OR Omniscio itself (a selection inside Omniscio is read straight from the focused window; captured automatically at summon, exactly like the Add Hotstring tab) — or falls back to the text on your clipboard when nothing's selected — and auto-proofreads it (fixes spelling / grammar / punctuation while keeping your wording), then shows the result in an editable Corrected box with a one-click Copy. So you can just select text and press the hotkey — no copy step needed. Edit either box and press Proofread to re-run. The correction runs through Omniscio's own managed AI — the SAME
correctTextengine the AutoHotkey correction uses, via a newAI_CORRECT_TEXTchannel — so it's always safe (on empty / oversized / a soft failure it returns your original text unchanged, never an error), rate-limited, and bounded by the AI daily-spend cap. Unlike the AutoHotkey "AI text correction" (which injects a hotkey into your.ahk), this owns everything itself — no.ahkedits, no hotkey conflicts. Gated by its own feature —ai-text-correction(settingaiTextCorrectionEnabled), ON by default with a live off-switch in Settings → Lab. It only ever rode the AutoHotkey Manager flag because it shipped alongside the AutoHotkey text-correction family, not because it needed AutoHotkey: the panel runs entirely in-process (AI_CORRECT_TEXT→aiSuggestionService.correctText), so retiring that family left it standing on its own flag. Desktop-only; unpinned by default.
Common contract across every non-Session tab:
- Enter inside the form submits; Shift+Enter inserts a newline in multi-line fields, and Ctrl+Enter / Cmd+Enter also submit.
- Esc or Ctrl+W (Cmd+W on mac) dismisses the whole Quick Launch window — non-Session tabs do not get their own Esc level. Both keys are caught in the window's
before-input-eventhandler, so they work on every tab (including Session); if the Ctrl+P project picker is open, they close that overlay first and leave the modal up. - Ctrl+Tab / Ctrl+Shift+Tab cycle through the pinned tabs (skipping disabled ones), and Ctrl+1 … Ctrl+9 jump straight to the 1st–9th visible tab (a tab past the 9th stays reachable by cycling). Both fire whenever the modal window is focused — including after you click out of the text box onto empty modal space — not only while the textarea holds focus. Hovering a tab reveals its shortcuts as a tooltip: the Ctrl+N position shortcut (first nine tabs), and — when you've assigned one in Settings → Keyboard Shortcuts → System-wide — the tab's works-anywhere global hotkey too, e.g. "Ctrl+2 or Ctrl+Alt+J (works anywhere)".
- The project chip and microphone are hidden — non-Session tabs don't need either, so the row collapses cleanly.
- Save closes the modal the same way a session submit does; cancel returns you to the Session tab without persisting.
- Opening Quick Launch lands on the first visible tab in your saved order (a repo tab too, if you put one first) — not always Session. Non-Session tabs aren't sticky: after you dismiss or submit, the next open resets to that first tab. A per-tab hotkey still opens straight to its target tab.
Repo tabs (a tab per repo)
A repo tab is a tab pinned to one specific repo. Selecting it opens the full Session composer — prompt box, file attachments, voice — but locked to that repo: the project chip is omitted (the tab itself already names the repo), so you just type and hit Send to start a session there. Pin a few repos you work in often and they sit one click apart in the strip (or cycle with Ctrl+Tab).
- Add one — click the "+" on the tab strip, choose "New session in a repo…", then pick a repo from the list. Or add one from Settings → Quick Launch using the Add a repo session tab dropdown there. Either way only real, spawnable repos are offered (inbox-style virtual projects like Gmail/Drive are excluded since you can't run a session in them), and a repo you've already pinned won't be offered again.
- What it shows — the repo's name + its project icon in the strip tab. Inside the composer the project chip is omitted — the tab already names the repo, so the chip would be redundant.
- Assign a hotkey, remove, or reorder — right-click the tab in the strip for a menu with a Global hotkey field (assign a shortcut that opens a new session straight into this repo from anywhere) and a Remove option to unpin it on the spot; or drag it in the strip to reorder. You can also manage repo tabs in Settings → Quick Launch, where they appear as rows alongside the other tabs (uncheck to remove, drag to reorder, and set a hotkey in the Tab hotkeys list below). Session can be dragged too — it just can't be removed.
- Self-cleaning — if you delete a repo, its tab quietly disappears (and the leftover entry is cleaned out of your settings the next time the tab manager loads your project list) — no broken tabs left behind.
- The repo is fixed for that tab: there's no project chip, and Ctrl+P does nothing (there's no project to switch to). Use the plain Session tab when you want to pick the repo each time.
On mobile (quick-actions sheet)
Quick Launch's floating window is desktop-only — a phone can't pop up a separate always-on-top window — so on mobile the same actions live in a quick-actions sheet. Tap the 🚀 button in the top header bar (between the Inbox/Projects tabs and the menu) and a sheet slides up from the bottom showing your quick actions as a grid of tiles. (On a small screen or a large text size the "Inbox"/"Projects" tabs shorten to just their icons so the bar always fits.)
- Same actions as desktop. The tiles are exactly the tabs you've pinned in Settings → Quick Launch (filtered to the ones whose feature is on) — one shared configuration, so pinning/unpinning a tab changes both surfaces at once.
- Tap a tile to do it. Alarm, Task, Drip, Bookmark, Calendar, KMS Note, and the rest open their little form right inside the sheet; fill it in, save, and the sheet closes with the same confirmation as desktop. A back control returns to the grid.
- The phone keyboard's Enter/Go key submits. On the single-line tabs — Search, Bookmark, and Web Clip — the on-screen keyboard's action key saves/searches without reaching for the button; on the find-and-pick tabs (Find Note, Find Email, Super Prompts) it opens the highlighted result. (Multi-line tabs like Ask Omniscio keep Enter as a newline — tap the button to send.)
- New Session tiles open the phone's own new-session flow. Neither the Session tile nor a pinned repo tile embeds the desktop composer (it's too tied to the floating window) — they start a new session directly, the same instant-reveal flow the mobile "New Session" buttons use. The plain Session tile starts a session in your Claude workspace (the general-purpose
~/Claudeproject) — matching what the desktop Session action defaults to — rather than in whatever project you're currently viewing; a repo tile starts a session in that repo's own project. - Attachments are desktop-only for now. The attachment-capable tabs (Ask Omniscio, Search, Automation) run text-only in the mobile sheet — you attach files inside a session as usual.
Full behavior + invariants: mobile-quick-actions-contract.md.
For agents
The machinery behind these tabs — the shared action registry, the per-tab component map, the shared composer field every type-and-submit tab renders, and the push allow-list — is in part 3. The settings key that gates each tab is documented with the tab it hides on the main page.
Related
The main page is the Session composer these tabs sit beside, and it documents the tab strip they live in. part 3 carries how the whole surface is built.
Last verified 2026-10-01