Threads Overview
A Thread is a workspace for working on a project. The sidebar Chats group lists one row per conversation, archived chats sit under a collapsed History group, and the branch picker in the dock footer switches workspaces. Threads you create with New Chat on the sidebar Chats heading 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:
| Panel | Purpose |
|---|---|
| Chat | Interact with the AI agent |
| Files | Browse and edit files in the workspace directory |
| Review | View diffs and review changes |
| Browser | Preview the running dev server |
| Terminal | Run ad-hoc shell commands |
| Tasks | Manage 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.
Why Threads Exist
Section titled “Why Threads Exist”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.
Thread Storage
Section titled “Thread Storage”By default, Tarsk creates additional thread directories under:
~/Library/Application Support/Tarsk/data/{repo-slug}/The folder name is the last two path segments of the project’s git URL joined with a hyphen, lowercased (e.g. https://github.com/org/repo → org-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.
Thread State
Section titled “Thread State”| Field | Description |
|---|---|
| Title | Human-readable name (e.g. “Add login page”) |
| Branch | Auto-generated from the title (e.g. add-login-page) |
| Current Conversation | The active conversation ID within this thread |
| Status | active or deleted |
Next Steps
Section titled “Next Steps”- Chat Dock — open Files, Terminal, Browser, and other panels alongside chat
- Working with Threads — create, switch, and delete workspaces
- Dev Server — run and preview your app inside a thread
- Files — browse, create, and edit files
- Browser Preview — preview your app in an embedded browser
- Terminal — interactive shell scoped to the thread
- Conversation History — browse past conversations in Settings → History