Skip to content
| Marketplace
Sign in
Visual Studio Code>SCM Providers>Workflow DispatchNew to Visual Studio Code? Get it now.
Workflow Dispatch

Workflow Dispatch

lolulo

| (0) | Free
One-click workflow_dispatch with smart input prompts and live run tracking. Complements the official GitHub Actions extension.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Workflow Dispatch

One-click workflow_dispatch with smart input prompts and live run tracking. Complements the official GitHub Actions extension.

A VS Code extension that turns the editor title bar's rocket icon into a one-click dispatcher for any workflow_dispatch workflow on the current repo. Inputs are prompted from the workflow's declared on.workflow_dispatch.inputs schema — choice becomes a QuickPick, boolean becomes Yes/No, environment fetches the repo's environments, number validates numerically, string is a plain prompt with the YAML's default prefilled.

After dispatch, a status bar item polls the run live (queued → running → success/failed). Click to open the run page.

Features

  • Schema-driven prompts. Reads the workflow's inputs: block; renders the right control per input type. The official GitHub Actions extension uses a plain showInputBox for every input — this is the missing UX.
  • Editor title-bar entry point. A rocket icon next to the other title-bar buttons. No need to dig into a tree view.
  • Branch / ref override. A $(git-branch) icon in the workflow picker's title bar opens an InputBox prefilled with the current branch.
  • Live run tracking. Status bar shows the run state and updates as it progresses. Multiple in-flight dispatches aggregate into N running · M done · K failed.
  • Recent runs. A QuickPick of recent dispatches with relative timestamps; pick one to open the run.
  • Multi-repo batch dispatch. Run the same workflow across every GitHub repo in the workspace. Per-repo branch override.
  • Confirmation modal for risky (input, value) pairs (e.g. environment=prod).
  • Custom value providers for inputs whose options aren't declared in the YAML — e.g. fetch directory entries from another GitHub repo.
  • Built-in GitHub auth. Uses VS Code's GitHub session — no PAT to manage.

Install

From the Marketplace: search "Workflow Dispatch" or install via:

code --install-extension lolulo.workflow-dispatch

Or from a local .vsix:

git clone https://github.com/lolulo69/vscode-workflow-dispatch.git
cd vscode-workflow-dispatch
npm install
npm run compile
npx vsce package
code --install-extension workflow-dispatch-1.0.2.vsix --force

Reload the window (Cmd+Shift+P → Developer: Reload Window).

Usage

  1. Open any GitHub-backed repo.
  2. Click the rocket icon at the right edge of the editor title bar (or run Workflow Dispatch: Run… from the command palette).
  3. Pick a workflow. The picker title shows repo @ current-branch; click the $(git-branch) icon to override.
  4. Answer each input — the prompt depends on the input's declared type.
  5. Confirm (if any input matches confirmInputs).
  6. Watch the status bar. Click it to open the run.

Commands

Command Description
Workflow Dispatch: Run… The rocket button. Multi-step wizard: workflow → branch → inputs → confirm → dispatch.
Workflow Dispatch: Run across all workspace repos… Same workflow on every GitHub repo in the workspace. Repos must share the same workflow filename and input schema. Per-repo branch override.
Workflow Dispatch: Recent runs The last 10 dispatches with status + timestamp; pick to open the run.

Settings

Setting Default Description
workflowDispatch.confirmInputs [] Show a modal before dispatch when any (input, value) pair matches. Example: [{ "input": "environment", "value": "prod" }]. Case-insensitive.
workflowDispatch.workflows {} Optional per-repo allowlist. Map "owner/repo" → ["deploy.yml", ...]. Empty = all dispatchable workflows.
workflowDispatch.providers {} Custom value providers for inputs whose options aren't in the YAML. See Custom value providers below.

Custom value providers

When an input doesn't declare type: choice with options: in the workflow YAML, you can populate options from elsewhere via a provider.

How provider keys work

Each entry in workflowDispatch.providers is keyed by four sub-segments:

<owner>/<repo>#<workflow>#<input>

Any sub-segment can be * to match anything; literal values must match exactly. When a dispatch happens, every key in the map is checked, and the most specific match wins — i.e. the key with the largest number of literal (non-*) sub-segments. If multiple keys tie on specificity, the first one in the settings file wins.

Key Meaning
acme/web#deploy.yml#environment Exactly this repo, this workflow, this input.
acme/*#deploy.yml#environment Any repo under acme running deploy.yml's environment input.
acme/*#*#environment Any environment input on any workflow in any acme repo.
*/*#deploy.yml#environment Any repo's deploy.yml with an environment input — useful when the workflow filename is unique to your context.
*/*#*#release_to Any input named release_to, anywhere.

Specificity wins fall out naturally. With:

{
  "workflowDispatch.providers": {
    "*/*#*#environment": { "type": "enum", "values": ["staging", "prod"] },
    "acme/*#deploy.yml#environment": {
      "type": "githubContents",
      "repo": "acme/gitops",
      "path": "envs"
    }
  }
}

…a dispatch on acme/web / deploy.yml / environment uses the second entry (3 literals beats 1); one on some-org/some-repo / other.yml / environment falls back to the first.

Note: only whole-segment wildcards are supported. feat-* as a partial pattern won't match feat-foo. Each sub-segment is either * or an exact string.

Provider types

githubContents — list directory or file names under a path in another repo:

{
  "workflowDispatch.providers": {
    "your-org/app#deploy.yml#environment": {
      "type": "githubContents",
      "repo": "your-org/gitops",
      "path": "envs",
      "filter": "directories"
    }
  }
}

enum — hardcoded list (useful when the workflow's declared options are wrong or stale):

{
  "workflowDispatch.providers": {
    "*#*#region": {
      "type": "enum",
      "values": ["us-east-1", "us-west-2", "eu-west-1"]
    }
  }
}

Authentication

The extension uses VS Code's built-in GitHub authentication — the same session your Source Control panel uses. The first dispatch will trigger a one-time consent for repo, workflow scopes. No PATs, no token refresh, no third-party servers.

Privacy

This extension reads / writes only via your existing GitHub session. No telemetry. No data leaves your machine other than the GitHub API calls needed to list workflows, fetch their YAMLs, dispatch runs, and poll run status.

Relationship to the official GitHub Actions extension

The official GitHub.vscode-github-actions extension is excellent for browsing workflows, viewing run logs, editing YAML, and managing secrets / variables / environments. Install both. Workflow Dispatch focuses on one specific job — turning manual dispatches from a 5-click chore into a one-click action with proper input prompts and live feedback.

License

MIT.

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