Skip to content

Threads Overview

A Thread is an isolated workspace for working on a project. Each thread is:

  • A full clone of the project’s repository in its own directory
  • On its own git branch, derived from the thread title
  • Paired with an independent chat session with the AI agent
  • Configured with its own skill and model preferences

Threads have multiple tabs for different workflows:

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

Threads are the core unit of work in Tarsk. When you ask the AI agent to make changes, it operates inside that thread’s clone — never touching any other thread or the original project directory.

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.

Threads are stored at:

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

The folder name comes from the project’s git URL (e.g. https://github.com/org/repoorg-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
Enabled/Disabled SkillsPer-thread skill overrides
Statusactive or deleted