Zach S
03/10/2026, 9:15 PMgt create taking upwards of 15 seconds for me?Pylon
03/10/2026, 9:15 PMgt feedback --with-debug-context <any message>Zach S
03/10/2026, 9:16 PMIn the exact path you care about, gt create xxx still does all of this before/around the branch creation:
- It runs git --no-optional-locks status -z three separate times: once for staged changes, once for tracked unstaged changes, and once for untracked changes.
- It initializes Graphite repo context and syncs tracked branch / PR metadata with local branches.
- Because gt create is treated as a tracked mutation, it logs an undo snapshot at the start and end of the command. That snapshot code also calls git stash create to capture working-directory state.
- It creates/switches the branch and writes Graphite branch metadata, not just Git refs.
- If there are staged changes, it does even more: detach HEAD, commit, then create the branch, then show a diff/stat summary.
- If you use --insert, it may restack descendants. If you use --ai, it adds an API call.
So the main reason for "15s vs 1-2s" is architectural, not Git branching itself. Inference from the source: the biggest likely culprits on your machine are the repeated git status scans plus the mutation snapshotting/cache work. If your repo has lots of files, lots of untracked/generated files, or
lots of tracked Graphite branches, that gets amplified.
For flags that can help:
- --no-verify: helps only if gt create is actually making a commit and your Git hooks are slow.
- --no-ai: helps only if you were using --ai.
- --quiet or --no-interactive: may shave tiny UI/prompt overhead, but they do not bypass the expensive status/snapshot/metadata path.
- There does not appear to be a "fast mode" flag that makes gt create behave like git checkout -b.
So if your goal is specifically "instant empty branch creation," I do not see a Graphite arg that gives you that. The practical fast path is plain Git for creation, then Graphite tracking afterward if needed.
Sources:
- Graphite command reference (<https://graphite.dev/docs/command-reference>)
- Graphite create-stack docs (<https://graphite.dev/docs/create-stack>)
- Installed CLI bundle I inspected
- NPM package for the inspected version (<https://www.npmjs.com/package/@withgraphite/graphite-cli/v/1.6.8>)
If you want, I can next map out the smallest set of local repo characteristics that would make those three git status calls especially expensive, so you can confirm which one is biting you without ever invoking gt create.
I would love a command that can create a branch in like <5s
Can I just do git checkout -b my-branch && gt track -p <parent> where <parent> is the existing branch? Is that going to create a corrupted graphite tracking state or will that be okay?Pylon
03/10/2026, 9:34 PMgt track that wayZach S
03/11/2026, 3:28 PMgt parent sometimes takes a long time
When can I expect this "next stable release"?Pylon
03/11/2026, 3:38 PM