Cyboflow rev 00113 · docs Home Features Docs Download Changelog
Docs · 04 · where the work happens

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:

ModelPick the Claude model — see models & permissions.
FastOpus-only fast mode — faster output, same model.
PermissionThe session’s live permission mode.
MCP / PluginToggle which MCP servers and plugins this session may use.
CheckpointMark a restore point in the conversation.

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.
Note Merging a sprint is what moves its tasks to Done on the board — the board tracks what actually shipped, not what an agent claims it finished.