Skip to content

Working with Threads

In the Tarsk UI, the sidebar lists your threads under Chats, and the branch picker in the chat window footer switches workspaces. Workspaces you create with + use separate clones or copies on their own git branches with independent chat sessions. The initial thread uses the project’s checkout. This page uses “workspace” for the per-thread directory and “thread” for the underlying data model.

  1. Select a project to enter the chat view (or project landing page).
  2. Click the + button next to the sidebar Chats heading (New chat in new workspace).
  3. Alternatively, 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 workspace’s chat view

The workspace is ready to use. Type a message to start working with the AI agent.

Open the branch picker in the chat window footer and select a workspace. Each workspace remembers:

  • Its chat history (all previous conversations)
  • The model each of its chats was last set to
  • Its git branch and all file changes
  • Whether the dev server is running

Status dots next to each workspace indicate uncommitted changes (brand color), an open pull request (orange), or agent activity (animated).

Switching workspaces never interrupts work in other workspaces. If the AI agent is mid-run in one workspace, you can switch to another and the agent keeps running in the background.

Click Open in in the chat header to open the workspace’s directory in your preferred IDE:

IDENotes
VS CodeOpens the workspace directory as a workspace
CursorOpens the workspace directory
WindsurfOpens the workspace directory
XcodeOpens the workspace directory in Xcode
Android StudioOpens the project
KiroOpens the workspace directory
TerminalOpens a terminal at the workspace directory
Devin DesktopOpens the workspace directory in Devin
AntigravityOpens the workspace 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.

When the AI agent is processing a message, an animated status dot appears on that workspace in the branch picker. You can switch to other workspaces or open dock panels while the agent continues in the background.

Hover a workspace in the branch picker in the chat window footer and click the trash icon, or use the delete control when prompted. A confirmation dialog appears when the workspace has a git status dot (uncommitted changes or an open pull request) or is a folder you opened yourself. Otherwise the workspace is deleted immediately. Deleting a workspace:

  • Removes it from the project’s workspace list and marks its database record as deleted
  • Deletes its Tarsk-managed clone from disk; Tarsk keeps a shared project root while other workspaces remain

Tarsk keeps folders outside its data directory, including folders you connected through Open Folder. Deleting the last workspace that uses the project root also unregisters the project.

This is irreversible. If the git branch was pushed to a remote, it remains there and can be recovered.

A common pattern is running multiple workspaces simultaneously:

  1. Workspace 1: “Implement feature X” — agent is actively writing code
  2. Workspace 2: “Write tests for feature X” — agent works independently on the same codebase
  3. Workspace 3: “Review the diff for feature Y” — you’re reviewing a previous piece of work

Each workspace 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.

ActionShortcut
Create workspace⌘⇧T
Toggle sidebar⌘B