Summary
When running gh stack add from a regular branch that is not part of an existing stack, the command fails with:
✗ current branch "..." is not part of a stack
Checkout an existing stack using gh stack checkout or create a new stack using gh stack init
Proposal
Make gh stack add more ergonomic when invoked from a branch that is not yet part of a stack by allowing it to initialize a stack first and then add the level. Possible behaviors:
- Interactive flow (recommended default): if the current branch is not part of a stack, prompt the user with a yes/no confirmation to run
gh stack init first, then proceed with gh stack add.
Example:
$ gh stack add
Current branch is not part of a stack. Initialize a new stack here and continue? (Y/n)
- Explicit flag: provide a
--init flag to run non-interactively (useful for scripts/CI): gh stack add --init would run gh stack init automatically then add the level.
- Automatic (opt-in via config): an option in config to always auto-initialize when adding from a non-stack branch.
UX details
- If prompting, the command should mirror existing
gh conventions for confirmation prompts and be skippable with --yes/-y if desired.
- When auto-initializing, preserve the same behavior and defaults as
gh stack init (stack name, base branch selection, etc.).
Rationale
This reduces friction for users who create a branch and decide they want to start a stack on it (e.g., to add a stack level) without having to remember to run gh stack init first. The current failure is surprising and requires an extra manual step; a small interactive prompt or a --init flag would make the flow smoother.
Implementation notes / edge cases
- Ensure behavior is consistent with scripts and non-interactive environments (honor
--init, --yes, and standard CI detection).
- Preserve backwards compatibility: by default prompt the user rather than silently creating a stack unless the user explicitly requests automatic behavior.
Conversation context
This suggestion came from a user in Slack requesting gh stack add to either automatically run gh stack init or ask for confirmation when the current branch is not part of a stack.
View original Slack conversation
Summary
When running
gh stack addfrom a regular branch that is not part of an existing stack, the command fails with:✗ current branch "..." is not part of a stack
Checkout an existing stack using
gh stack checkoutor create a new stack usinggh stack initProposal
Make
gh stack addmore ergonomic when invoked from a branch that is not yet part of a stack by allowing it to initialize a stack first and then add the level. Possible behaviors:gh stack initfirst, then proceed withgh stack add.Example:
--initflag to run non-interactively (useful for scripts/CI):gh stack add --initwould rungh stack initautomatically then add the level.UX details
ghconventions for confirmation prompts and be skippable with--yes/-yif desired.gh stack init(stack name, base branch selection, etc.).Rationale
This reduces friction for users who create a branch and decide they want to start a stack on it (e.g., to add a stack level) without having to remember to run
gh stack initfirst. The current failure is surprising and requires an extra manual step; a small interactive prompt or a--initflag would make the flow smoother.Implementation notes / edge cases
--init,--yes, and standard CI detection).Conversation context
This suggestion came from a user in Slack requesting
gh stack addto either automatically rungh stack initor ask for confirmation when the current branch is not part of a stack.View original Slack conversation