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.
How History Is Stored
Section titled “How History Is Stored”Each message exchange is stored in the conversation_history table with:
| Field | Description |
|---|---|
id | Unique record ID |
threadId | The thread this conversation belongs to |
conversationId | UUID grouping messages into a single conversation session |
request | Your original message |
response | The agent’s full response |
events | The raw stream of agent events (tool calls, thinking, deltas) |
createdAt | Timestamp |
The database lives at ~/Library/Application Support/Tarsk/tarsk.db.
Conversations vs Threads
Section titled “Conversations vs Threads”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.
Viewing Conversation History
Section titled “Viewing Conversation 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.
Filtering
Section titled “Filtering”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.
Replaying a Conversation
Section titled “Replaying a 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.
New Chat vs Deleting History
Section titled “New Chat vs Deleting History”| Action | Effect |
|---|---|
| New Chat | Creates a new conversationId; previous conversations are preserved and accessible in History |
| Delete Thread | Removes the thread and all its conversations permanently |
There is currently no way to delete individual conversations without deleting the thread.
API Access
Section titled “API Access”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.