Sessions

Zagens organizes work into sessions (conversations) scoped to a workspace.

Session sidebar

Each session remembers messages, tool calls, and thread state in local SQLite storage (via the runtime sidecar on desktop, or in-process in TUI/CLI).

Restore after restart

When you reopen Zagens, the chat shows restore progress and the data source (cache / thread replay / session archive). Since v0.8.0, Kernel V3 prefers log-first transcript repair from the kernel event log when session JSON alone is incomplete — see Kernel V3. Incomplete history shows a degraded warning; use Reload to retry thread event replay. Tool call cards restore from persisted threads (not localStorage alone).

Parallel multi-session streaming

Since v0.8.3 / 0.8.4, switching sessions lets background turns keep streaming (session strip shows in-progress). Each session can have its own config overlay (LHT, approval, …) without restarting the sidecar. See Streaming.

Task type and sessions

When you switch Code ↔ Office task type, Zagens starts a new session so tool surfaces and model KV stay consistent. Plan separate sessions for engineering vs document work.

Workspace binding & isolation

Sessions belong to the active workspace path. Changing workspace switches which session list you see.

Composer ⋯ → Session isolation can create a git worktree under .worktrees/ for parallel edits on the same repo.

Checkpoints

On user messages: Restore files (pre-turn snapshot; chat unchanged) vs Branch (fork the thread). See Snapshots.

Tips

Related: Streaming · Context usage