Sessions & worktrees.
Every session is a parallel universe of your repo. Agents work there, you review there, and nothing touches main until you say so.
01Worktree isolation
When a session starts, Cyboflow creates an isolated git worktree for it — a real checkout on a real branch, separate from your working copy and from every other session. That’s what makes parallelism safe:
- Run several flows and chats against the same project at once; they can’t clobber each other or your uncommitted work.
- Runs nest inside sessions — a Sprint’s per-task subagents all share their session’s one worktree, landing one commit per task.
- Merging or dismissing a session only ever affects that session’s branch.
02Quick sessions
Not everything needs a flow. Quick Session in the picker opens an ad-hoc Claude conversation against your repo, in its own worktree like any other session. Use it to explore, fix something small, or prototype — then merge or dismiss the result exactly like a flow run.
03The composer
Flow runs and quick sessions share one chat surface. The composer carries a row of pills that set the session up per-message or per-run:
04Terminal dock & shell
- Every session has a collapsible terminal dock at the bottom of the chat — three sizes, from a slim strip to full height, and you can add more terminals side by side.
- Run views carry an always-available Shell tab: a plain shell already cd’d into the run’s worktree, for poking at what the agent actually did.
05Diff, merge, PR
When a run finishes it rests in review — a summary card with the outcome, token usage, and the actions. From there:
- Review the changes file by file in the Diff panel and file explorer — the diff is scoped to what this run changed.
- Merge the worktree branch back to main — Squash merge or preserve history. If main moved since the branch started, Cyboflow asks you to rebase the worktree first rather than merging stale.
- Open a PR instead, if that’s your team’s flow.
- Dismiss the session — the worktree goes away and main is untouched.