No non-interactive way to select a stack when the branch belongs to several (e.g. the trunk)
- Dominant language
- Go
- Stars
- 1.5k
- Forks
- 70
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 7
Description
## Summary
When the current branch belongs to more than one stack — most commonly the trunk, which is the base of every stack in the repo — `gh stack view` fails and offers no non-interactive way out:
```
$ gh stack view --short
✗ branch "main" belongs to multiple stacks; use an interactive terminal to select one
```
There is no `--stack` flag. Combined with `gh stack view` silently discarding positional arguments (#414), there is currently **no way at all** to view a specific stack non-interactively.
## Why this matters
Two stacks off a shared trunk is the normal state for anyone working on more than one change at a time, not an edge case — and `main` is in that position permanently, so any script or agent that starts from the default branch hits this immediately.
"Use an interactive terminal" is not available in CI, in a shell script, or to an automated agent. The only workaround is to `gh stack checkout ` first purely to move onto a branch in the desired stack, which mutates the working tree just to perform a read.
## Reproduction
```bash
# create two stacks that both base off main
git switch main
gh stack view --short # -> "belongs to multiple stacks; use an interactive terminal"
```
Public repo with two stacks off a shared `main`: https://github.com/xn/gh-stack-repro
## Expected
A `--stack ` flag on `view` (and anywhere else this ambiguity can arise), so the stack can be named explicitly without changing the checked-out branch.
## Environment
- `gh` 2.97.0
- `gh-stack` v0.1.0
- git 2.50.1
- macOS 26.4.1, darwin/arm64
Contributor guide
Research direction
Start at the `gh stack view` entry point and trace how it handles multiple stacks, interactive selection, and the discarded positional argument; compare this with the existing `gh stack checkout ` selection behavior. Done means `gh stack view --stack ` can select a stack from a shared branch without changing the checked-out branch, including the reproduced `main` scenario.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 64/100