Parallel sessions
Several agents talking at once, and a way to switch between them that does not lose your place.
Running more than one agent#
Every session is a pane, and panes run at the same time. Nothing about a second session slows the first: separate agent processes, separate transcripts, separate queues. What you are actually managing is not the agents' throughput — it is your own attention.
Two shapes cover most real parallel work:
- Parallel slices — give each pane a different, non-overlapping part of the job (one on the API, one on the UI, one on tests). Merge them in order, smallest first.
- Competing drafts — give two or three panes the same task with different models or different framings, keep the best result and discard the rest. On an ambiguous problem this is usually the fastest route to a good answer.
Switching between agents without losing your place#
The sidebar lists your workspaces and their sessions; you can scope it to the current workspace or go global, filter it, pin the sessions you keep coming back to, and rename any of them (clear the title to get the automatic one back). Sessions are ranked by what needs you rather than by clock: the ones waiting on an answer first, then the ones still running, then everything else by recency. The numbered jump chords follow that same order, so ⌘1 is whatever most wants your attention.
A session rowOne row per conversation: its title, which agent is running it, when it was last active, and a status dot. — this control is not on the captured screen.
The buttons in this panel work — click them to look around.
- ⌘KCommand palette: sessions, workbench commands, and full-text transcript matches in one list
- ⌘1…through ⌘9 — open the Nth session in that attention order as a pane
- ⌥1…through ⌥6 — focus pane N inside the current group
- ⌘⌥←Cycle focus between panes (⌘⌥→ the other way)
- ⌃⇥Cycle workspace groups — whole scenes, not panes (⌃⇧⇥ backwards)
Reading a running session#
A transcript is not a chat log with the interesting parts hidden. Each turn shows the agent's thinking, its tool calls and their results, any sub-agents it delegated to, and the plan it is working through — collapsed by default, expandable when you want the detail.
- Thinking / tool calls
- The reasoning and every tool invocation with its result, expandable inline. Long output collapses with its character and line count.
- Sub-agents
- A delegated unit of work shown as its own block: the brief it was handed, the trail of what it did, the result it handed back.
- Plan
- The agent's todo list with live progress — how many tasks are done, in progress, or incomplete.
- Live usage
- A per-turn line: context used, cumulative tokens, output this turn. It is how you notice a session getting expensive before the bill does.
- Notes and status
- Give a session a status (Inbox, Active, Review, Done, Parked), record what it produced (Answer, Proposal, Implementation, Partial, Blocked, Conversation), and leave yourself a note.
Knowing which session needs you#
With five panes open, the only question that matters is which one is waiting on you. Sessions carry an explicit state rather than leaving you to infer it from scrollback — and when a session goes quiet, Mirasim says why instead of pretending it is still working.
- Running
- A turn is in flight.
- Needs you
- The agent asked a question, requested a permission, or a decision is blocking it. Answer in place — no restart.
- Queued
- Your next prompts are lined up behind the current turn.
- Stalled
- Nothing has moved for a while. The reason is spelled out: quiet for N seconds, a named tool still running, awaiting the model, or the process merely alive.
- Done / failed
- The turn settled, or it ended without a reply or with an error — stated as such, not smoothed over.
Answering an agent mid-task#
When an agent needs a permission or a choice, the question appears in the session, numbered if there are several. Pick one of its options, type a custom answer, or skip it. Answering does not restart the turn — the agent continues from where it paused.
Context, compaction, and long sessions#
Long sessions run into the context window. Mirasim shows how much of it a turn used, and the conversation can be compacted — summarized down to free room — either on demand from the composer's command list or automatically when the window fills. Either way the transcript records that it happened and how much was freed, so a suddenly forgetful agent is never a mystery.
Ending and cleaning up sessions#
Sessions are records, not scratch buffers — so deleting one asks what you actually mean.
- Mirasim record only — keeps the agent CLI's own transcript, so you can still resume the conversation outside Mirasim.
- Also delete the agent transcript — removes the agent's own jsonl / rollout files too. The conversation is fully gone.
- Also remove the worktree — for a session that ran in one. Git refuses to remove a worktree with uncommitted changes, which is the correct behavior, not an error to route around.
A running session has to be stopped before it can be deleted. If you want to pick a conversation up in the agent's own CLI instead, copy its native resume command from the session menu.
Something wrong or missing on this page? Tell us