Git Worktrees

Git worktrees give every project chat its own isolated branch so specialists can make changes without affecting your main code. Each conversation gets a dedicated working copy, and you control versioning through an in-chat toolbar.

This page covers how to enable worktrees, what the in-chat toolbar does, and how to keep everything in sync with your remote.

Enable Git Worktrees

Git Worktrees section with the enable toggle and Remote Sync controls

Worktrees give every project chat its own branch and working directory. Specialists write code in that isolated branch, so your main branch stays clean throughout the entire conversation.

To turn them on, open the Configuration page and toggle Enable Git worktrees. You need at least one cloned repository in the project before the toggle becomes available.

Once enabled, every new chat you create inside that project automatically gets its own worktree. Existing chats without a worktree are not affected.

Work in a Project Chat

When you open a project chat that has worktrees enabled, a toolbar appears at the top of the conversation. It gives you quick access to version control without leaving the chat.

The toolbar has four controls:

  • Branch badge. Shows the branch icon and the name of the branch assigned to this chat. Each chat gets a unique branch so work never collides across conversations.
  • Turn counter. A button labeled "Turn X/Y" that opens the snapshot history in the right sidebar. Each snapshot is a point-in-time record of the code at that turn, so you can review exactly what changed and when.
  • Undo last turn. Reverts the most recent specialist action. The button is disabled when there is nothing to undo. Use it whenever a specialist takes a direction you want to roll back.
  • Push to remote. Pushes the worktree branch to the remote repository so teammates can see the changes or open a pull request.

Think of it as version control built right into the conversation. Every specialist action is tracked, and you can step backward or push forward whenever you need to.

Manage Worktrees

Active Worktrees page with empty state and Remote Sync controls

Click the Active Worktrees icon (🔀) in the project toolbar to open the dedicated worktrees page. It lists every active worktree with these details:

  • Repository URL
  • Branch name
  • Linked chat ID
  • Last updated timestamp

This page is useful for getting a birds-eye view of all the branches specialists are working on across your project chats. You can quickly spot which conversations are active and when each worktree was last touched.

If a chat is deleted while its worktree still exists, that worktree is flagged as orphaned with a warning badge. Orphaned worktrees are cleaned up automatically the next time the app restarts. You do not need to remove them manually.

Use the Refresh button at the top of the list to reload worktree status at any time.

Sync with the Remote

Both the Configuration page and the Worktrees page offer remote sync controls to keep your branches current with the upstream repository.

Check for updates compares each worktree branch against its remote and reports a summary. You will see either "X worktree(s) have updates (Y new commits)" or "All worktrees are up to date".

Update all pulls the latest remote changes into every worktree in one click. This is the fastest way to bring all branches up to date at once.

Running a sync regularly keeps your worktree branches current, especially when teammates push to the same remote. Pulling before you start a new chat session helps avoid merge conflicts down the line.

Tip

Check for updates before starting a new chat session. A quick sync keeps your worktree branches aligned with the remote and prevents conflicts later.

What to Explore Next

  • Project Knowledge Sources. Attach files, docs, and context that specialists can reference during a conversation.
  • Projects overview. Create and configure projects, manage repositories, and invite collaborators.
  • Chat. Messaging basics, conversation layout, and sidebar navigation.