Skip to main content

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.

⌘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.