Skip to content
NeuralRepo
Get Support

nrepo branch

Terminal window
nrepo branch <id> [options]

Creates a new idea from an existing one, recording the original as its parent. Use it to explore an alternative without editing — or losing — the version you already have.

FlagTypeDefaultDescription
--title <title>stringThe original’s titleTitle for the variant.
--body <body>stringThe original’s bodyBody for the variant.
--jsonbooleanfalseOutput the new idea as JSON.
--humanbooleanForce human-readable output. Wins over --json.
FieldValue on the branch
TitleThe original’s, unless --title is given
BodyThe original’s, unless --body is given
TagsCopied from the original
StatusAlways captured — never the original’s status
Sourcecli, whatever the original’s source was
ParentThe original, recorded in parent_id

Nothing is copied back the other way, and the original is not modified.

Terminal window
nrepo branch 391 --title "Dark mode — Tailwind approach"
✓ Branched from #391 as #55
#55 captured ⬡ Dark mode — Tailwind approach [ui, frontend]
Processing: embeddings, dedup, and auto-tagging queued
Compare with: nrepo diff 391 508

The parent relation is created a moment later

Section titled “The parent relation is created a moment later”

Setting parent_id is synchronous, but the visible parent relation between the two ideas is created by the background queue that also handles embedding and dedup. For a second or two after branching, nrepo links on the new idea shows nothing:

Terminal window
nrepo branch 391 --json | jq -r .id # 508
nrepo links 508 # "No links" — the queue has not run yet
sleep 3
nrepo links 508 # Child of ← #42

The relation is recorded as system-created, so it appears in the mind map styled differently from relations you draw by hand. nrepo diff 508 works immediately either way, because it reads parent_id directly.