Before submitting
Area
apps/web
Problem or use case
I use T3 Code with New threads → New worktree and Start from origin enabled.
When I create a new thread while viewing an existing thread on a feature branch, the base branch picker inherits that thread's branch, for example:
From agent/month-view-all-day-default
For unrelated tasks, I want each new worktree thread to start from the repository's default branch, usually main. Today I must manually select main for every new thread. This makes it easy to accidentally base an unrelated task on a previous feature branch.
Proposed solution
Add a setting for the default base branch used by new worktree threads.
Suggested options:
- Repository default branch (
origin/HEAD, usually main)
- Current branch
- Remember the last selected branch
- A specific branch configured per project
My preferred default is Repository default branch.
This should be independent of the existing settings:
- New threads → New worktree controls where the thread runs.
- Default base branch controls which ref the worktree starts from.
- Start from origin controls whether the latest remote version of that branch is used.
The branch picker should remain available for one-off overrides.
Why this matters
A new thread often represents a new, unrelated task. Inheriting the currently viewed feature branch is useful for follow-up work, but surprising and potentially unsafe for independent work.
A predictable workflow would be:
- New thread starts from the configured default base branch.
- Fork or continue from an existing thread inherits that thread's branch.
- The user can explicitly select another branch when needed.
This would reduce accidental branch dependencies.
Smallest useful scope
Add a global setting with two options:
- Repository default branch
- Current branch
Use it to initialize the base-branch picker for a new worktree draft. A per-project override could be added later.
Alternatives considered
- Manually selecting
main works, but is repetitive and easy to forget.
- Keeping the local checkout on
main does not fully solve the problem because the picker can inherit the branch of the currently viewed thread.
- Start from origin updates the selected branch from its remote counterpart, but does not choose the branch.
Risks or tradeoffs
Some users intentionally create new threads as follow-ups to the active feature branch. Changing the behavior unconditionally could disrupt that workflow.
Making it configurable preserves both workflows.
Examples or references
Observed on T3 Code Alpha 0.0.31 on macOS.
Current settings:
- New thread mode: New worktree
- Start from origin: Enabled
Related but distinct: #1111 discusses syncing a selected base branch from origin. This request concerns which base branch is selected by default.
Contribution
Before submitting
Area
apps/web
Problem or use case
I use T3 Code with New threads → New worktree and Start from origin enabled.
When I create a new thread while viewing an existing thread on a feature branch, the base branch picker inherits that thread's branch, for example:
From agent/month-view-all-day-defaultFor unrelated tasks, I want each new worktree thread to start from the repository's default branch, usually
main. Today I must manually selectmainfor every new thread. This makes it easy to accidentally base an unrelated task on a previous feature branch.Proposed solution
Add a setting for the default base branch used by new worktree threads.
Suggested options:
origin/HEAD, usuallymain)My preferred default is Repository default branch.
This should be independent of the existing settings:
The branch picker should remain available for one-off overrides.
Why this matters
A new thread often represents a new, unrelated task. Inheriting the currently viewed feature branch is useful for follow-up work, but surprising and potentially unsafe for independent work.
A predictable workflow would be:
This would reduce accidental branch dependencies.
Smallest useful scope
Add a global setting with two options:
Use it to initialize the base-branch picker for a new worktree draft. A per-project override could be added later.
Alternatives considered
mainworks, but is repetitive and easy to forget.maindoes not fully solve the problem because the picker can inherit the branch of the currently viewed thread.Risks or tradeoffs
Some users intentionally create new threads as follow-ups to the active feature branch. Changing the behavior unconditionally could disrupt that workflow.
Making it configurable preserves both workflows.
Examples or references
Observed on T3 Code Alpha 0.0.31 on macOS.
Current settings:
Related but distinct: #1111 discusses syncing a selected base branch from origin. This request concerns which base branch is selected by default.
Contribution