Skip to main content
A conversation — sometimes called a session — is a single, independent thread of work between you and the agent. Synti organizes conversations like an email inbox, so you can run many tasks in parallel, pause and resume any of them, and keep a durable record of what the agent did and why. This page explains how conversations are stored, identified, and managed.

The inbox model

Rather than one long-running chat, Synti treats each task as its own conversation. That means you can:
  • Multitask across many threads and jump between them without losing context — every prior message and referenced file is preserved.
  • Track progress with statuses that move a conversation from active work into a closed archive.
  • Organize with labels and workspaces so related work stays grouped.
Because each conversation is self-contained, it also doubles as documentation: the decisions, tool calls, and results are all captured in the thread for later review.

Session identifiers

Every conversation gets a human-readable id in the form YYMMDD-adjective-noun — for example 260716-swift-falcon. The date prefix makes it easy to find work by when it started, while the adjective-noun suffix keeps the id short and memorable.

How conversations are stored

Conversations are persisted locally as JSONL files under your Synti config directory:
Each file begins with a header line of session metadata, followed by one line per message. Metadata captured for a session includes:
Storing conversations as plain JSONL on your machine keeps your data local and portable — nothing leaves your computer unless you connect an external source or share a conversation.

Statuses

Statuses drive the inbox workflow. Each status belongs to one of two categories:
  • Open statuses — such as Todo, In Progress, and Needs Review — keep a conversation in your active inbox.
  • Closed statuses — such as Done and Cancelled — archive the conversation automatically.
You can define custom statuses to match your own process, each with its own color, icon, and category. A conversation’s status is part of its metadata, so it travels with the session.

Labels and organization

Labels add a second dimension of organization on top of statuses. Apply them to group conversations by project, priority, or topic, and combine them with filters to focus the inbox. Workspaces provide the broadest boundary: each workspace keeps its own separate set of conversations, sources, and settings, so work in one project never bleeds into another.

Batch operations

When you’re triaging many threads, select multiple conversations and act on them at once — change status, apply labels, flag, archive, or delete in a single step. Use on macOS or Ctrl on Windows and Linux to multi-select.

Resuming a conversation

Reopening a conversation restores its full context: all previous messages are available, and any documents or files it referenced remain accessible. Skills invoked in a resumed conversation can also draw on the complete history, so long-running tasks stay coherent across sessions.

Long conversations

As a conversation grows, Synti keeps the model’s context window healthy automatically. Large tool results — those exceeding roughly 15,000 tokens — are summarized transparently, so the agent retains what matters without you having to prune the thread by hand. See Interactions for more on how messages and tool calls flow within a conversation.
Set a clear status and a couple of labels as soon as you start a task. A well-triaged inbox makes it far easier to resume the right conversation later.