Working with Threads
In the Tarsk UI, isolated thread workspaces are labeled branches. Each branch is a full git clone on its own git branch with an independent chat session. This page uses “branch” for UI labels and “thread” where referring to the underlying data model.
Creating a Branch
Section titled “Creating a Branch”- Select a project to enter the chat view (or project landing page).
- Click Branches in the chat footer (bottom-right).
- Click + in the popover, or press ⌘⇧T.
Tarsk:
- Creates a new directory at
~/Library/Application Support/Tarsk/data/{repo-slug}/(derived from the git URL; numeric suffix if the name already exists) - Clones (or copies) the project repository into that directory
- Checks out a new git branch
- Runs the project’s Setup Script if one is configured
- Opens the branch’s chat view
The branch is ready to use. Type a message to start working with the AI agent.
Switching Between Branches
Section titled “Switching Between Branches”Click Branches in the chat footer and select a branch from the list. Each branch remembers:
- Its chat history (all previous conversations)
- The currently selected model
- Its git branch and all file changes
- Whether the dev server is running
Status dots next to each branch indicate uncommitted changes (brand color), an open pull request (orange), or agent activity (animated).
Switching branches never interrupts work in other branches. If the AI agent is mid-run in one branch, you can switch to another and the agent keeps running in the background.
Opening a Branch in Your IDE
Section titled “Opening a Branch in Your IDE”Click Open in in the chat header to open the branch’s directory in your preferred IDE:
| IDE | Notes |
|---|---|
| VS Code | Opens the branch directory as a workspace |
| Cursor | Opens the branch directory |
| Windsurf | Opens the branch directory |
| Xcode | Opens the .xcodeproj or .xcworkspace if present |
| Android Studio | Opens the project |
| Kiro | Opens the branch directory |
| Terminal | Opens a terminal at the branch directory |
| Devin Desktop | Opens the branch directory in Devin |
| Antigravity | Opens the branch directory in Antigravity IDE |
Your preferred editor is saved when you pick one from the Open in menu and applies across projects.
Working in your IDE alongside the chat is a natural flow: ask the agent to make a change, review and adjust it in your editor, then ask for the next step.
Background Agent Runs
Section titled “Background Agent Runs”When the AI agent is processing a message, an animated status dot appears on that branch in the Branches list. You can switch to other branches or open dock panels while the agent continues in the background.
Deleting a Branch
Section titled “Deleting a Branch”Hover a branch in the Branches popover and click the trash icon, or use the delete control when prompted. A confirmation dialog appears. Deleting a branch:
- Removes it from the project and database
- Deletes the branch’s directory and git clone from disk
This is irreversible. If the git branch was pushed to a remote, it remains there and can be recovered.
Parallel Workflows
Section titled “Parallel Workflows”A common pattern is running multiple branches simultaneously:
- Branch 1: “Implement feature X” — agent is actively writing code
- Branch 2: “Write tests for feature X” — agent works independently on the same codebase
- Branch 3: “Review the diff for feature Y” — you’re reviewing a previous piece of work
Each branch operates on its own clone, so there are no race conditions or merge conflicts during agent work. You decide when to merge or compare branches afterwards.
Keyboard Shortcuts
Section titled “Keyboard Shortcuts”| Action | Shortcut |
|---|---|
| Create branch | ⌘⇧T |
| Toggle sidebar | ⌘B |
Related
Section titled “Related”- Threads Overview — what branches are and why they exist
- Chat Dock — open Files, Terminal, Browser alongside chat
- Git Operations — commit, push, and create pull requests