[FEATURE] BULLSHIT feature of worktree - who genius developed it?

Resolved 💬 2 comments Opened Apr 9, 2026 by kyle-tmf Closed May 23, 2026

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] This is a single feature request (not multiple features)

Problem Statement

  1. Diverged git histories

Each session creates a branch like claude/random-name. After 12+ sessions, you end up with 12+ diverged branches that are nearly impossible to merge back cleanly — --allow-unrelated-histories, rebase conflicts, force pushes become the only way out.

  1. Lost work

Files created in a worktree are invisible from the main project directory. If the worktree gets cleaned up, those files are gone. I lost important project documents this way — they were committed to a worktree branch but never visible in my actual project folder.

  1. Context loss across sessions

Key decisions and artifacts from one session live in a worktree branch. Starting a new session creates a fresh worktree that doesn't have those changes. You have to manually merge between sessions just to maintain continuity.

  1. No user control

There is no setting, flag, or config to disable this behavior in the Desktop app. The CLI works fine without worktrees (claude without -w), but Desktop forces it.

Proposed Solution

Add a setting in Claude Code Desktop to disable automatic worktree creation, so sessions work directly in the main project directory — the same behavior as the CLI without -w.

This should be a simple toggle: Settings → "Use git worktrees for session isolation" → OFF.

Alternative Solutions

_No response_

Priority

High - Significant impact on productivity

Feature Category

Configuration and settings

Use Case Example

Over multiple sessions, I worked with Claude to develop foundational design principles for my project — core rules that govern how the entire system reasons and operates. The session where we developed these committed the file to a worktree branch (claude/magical-moser). Session ended, I moved on.

Weeks later, the file was gone. Not in my project directory, not on main, not anywhere visible. The worktree had been cleaned up. After extensive searching through 12 session transcripts, I found the original discussion buried in a JSONL log and had to reconstruct the file manually.

If that transcript had been compacted or lost, foundational project IP would have been permanently destroyed.

Additional Context

_No response_

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗