Skip to content
| Marketplace
Sign in
Visual Studio Code>SCM Providers>GitHub CLI ManagerNew to Visual Studio Code? Get it now.
GitHub CLI Manager

GitHub CLI Manager

Terry Huang

|
1 install
| (0) | Free
Pull request and Actions workflow manager for VS Code backed by the GitHub CLI.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

GitHub CLI Manager

A lightweight VS Code extension that combines the core browsing experience of vscode-pull-request-github and vscode-github-actions, but uses the local GitHub CLI (gh) for every GitHub interaction.

Why this extension

GitHub's official PR and Actions extensions ship as Microsoft / GitHub marketplace builds and do not run reliably on non-Microsoft distributions of VS Code (VSCodium, Antigravity, Cursor without the MS marketplace, code-server, etc.) — they expect the built-in GitHub auth provider that those forks don't bundle.

This extension sidesteps that entirely: every GitHub call goes through your local gh binary, so there is no token to paste, no OAuth flow, and no extension-level auth settings. If gh auth status works in your terminal, this extension works.

Features

A single GitHub CLI Manager activity-bar container with three views: Accounts, Pull Requests, and Actions.

Accounts

Lists every host/account that gh auth status reports, with the active one marked. Click a row to switch accounts; the title bar exposes Sign In and Refresh.

  • Sign in (gh auth login in an integrated terminal).
  • Switch active account (gh auth switch).
  • Refresh.

Pull Requests

Grouped into three categories:

  • Waiting for My Review — PRs where you are a requested reviewer.
  • Created by Me — PRs you authored.
  • All Open — every open PR in the current repository.

PR details webview shows description, labels, status checks, files changed, and a merged comments+reviews timeline.

Available actions:

  • Open in browser, checkout, copy URL.
  • Comment, review (comment / approve / request changes).
  • Merge (merge / squash / rebase), mark draft as ready, close.

Issues are intentionally not included.

Actions

Lists every workflow in the repository (active and disabled). Expand a workflow to see recent runs; expand a run to see its jobs. Conclusion icons:

  • ✓ success · ✗ failure · ↻ in-progress · ⏱ queued · ⊘ cancelled

Available actions:

  • Workflow: run (with optional ref input), enable / disable, open the .yml file.
  • Run: re-run, re-run failed jobs, cancel (when in progress), view full logs in an editor, view failed-only logs, open in browser, copy URL.
  • Job: view per-job logs.

The "Current Branch" view from the upstream Actions extension is intentionally not implemented.

Requirements

  • VS Code 1.85+ (or any VSCodium-compatible fork at the same engine version)
  • gh on your PATH
  • A workspace folder cloned from a GitHub remote
  • gh auth login completed

Configuration

Setting Default Description
ghCliManager.listLimit 50 Max PRs to fetch per category.
ghCliManager.workflowRunLimit 20 Max runs to show per workflow.
ghCliManager.autoRefreshSeconds 0 Auto-refresh interval in seconds (0 disables). Applies to PR and Actions views.
ghCliManager.ghPath gh Path to the GitHub CLI binary.

Development

npm install
npm run build           # one-shot build of dist/extension.js (esbuild)
npm run watch           # esbuild watch mode
npm run type-check      # tsc type-check only
npm test                # headless VS Code integration tests
npm run package         # produce a .vsix

Open this folder in VS Code and press F5 to launch an Extension Development Host with the extension loaded.

Tests

npm test runs integration tests in a headless VS Code instance via @vscode/test-electron. They install a fake gh binary that returns canned JSON, then assert:

  • The extension activates and registers every command.
  • The PR tree shows three categories, each populated from the right gh pr list invocation.
  • The PR details webview opens for a given PR.
  • The Actions tree lists workflows and their runs, with the correct icon for each run state (success / failure / in-progress / disabled).
  • View Logs opens an editor with the run log content.
  • Clipboard / re-run / cancel commands invoke gh correctly.

Note: On macOS, if ELECTRON_RUN_AS_NODE is exported in your shell (some IDE-spawned terminals set this), the test harness unsets it before launching VS Code. Without that, the bundled Electron binary refuses VS Code's CLI args.

How it works

Every action is implemented as a gh subcommand:

Accounts

UI action gh command
List accounts gh auth status (parsed)
Switch account gh auth switch --hostname <host> --user <user>
Sign in gh auth login (run in an integrated terminal)

Pull requests

UI action gh command
Waiting for my review gh pr list --state open --search "review-requested:@me" --json …
Created by me gh pr list --state open --author @me --json …
All open gh pr list --state open --json …
PR details gh pr view <N> --json …
Checkout gh pr checkout <N>
Approve / request changes / comment gh pr review <N> --approve\|--request-changes\|--comment --body …
Comment gh pr comment <N> --body …
Merge gh pr merge <N> --merge\|--squash\|--rebase
Mark ready gh pr ready <N>
Close gh pr close <N>

Actions

UI action gh command
List workflows gh workflow list --all --json id,name,path,state
List runs for a workflow gh run list --workflow <id> --json …
List jobs for a run gh run view <id> --json jobs
Run workflow gh workflow run <id> [--ref <ref>]
Enable / disable gh workflow enable\|disable <id>
Open workflow file opens .github/workflows/<file> in editor
Re-run gh run rerun <id>
Re-run failed jobs gh run rerun <id> --failed
Cancel gh run cancel <id>
View full run logs gh run view <id> --log (rendered in a virtual document)
View failed-only logs gh run view <id> --log-failed
View job logs gh run view --log --job <job-id>

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft