Sessions
A session is one conversation with one agent. The daemon owns it: it writes the log, computes the state, and every connected client shows the same thing. Opening a session only reads the log. The agent starts when you send a prompt.
States
Section titled “States”Every session is in exactly one of six states. The daemon computes the state. Clients never guess it, and looking at a session never changes it.
| State | Meaning |
|---|---|
starting | The agent process or SDK session is starting up. |
idle | Ready. Waiting for your next prompt. |
running | The agent is working on a turn. A session enters this state as soon as you send. |
waiting | The agent is blocked on you, for example a question it asked. |
error | Something failed. You can resume the session. |
stopped | You stopped it, or the daemon shut down. Sending again starts it back up. |
The legal moves are: starting to idle or running; idle to running; running to waiting or idle; waiting back to running; any state to error or stopped; and error or stopped back to starting.
In the session list, starting and running sessions show a live marker, and waiting sessions show that they need you. When a turn finishes or fails while you are not looking at the session, the row keeps an unseen marker until you open it. The marker survives a daemon restart.
If the host’s network changes or it wakes from sleep, a running session can show Reconnecting. This is not a seventh state, and Weaver never resends your prompt on its own.
List filters
Section titled “List filters”The session list has these filters:
- All: every session that is not archived.
- Running:
startingorrunning. - Needs you:
waitingorerror. - Archived: archived sessions only.
- Todo: sessions you moved to Todo.
Organize
Section titled “Organize”Open a session’s menu (the row’s menu or the window header) for these actions:
- Rename.
- Pin / Unpin. Pinned sessions sort to the top.
- Mark as resolved / Mark as unresolved. Your own marker that the work is done. It is separate from the agent’s state. Marking a session resolved also clears its unseen marker. Turn on Hide resolved in Settings → General to keep resolved sessions out of the regular views.
- Move to Todo / Remove from Todo. Your own label. Todo sessions appear in the Todo filter. Hide Todos in Settings → General shows them only there.
- Archive / Unarchive. Archived sessions appear only under Archived, and search skips them.
- Reload session, Copy session ID, Copy transcript, Send feedback…, and Delete session….
Resolved, Todo, pinned, and archived are stored by the daemon, so they show up the same on every device.
Fork from a turn
Section titled “Fork from a turn”Forking makes a new session that shares the conversation up to a point. The original session does not change.
- Find a completed agent response. Its footer line has a fork action.
- Click fork. Weaver creates the new session and opens it.
Fork session in the session menu does the same from the latest successful turn.
What to expect:
- The fork uses the same agent as the source.
- You can fork only from a turn that completed successfully, not from the middle of a turn. The source can still be running; the fork takes the last completed turn and leaves out the partial one.
- Files are not rewound. A project session’s fork starts in the source session’s working directory as it is now. Git state, running processes, and other side effects stay as they are. A scratch conversation’s fork gets its own fresh scratch folder.
- Weaver uses the agent’s own fork when the agent supports it. Otherwise it carries the exact conversation (up to 512 KiB) or a summary. Cursor has no native fork, so its forks always use the carried conversation.
- A fork is blocked while the source has queued follow-ups, background tasks, a recovery in progress, or diff summaries running. The menu shows the reason.
- One fork per session at a time. Open a completed fork before you start another.
Continue on another agent
Section titled “Continue on another agent”You can move a conversation to a different agent. This creates a new session on the target agent. It does not keep the old session ID, and it does not change the source session.
- Open the session menu and choose Continue with another agent….
- Pick a transfer method:
- Summary: a compact brief with the goal, recent decisions, tool outcomes, changed files, failures, open questions, task state, and reported tests. It is capped at 24 KiB.
- As-is JSONL: the complete conversation history, including tool inputs and outputs, byte for byte.
- Pick the target agent.
- Pick a model, if the target agent lets you choose one.
- Review and confirm.
What to expect:
- The new session keeps the source’s project and working directory, and uses the model you picked. The target agent starts fresh.
- The carried context goes to the agent with your first prompt in the new session. Your prompt is shown and logged exactly as you typed it.
- The new session marks where the inherited history ends, so earlier output, files, usage, and cost are not credited to the new agent.
- As-is JSONL is limited to 512 KiB. If the conversation is larger, the option is disabled and tells you to use Summary. Weaver never truncates the log. Some older sessions cannot use As-is for privacy reasons; they also point you to Summary.
- The source must be at rest: no running turn, no queued prompts, no background tasks, no diff summaries running, and no recovery in progress.
- The target list shows only other agents that are turned on and support resuming a conversation.
Search
Section titled “Search”Press ⌘ K, or click the search button in the sessions panel. Type to search sessions, or run a command from the same box.
Search matches on:
- session title and first prompt
- the latest preview line
- agent
- project path and worktree
- session ID
- labels
Search runs on the daemon and does not include archived sessions. To browse those, choose the Archived tasks command from the same box. The box also offers New task and Group by project.