Skip to content

Conversation History

Tarsk stores every message, agent response, and tool call in a local SQLite database. Nothing is sent to a server — your conversation history stays on your machine.

Each message exchange is stored in the conversation_history table with:

FieldDescription
idUnique record ID
threadIdThe thread this conversation belongs to
conversationIdUUID grouping messages into a single conversation session
requestYour original message
responseThe agent’s full response
eventsThe raw stream of agent events (tool calls, thinking, deltas)
createdAtTimestamp

The database lives at ~/Library/Application Support/Tarsk/tarsk.db.

A thread can contain many conversations. Each time you click New Chat, a new conversationId is generated and the visible chat clears — but ALL previous conversations in that thread remain stored and accessible via the History view.

Think of it like browser tabs: closing a tab doesn’t delete your history.

Click the History icon in the left sidebar (or the conversation history button in the toolbar) to open the History panel. This shows a table of all past conversations across all threads.

The history panel can be filtered by:

  • Project — show only conversations from a specific project
  • Thread — narrow to a single thread’s conversations

Each row shows:

  • Thread name and project
  • First few words of the request
  • Timestamp

Click any row to view the full conversation.

When viewing a past conversation, a Replay option re-streams the captured agent events locally without invoking the AI model again. This is useful for reviewing exactly what the agent did, step by step, including tool calls and intermediate results.

Replay plays back the original NDJSON event stream: text deltas, tool calls, results, and completion — all from the stored record.

ActionEffect
New ChatCreates a new conversationId; previous conversations are preserved and accessible in History
Delete ThreadRemoves the thread and all its conversations permanently

There is currently no way to delete individual conversations without deleting the thread.

The conversation history is also accessible via the REST API:

GET /api/conversations?threadId={threadId}

Returns a list of all conversations for a thread, ordered by date descending.

GET /api/conversations/{conversationId}

Returns all events for a specific conversation.

This is useful for integrating conversation history into external tools, building reports, or exporting logs.