[Feature]: Fully custom branch name when starting a new worktree thread #6978
MrSimmmons
started this conversation in
Ideas
Replies: 3 comments 1 reply
|
I think this UI is ok, but I think basic configuration on the prefix is important for many teams it is required to be a specific pattern. |
0 replies
|
ditto at least wanting this as a feature. Honestly not too fussed on implementation but my team isn't too much of a fan of seeing t3code prefixed branches when I push the branch with default name to remote. Would be nice having prefix control and per worktree naming control too |
1 reply
|
The way that my PR is set up, it overrides the prefix. So this becomes a fully custom branch name. |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Before submitting
Area
apps/web
Problem or use case
New worktree threads get an auto-generated branch,
t3code/<hex>, and a directory derived from it,t3code-<hex>. Neither tells me anything.There is an LLM step that renames the branch after the first message, but it is best-effort and depends on a working text-generation CLI. When that CLI is missing or unhealthy it fails silently and every worktree keeps its hex name. #5359 reports 20 worktrees all named
t3code-<hex>.A scenario I ran into is I only have Claude, but the branch name LLM was configured to use Codex so would never work.
Outside T3 it can get a bit confusing as well. In an external Git client, a window switcher, or a list of open editor windows, every worktree looks identical and I can't tell which thread a given worktree belongs to without opening it.
Often the case, I already know what the branch should be called before I send the first message (picking up a ticket in Jira or Linear for example), and some workplaces put restrictions on branch names which makes using T3 Code a little cumbersome
Proposed solution
An optional text field next to the worktree controls in the composer, to name the branch before the thread is created.
feat/login-fixgives branchfeat/login-fixand directoryfeat-login-fix.Feature.V2should survive.Why this matters
It makes worktrees identifiable everywhere outside T3, which is where the confusion actually happens.
It gives a deterministic path to a readable branch that needs no text-generation provider at all — useful for anyone hitting #5359, and for anyone who would simply rather not spend an LLM call on naming.
It also side-steps #5734: when a name is typed, the branch-naming helper session is never spawned for that thread. That is not a fix for the underlying bug, but it is a usable workaround today.
Right now the workaround is to open the terminal drawer and
git checkout -bby hand, which several people in #272 describe doing.Smallest useful scope
One optional text input on the new-worktree composer, applied at creation time
Alternatives considered
git checkout -bmanually. Works, but it is a detour for something the composer could ask once.Risks or tradeoffs
Examples or references
Related issues: #3044 (this request, including the "before creating it" timing), #5359 (silent rename failure leaves every worktree hex-named), #5734 (the branch-name helper session going off task), #967 (comments asking for legible worktree directory names).
Adjacent: #272, #5275 and #5965 want configurable naming defaults — related but a different shape.
Near-freebie: #6163 asks for whitespace to be replaced with dashes when creating a branch. The same sanitizer would close it if it were also wired to the branch selector's create-branch flow.
Prior art: PR #1110 (closed, "Custom Branch Name" override), PRs #3954 and #6037 (open, prefix settings).
This is what ive been running in a fork (placeholder vs valid input)


Im not sold on this UI, but it works well for my use cases
Contribution
All reactions