Cannot create new chat threads inside a Git Worktree - "+" button creates threads in the original branch instead

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

Hi Cursor team,

I found an issue with the current Git Worktree workflow.

I created a Git Worktree in Cursor:

business-agent (worktree)
└── branch: business-agent-business-agent-xxx

The worktree appears correctly in the sidebar. However, when I click the “+” button next to the worktree name, I expect Cursor to create a new Agent/chat thread inside this worktree.

Instead, the new thread is created under the original repository branch, not the worktree.

This causes:

The new Agent session uses the wrong git context.
Changes are not isolated in the worktree.
I cannot create multiple independent Agent conversations inside the same worktree.

The only workaround currently is:

Open the existing Agent thread inside the worktree.
Use “Fork” to create another conversation.

However, this is inconvenient because the “+” button appears to mean “create a new thread in the current workspace”, and users would expect it to inherit the current worktree context.

Expected behavior:

business-agent (worktree)
+
├── Agent Thread 1
├── Agent Thread 2
└── Agent Thread 3

Each thread should remain attached to the same worktree environment.

Environment:

Cursor version: [fill version]
OS: Windows 11
Git Worktree enabled
Agent mode enabled

Screenshot attached.

Could you please confirm whether this is expected behavior or a bug?

Thanks!

Steps to Reproduce

Looking as Describe

Operating System

Windows 10/11

Version Information

Version: 3.14.27 (user setup)
VS Code Extension API: 1.128.0
Commit: 047548b00c1a079373d74d00183f32510a4a41e0
Date: 2026-08-04T03:29:11.183Z
Layout: IDE
Build Type: Stable
Release Track: Default
Electron: 40.10.3
Chromium: 144.0.7559.236
Node.js: 24.15.0
V8: 14.4.258.32-electron.0
xterm.js: 6.1.0-beta.291
OS: Windows_NT x64 10.0.19044

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hey, thanks for the detailed report and the screenshot. I’ll break down what’s going on.

Cursor-managed worktrees are currently task-scoped. Each worktree is tied to the agent that created it, so the + next to the worktree group resolves in the context of the parent checkout, not the worktree itself. That’s the current behavior, not something in your setup. You’re also right about one thing. The tooltip on + says New Agent in , but the thread actually goes to the parent branch. That mismatch has been shared with the team.

For now, here are working ways to start threads inside the worktree:

  1. Fork a thread that’s already inside the worktree. This is the only flow that inherits the worktree context, and it’s the workaround you found.
  2. In Agents Window, when you create a New Agent, explicitly pick the target worktree in the project or environment selector.
  3. Open the worktree folder as a separate window. Go to File > Open Folder, then pick the path under .cursor/worktrees in your project root. In that window, all new threads will run on that code as Local.
  4. If you need a fresh worktree based on the branch from an existing worktree, when creating a New Agent pick New Worktree, then in the branch picker select the current worktree’s branch as the base. Note that it uses the latest committed state, so commit any unfinished work first.

A similar breakdown with the same workaround is here: How to create a new agent on an existing worktree

Let me know if any of this doesn’t work for your case.