Manage stacked pull requests from the VS Code sidebar. See your full stack tree, browse files per branch, check PR and CI status, and navigate between branches — all without leaving the editor.
The extension adds an ezstack panel in the activity bar. It displays every stack as a tree with branches, PR state, CI status, and review state — all updated in real time.
See all your stacks organized as trees. Each branch shows its PR number, state (open, draft, merged, closed), CI check summary, and review status. The current branch is highlighted.
# What you see in the sidebar:
Stack: my-feature [a1b2c]
├── feature-part1 PR #42 [OPEN] CI: 3/3 passed APPROVED
│ └── feature-part2 PR #43 [DRAFT] CI: pending
│ └── feature-part3 (no PR)
The tree watches ~/.ezstack/stacks.json for changes. Whether you use the CLI or the extension, the view stays in sync automatically. No manual refresh needed.
# Use the CLI in a terminal...
$ ezs new my-new-branch
# ...the sidebar updates instantly
✓ Tree view refreshed automatically
The status bar shows your current branch and stack name at all times. Click it to quickly jump to any branch in your stacks.
# Status bar shows:
$(git-branch) feature-part2 • my-feature [a1b2c]
All operations are available via Cmd+Shift+P (or Ctrl+Shift+P) under the ezstack category. Right-click branches in the tree for context menus too.
Create, delete, reparent, sync, and push branches directly from VS Code. Right-click any branch in the sidebar to sync or push it headlessly.
# Available commands:
ezstack: New Branch # Create a new stacked branch
ezstack: Sync # Sync rebases (opens terminal)
ezstack: Sync Branch # Sync a specific branch (headless)
ezstack: Push Branch # Push current or specific branch
ezstack: Push Stack # Push all branches in stack
ezstack: Delete Branch # Delete branch and worktree
ezstack: Reparent Branch # Move to a different parent
Create PRs, toggle draft status, merge, and update the stack navigation table in all PR descriptions — without switching to the browser.
# PR commands:
ezstack: Create PR # Prompts for title and draft/ready
ezstack: Update PR # Update PR base branch
ezstack: Merge PR # Squash, merge, or rebase
ezstack: Toggle PR Draft # Switch draft status
ezstack: Update Stack Info in PRs # Update navigation tables
Launch the ezstack AI agent or the feature builder directly from the sidebar. Edit agent prompts without leaving the editor. Requires worktree mode (use_worktrees: true).
# Agent commands:
ezstack: Open Agent # Launch agent on current branch
ezstack: Build Feature with Agent # Describe a feature, get stacked PRs
ezstack: Edit Agent Prompt # Customize agent prompts
Download the VSIX and install it in under a minute. Requires the ezs CLI, Git 2.20+, and gh (GitHub CLI) for PR features.
Download the .vsix file from the latest release and install via the command line or the VS Code UI.
# Install from terminal
$ code --install-extension ezstack-4.4.2.vsix
# Or in VS Code:
Cmd+Shift+P → "Install from VSIX"
→ select the downloaded .vsix file
Clone the repo, build the extension, and install the generated VSIX.
$ cd vscode-extension
$ npm install
$ npm run compile
$ npx vsce package
→ produces ezstack-4.4.2.vsix
$ code --install-extension ezstack-4.4.2.vsix
Customize the extension behavior in VS Code settings.
| Setting | Default | Description |
|---|---|---|
ezstack.cliPath |
"ezs" |
Path to the ezs CLI binary |
ezstack.autoRefresh |
true |
Auto-refresh tree view when config files change |
ezstack.ticketPattern |
"" |
Regex to extract ticket IDs from branch names (e.g. PROJ-\d+). Shown in status bar and folder badges |