Skip to content

Threads Overview

A Thread (listed under Chats in the sidebar) is a workspace for working on a project. Threads you create with + use:

  • A full clone or copy of the project’s repository in a separate directory
  • Their own git branch
  • An independent chat session with the AI agent
  • Their own model preferences

Open dock panels from the chat dock Window launcher:

PanelPurpose
ChatInteract with the AI agent
FilesBrowse and edit files in the workspace directory
ReviewView diffs and review changes
BrowserPreview the running dev server
TerminalRun ad-hoc shell commands
TasksManage project tasks

The agent uses the active thread’s directory. The initial thread shares the project’s checkout. For Open Folder projects, that means the agent edits your original folder. Create another thread for a separate workspace.

Traditional AI coding tools operate on a single shared copy of your codebase. This creates a problem: if you want to try two different approaches to the same feature, or work on two issues simultaneously, edits conflict.

Threads solve this by giving each line of work its own isolated environment. You can:

  • Run the agent on feature A in thread 1 while reviewing feature B in thread 2
  • Try two completely different approaches to a refactor and cherry-pick the better result
  • Keep a “clean” thread for reference while experimenting in another
  • Work on a bug fix in one thread while a new feature is being developed in another

Each thread has its own git branch, so merging the result back is a standard git merge or pull request.

By default, Tarsk creates additional thread directories under:

~/Library/Application Support/Tarsk/data/{repo-slug}/

The folder name is the last path segment of the project’s git URL, lowercased (e.g. https://github.com/org/repo → repo). If that name is already taken, Tarsk appends -1, -2, and so on. Each path is a full git clone on disk. Open it in any IDE, run commands in it, or inspect it with git tools. Agent changes are real filesystem writes, not diffs or patches.

FieldDescription
TitleHuman-readable name (e.g. “Add login page”)
BranchAuto-generated from the title (e.g. add-login-page)
Current ConversationThe active conversation ID within this thread
Statusactive or deleted