Skip to content

Working with Threads

  1. In the left sidebar, find the project you want to work on.
  2. Click the + button next to the project name.
  3. Enter a title for the thread (e.g. “Refactor auth module”, “Fix checkout bug”, “Explore new UI layout”).
  4. Click Create.

Tarsk:

  • Creates a new directory at ~/Library/Application Support/Tarsk/data/{threadId}/
  • Clones (or copies) the project repository into that directory
  • Checks out a new git branch named from your title (refactor-auth-module, fix-checkout-bug, etc.)
  • Runs the project’s Setup Script if one is configured
  • Opens the thread’s chat view

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

Click any thread name in the left sidebar to switch to it. Each thread remembers:

  • Its chat history (all previous conversations)
  • The currently selected model
  • Its git branch and all file changes
  • Whether the dev server is running

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

Click the Open With button in the top toolbar to open the thread’s directory in your preferred IDE:

IDENotes
VS CodeOpens the thread directory as a workspace
CursorOpens the thread directory
WindsurfOpens the thread directory
XcodeOpens the .xcodeproj or .xcworkspace if present
Android StudioOpens the project
KiroOpens the thread directory
TerminalOpens a terminal at the thread directory

The preferred IDE is set per-project in Project Settings.

Working in your IDE alongside the chat is a natural flow: ask the agent to make a change, then review and adjust it in your editor, then ask for the next step.

At the top of every thread view, the branch bar shows:

  • The current git branch name (e.g. add-login-page)
  • Your local git username

This confirms you’re on the right branch and quickly identifies which thread you’re in.

Right-click a thread in the sidebar (or use the context menu ...) and choose Rename. The title is updated in the UI. Note: renaming a thread does not rename the git branch — the branch stays as originally created.

Right-click a thread and choose Delete, or open the thread’s context menu. A confirmation dialog appears. Deleting a thread:

  • Removes it from the sidebar and database
  • Deletes the thread’s directory and git clone from disk

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

A common pattern is running multiple threads simultaneously:

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

Each thread operates on its own clone, so there are no race conditions or merge conflicts during the agent work. You decide when to merge or compare branches afterwards.