Sessions, branches, projects
A session is one conversation with the model. Everything else — tools, attachments, artifacts, audit events — is scoped to a session.
The mental model
- Session — one chat. Persisted across restarts.
- Branch — a fork of a session from a specific point. Independent message history downstream of the fork point; both branches stay accessible.
- Project — a folder for grouping sessions. Optional. Useful when you're juggling multiple work threads.
Creating a session
Sessions view → New session (or ⌘N / Ctrl+N). The new session inherits:
- Your default provider and model (override in the chat header).
- Your default tool catalog (override in the Tools view).
- The current project, if you have one selected.
You can rename the session anytime — Kenaz auto-suggests a title from the first message after a few turns.
Branching
Hover any assistant message → click Branch from here. The new branch:
- Has all messages up to and including that assistant turn.
- Has none of the messages after.
- Shows up as a sibling in the session list with a fork icon.
Branches are cheap. Use them when you want to retry a path with different prompts or different models without losing the original.
Attachments
Drop files into the input or click the paperclip:
- Images (PNG, JPEG, WebP, GIF) — sent as inline content blocks for vision-capable models.
- PDFs — sent as inline content blocks for models that accept PDFs (Anthropic, OpenAI). Otherwise auto-extracted to text.
- Plain text — inlined.
- Other binaries — uploaded to the session's content-addressed store; Kenaz hands the model a reference + summary.
Attachment limits depend on the model — Kenaz greys out the paperclip when the active model can't accept the format.
Projects
Sessions view → top-of-rail dropdown → New project. Projects:
- Group sessions in the sidebar.
- Inherit a default model + a default system prompt for new sessions opened inside them.
- Persist a per-project root directory (used by the filesystem tool to scope reads to that root by default).
You don't have to use projects. They're an organizational tool, not a security boundary — permissions are still per-session.
Search
⌘F / Ctrl+F opens the session search. Searches across:
- Session titles.
- Message bodies (substring match).
- Attachment filenames.
- Artifact names.
Hit ↵ on a result to jump to the session at that message.
Export
Sessions view → ⋯ on a session → Export. Two formats:
- Markdown — human-readable transcript with attachments, tool calls, tool results inline.
- JSON — full audit-grade dump including timestamps, hashes, and tool result blobs.
Exports are generated locally; nothing leaves your machine.
Deletion
⋯ → Delete session removes the session from the UI. The audit log retains the session's events for the configured retention window — see Audit log for details on tightening that.