Concurrent Multi-Session Orchestration
the core: spawn, monitor, and manage many Claude Code sessions at once across projects
- Concurrent sessions β run many Claude Code sessions in parallel across unlimited projects.
- Background process management β each session runs as a managed child process, spawned, monitored, and reaped by the app.
- Multi-provider sessions β run sessions on Claude, Codex, Gemini, and other engines side by side, each isolated.
- Auto vendor routing β models served by more than one AI provider (GLM, DeepSeek, Kimi, MiniMax) run from the cheapest ready vendor automatically; pick a model once and never touch the vendor (pin one anytime in Settings β Sessions β Model vendors).
- Real-time status dashboard β every session's live state shown at a glance in the sidebar and inbox.
- Attention-first inbox β sessions needing you surface to an inbox; you respond and move on, no babysitting.
- Per-session live output stream β watch the agent's output stream into each panel in real time.
- Keep-alive panel pool β recently-viewed panels stay mounted so switching back is instant.
- Invisible concurrency pacing β spawns/searches/git are paced box-wide to protect the machine, never the user.
Session Statuses & Attention-First Design
a fixed status vocabulary that drives color, sorting, and notifications
- Eleven session statuses β running, needs-you, error, stalled, starting, ready, terminating, ended, archived, paused, waiting.
- Color coding β Running green, Needs-You amber, Error/Stalled red, Waiting ember-orange (capacity park), Primary accent.
- Pending-action detail β the attention state carries why: question, plan approval, permission, rate-limited, suspended.
- Attention floats to top β needs-you / error / stalled sessions sort above idle ones.
- "Stay on it" during revival β a session you're watching come back to life isn't yanked away.
- Status-driven notifications β OS + in-app alerts fire on transitions into attention states.
Mid-Stream Messaging & Interrupt
talk to a session while it's still working
- Send while running β type mid-turn; the app delivers into the live process or kills+respawns cleanly, context preserved.
- Interrupt without killing β stop the current output (Esc or Stop) and keep the session alive for the next instruction.
- Esc-key interrupt guard β mashing Escape can't fire duplicate interrupts.
- Provider-aware interrupt β non-Claude sessions route interrupt through their own engine so the turn really stops.
- Live streaming ticker β a "streamingβ¦ Nm Ns" ticker shows the running turn's elapsed time.
- Interrupt acknowledgement β an "interrupt sent" cue the instant the gesture registers.
full create-to-retire lifecycle with honest state transitions
- Create / spawn β start a fresh session in any project.
- Always resumable β ended sessions resume on the next message.
- Pause / unpause β kill the running agent and park the session; flip it back when ready.
- Snooze β hide an attention session until a chosen time; auto-wakes when due.
- Save (shelve) β flag valuable/completed work into a collapsible "Saved" sidebar section.
- Archive / unarchive β retire a session (clears draft/snooze, triggers worktree merge) or restore it.
- Close / terminate β stop a session's process and remove its panel.
- Crash recovery β sessions running when the app died auto-resume on next launch.
- Genuine-error persistence β a session you saw go red stays red across restart.
- Runaway-spawner guard β a session that spawned children is never auto-resumed after a crash.
- Pop-out window restore β popped-out sessions reopen automatically next launch, even after a crash.
- In-session activity notes β automatic pause/resume/archive markers appear inline in the transcript.
- Move to project β relocate a session to a different project, with undo.
keep critical sessions one click away
- Pin to top β pin a session so it sorts above the list in its project.
- Pin/unpin toggle β from the header and the overflow menu.
- Optimistic with rollback β pin flips instantly; a silent failure reverts with a toast.
Draft Persistence (Crash-Safe)
never lose an unsent message
- Auto-save drafts β unsent composer text saves continuously and survives session switches.
- Three-layer durability β in-memory β localStorage β SQLite, so a hard refresh keeps your text.
- Pasted images & text-chips persist β pasted images and large pasted-text blocks survive reload.
- Cross-client draft sync β draft clears echo across desktop + paired mobile without clobbering active typing.
- Identity-scoped wipe β drafts blanket-clear on account change so text can't leak to the next user.
- Teardown flush β a graceful close flushes pending drafts losslessly.
Session Cost, Token & Turn Tracking
per-session spend and usage tracked automatically
- Per-session USD cost β accumulated cost tracked per session, shown as a header chip.
- Subscription-aware cost β the dollar chip is hidden for subscription sessions where the figure is notional.
- Estimated-cost marker β token-priced engines show a "β" prefix to read honestly.
- Turn count & token totals β turns and input/output tokens shown in Session Stats.
- Turn duration badges β each finished turn shows "took Nm Ns".
- Cross-compaction duration β compaction dividers show total active time, excluding idle gaps.
Context Window Usage Indicator
see how full a session's context is, and get warned before it fills
- Context donut/bar β a header indicator shows real context usage with color thresholds.
- Details popover β click for a detailed breakdown of context usage.
- 75% & 90% warnings β persistent amber dividers at "context filling" and "compaction imminent".
- Warn-once per fill-up β de-duped so a respawn/restart doesn't re-fire.
- In-message toggle β turn either threshold off without opening Settings.
- Efficient polling β the authoritative query runs once per turn, gated on visibility + fullness.
Budget Caps (Soft & Hard)
prevent runaway costs on pay-per-use keys
- Per-session hard cap β force-kill a session when its cost crosses a limit.
- Per-session soft warning β a one-time warning well before the hard kill.
- Per-account daily cap β stop sessions + block new spawns once a key's daily spend crosses a limit.
- Per-provider daily cap β optional per-vendor daily spawn+kill cap (off by default).
- Subscription exemption β subscription sessions are never spend-capped.
- Runaway-spend anomaly alert β an alert when a metered vendor's daily spend spikes.
- Fail-open safety β an unreadable ledger never kills a paid session you're running.
reverse lifecycle actions with Ctrl+Z
- Ctrl+Z undo β reverse your last session action (pause, snooze, archive, move, rename, close, color).
- Multi-level history β a bounded stack walks back through recent actions.
- Field-aware arbiter β undoes the action from a text field when pristine, yields to native text-undo once you type.
- Undo toast (opt-in) β a focus-independent Undo button on a toast.
- Honest reversal β undo of pause/close returns the row to "ended", never faking a live agent.
rename a session by hand (AI titles are separate)
- Inline rename β edit the title in the header.
- Rename from menu β via the overflow menu.
- Optimistic with rollback β updates instantly; a failure rolls back with a toast.
- Rename undo β Ctrl+Z restores the prior name.
send images, PDFs, and large pasted text with a message
- Paste images β sent inline to the agent as image blocks.
- PDF attachments β delivered as native document content.
- Text-document attachments β large text docs saved to the workdir and referenced.
- Pasted-text chips β big text blocks become collapsible chips spliced into the message.
- Per-session storage β attachments saved to per-session directories.
- Pending strip + lightbox β preview queued images/chips before sending.
3+ images in an AI reply become one swipeable carousel instead of a tall stack
- Count badge β a corner counter (like 3 / 12) shows which image of how many.
- Mobile swipe β swipe through the images without flipping to the next session.
- Desktop arrows β prev/next buttons, greyed at the ends.
- Tap to open full-screen β opens the current image in the existing viewer.
- Inline for 1β2 β a single or pair of images stays stacked as before.
- Display-only β copy and export keep the original message.
Swipe Navigation (Mobile)
move between sessions with a flick on a phone
- Horizontal session swipe β swipe left/right for previous/next session.
- Scroll-aware commit β only commits once a scrollable child is pinned to its edge.
- Velocity + offset thresholds β ignores accidental micro-drags.
- Prev/next arrows β optional header arrows on mobile.
- Swipe-to-dismiss overlays β a downward flick closes big mobile overlays.
Send Later (Scheduled Delivery)
queue a message to a session for a future time
- Schedule a response β pick a future time to deliver a composed message (Ctrl+Shift+L).
- Scheduled attachments β images, PDFs, and text-chips delivered with the message.
- Status-aware delivery β delivers into a live process (interrupting) or resumes an ended/paused session.
- Auto-unpause / un-archive β a due message wakes a paused/archived/snoozed target.
- At-most-once delivery β atomic claim guards against double-delivery.
- Retry then give up β up to 3 attempts across restarts, then a system message.
- Visible failure alert β a deduped inbox alert when a scheduled reply can't be delivered.
- Cancel scheduled β clear a pending scheduled message before it fires.
Session Tags & Tags Library
Opt-in
label and cross-organize sessions
- Free-form tags β ad-hoc tags on a session (max 10, 30 chars).
- Library tags β reusable named tags applied across sessions.
- Header tag chips β tags render as a chip strip under the title.
- Mobile tag collapse β multiple tags collapse to first + "+N" on mobile.
- Tags Library virtual project β a hub to manage tags and see tagged sessions cross-session.
- Tag chip context menu β edit/remove a tag from its chip.
turn a transcript into a shareable document
- Copy as Markdown β copy the visible conversation with a token-count toast.
- Copy since last compaction β copy only from the last compaction divider forward.
- Export to file β save the transcript as Markdown, Word (opt-in), or PDF.
- Export to Google Docs β publish the transcript to a new Google Doc (opt-in).
- Visible-only export β strips tool-call markers and system rows; keeps prose + your messages.
- Size preview β the menu shows words Β· chars Β· ~tokens before you export.
Detachable / Pop-Out Windows
give a session its own OS window
- Pop out to window β open a session in a standalone window.
- Geometry memory β popped-out windows remember position/size.
- Restore on launch β reopen automatically next start (crash-safe).
- Push routing β detached windows still receive their session's live updates.
Session Controls & Message Filters
the per-session action hub
- Overflow action menu β snooze, pause, send-later, copy link, archive, rename, and more in one menu.
- Message filter β filter the transcript by All / Agent / You.
- Events filter β a day-grouped list of lifecycle/system events for troubleshooting.
- Aside mode β ask a throwaway side question in a branch, excluded from the main transcript.
- Copy deep link β copy an `agentmc://` link to the session.
- Attach to task β link a session to a task.
- Session resources popover β a diagnostic view of the session's live process tree.
- Per-session MCP servers β configure MCP servers for one session.
- Customize session bar β promote chosen menu actions to one-tap header buttons; right-click a menu action to pin it, or use the Settings checklist.
- Fixed scroll policy β hardcoded, non-configurable transcript scrolling with jump buttons.
your own regex rules that turn matching conversation text into inline badges
- Your own regex β a badge β each rule is a regex; its matches in message text (agent output and your own messages) render as an inline badge instead of plain text.
- Tone & icon β pick a badge color (neutral / accent / success / warning / danger / info) and an optional icon from a small curated set.
- Label & link templates β build the badge's text and an optional clickable http/https link from the match, using `$0` (whole match) and `$1`..`$9` (capture groups).
- Live "test it" preview β see the badge and its resolved link on a sample line before you save.
- Manage the list β add, edit, reorder (first match at each position wins), toggle, and delete rules in Settings β Sessions β Custom Render Rules.
- Master toggle β one switch disables all custom rendering without deleting your rules.
- Safe rendering β real UI badges (no raw HTML), http/https-only links, code blocks and existing links skipped, and invalid / zero-width / greedy regexes guarded; zero cost when you have no rules.
a control-group project whose sessions spawn a vanilla, blank-context agent for testing and comparison
- Vanilla session spawn β every session inside Clean Room runs the engine with none of your customizations and none of Omniscio's added layers.
- Full customization strip β no global CLAUDE.md rules, memory, skills, project instructions, or connected MCP tools reach the session (via the CLI's own safe-mode).
- Omniscio-layer strip β the awareness note, Plain Speak, conversation markers, publish/convert/download shims, and the question-widget instruction are all omitted.
- Hook-free, empty scratch folder β no PreToolUse/PostToolUse hooks fire, and the session starts in a fresh empty working directory with no repo or files.
- Real engine kept β it is still Claude Code with its own base identity and native tools, so it is a fair control group, not a raw model or a permission jail.
- Per-session engine picker β choose the engine per session (Claude by default, plus the Claude-compatible DeepSeek / Kimi / GLM / MiniMax).
- Built-in sidebar project β appears among the projects like Session Search, not a folder on disk.