Branches and targets
Each Git-backed task runs in a git worktree. The worktree has a current branch, and Superconductor tracks a target branch for review and comparison.
Current branch
Section titled “Current branch”The current branch holds the worktree’s changes. Example branch names:
feat/api-docsfix/login-timeoutchore/update-fixturesWhen a worktree starts from a generated or temporary branch name, rename it from a Superconductor-launched terminal:
sc worktree rename-branch feat/api-docsRun the command from the worktree’s terminal so Superconductor resolves the correct worktree.
Branch naming
Section titled “Branch naming”New worktrees start on a temporary branch prefixed sc-. Superconductor treats the sc- prefix as a signal to require a one-time rename before normal task work, so the first action in a new worktree’s terminal or agent session should be sc worktree rename-branch <name>.
When Settings → Agents → Session default → Branch naming is enabled (the default), Superconductor adds a naming rule to the launched agent’s prompt. The agent then proposes a name and runs sc worktree rename-branch itself.
The built-in convention is kebab-case with a type prefix, drawn from Conventional Commits:
feat/ new featurefix/ bug fixrefactor/ internal restructuringdocs/ documentation onlychore/ maintenance, dependencies, toolingtest/ tests onlyci/ CI configurationperf/ performancestyle/ formatting onlybuild/ build system or external depsExamples:
feat/api-docsfix/login-timeoutrefactor/sidebar-statedocs/install-guidechore/update-fixturesCustom naming rule
Section titled “Custom naming rule”Override the built-in rule per scope. Settings cascade global → workspace → project, so a single repository can pin its own convention. Edit the rule in Settings → Agents → Session default → Branch naming; the chosen scope’s rule replaces the prefix list passed to the agent.
A custom rule might require a ticket prefix:
{ticket}/{short-description}, kebab-case, e.g. ENG-1234/login-timeoutManual rename
Section titled “Manual rename”If you prefer to name branches yourself, disable automatic branch naming in the same panel, then run sc worktree rename-branch <name> from the worktree’s terminal before starting work. Superconductor blocks normal review actions until the sc- prefix is gone.
Target branch
Section titled “Target branch”Superconductor compares the worktree against the target branch. The target powers review summaries, changed-file counts, behind-target indicators, and review checklists.
Common target branches:
mainmasterdeveloprelease/2026-05Check the current target branch with:
sc worktree status --jsonSet the target only when you intend to change the merge target:
sc worktree set-target-branch release/2026-05Why Superconductor does not infer it
Section titled “Why Superconductor does not infer it”Superconductor owns the worktree’s target branch, and the app may use a project-specific or PR-specific value. Do not infer the target from the folder name, the current git branch, or origin/HEAD.
If an agent needs the target branch, tell it to run:
sc worktree status --jsonBehind and stale branches
Section titled “Behind and stale branches”If the target branch has moved, the worktree falls behind. Fetch or rebase through your normal git workflow, then review the diff again.
Before merging, confirm that:
- The target branch is correct.
- The current branch is up to date with the target.
- The diff contains only the intended task.
- Tests ran against the branch you plan to merge.
Pull requests
Section titled “Pull requests”When a worktree has an associated pull request, Superconductor uses PR metadata for the target branch and review state. The local target branch still matters because it controls local diff summaries and review commands.