Run and monitor GitHub Actions workflows directly from VS Code โ no browser needed.
Dispatch workflows with dynamic inputs, monitor runs in real-time, save presets, and view logs/artifacts without leaving your editor.
Watch the extension in action: Dispatch workflows, visualize job dependencies, fill dynamic inputs, monitor runs in real-time โ all without leaving VS Code.
Stop switching between VS Code and GitHub's web UI. Dispatch workflows, monitor runs, and view logs without breaking your development flow.
- Auto-generated forms from your workflow YAML โ no manual configuration
- Intelligent input recovery โ rerun workflows with prefilled inputs from previous runs
- Branch auto-detection โ automatically uses your current Git branch
- Smart File Input โ enhanced input fields with file path autocomplete, content extraction, and favorites
Enhanced input fields that make working with file-based values effortless:
- Three Input Modes: Switch between Text, Path, and Content modes using the mode selector
- Path Mode: Browse and insert file paths from your workspace
- Content Extraction: Load values from JSON, YAML, CSV, ENV, and text files with multi-select
- File Favorites: Save frequently used files with custom nicknames
- Recent Files: Automatically tracks your recently used files per input
- Preview/Edit Modal: View and edit multi-value inputs in a list format
Save workflow configurations as named presets (e.g., "Staging Deploy", "Production Release") and dispatch them with one click. Export/import presets to share with your team.
Mark frequently used workflows as favorites for instant access. Pin workflows to filter runs and find what matters most.
- Live status updates with color-coded indicators
- Interactive job dependencies graph with execution stages
- Step-level log viewing โ view logs for individual steps directly from the Job Steps Modal (New in v1.5.0)
- Interactive log viewer from job graph โ click jobs in the dependency graph to view logs (New in v1.5.0)
- Adaptive auto-refresh โ speeds up polling when workflows are running (New in v1.4.0)
- Cancel confirmation modal โ prevents accidental cancellation with detailed verification (New in v1.4.0)
- Real-time API rate limit monitoring โ track GitHub API usage with visual progress bar (New in v1.4.0)
- Rate limit protection โ automatic throttling to prevent hitting API limits (New in v1.4.0)
- Filter by workflow, branch, PR, or marked workflows
- View logs directly in VS Code editor
- Download artifacts with one click
- Rerun failed jobs or entire workflows
- Click jobs to view step details
- GitHub OAuth or Personal Access Token (PAT) authentication
- Secure token storage using VS Code SecretStorage
- Works with any GitHub repository
Install from the VS Code Marketplace or search for "GitHub Actions Runner" in VS Code.
- Click the GitHub Actions Runner icon in the sidebar
- Click "Sign in with GitHub" or "Use Personal Access Token"
- If using PAT, create one with
workflowscope at github.com/settings/tokens
- Open a repository with GitHub Actions workflows
- Select a workflow from the dropdown (only
workflow_dispatchworkflows are shown) - Fill in any required inputs
- Select a branch (defaults to your current branch)
- Click "Dispatch Workflow" ๐
- Click "Open Workflow Runs" to view all runs
- Click on a run to see the job dependencies graph
- Filter by workflow, branch, PR, or marked workflows
- Click on a job in the graph to view step details
- Click "View Logs" to see job logs in VS Code
- Click "Download Artifacts" to download build artifacts
- Click "Rerun" to rerun workflows with smart input recovery
- Fill in workflow inputs
- Click the "Presets" button to expand the presets panel
- Click "Save preset" and give it a name (e.g., "Production Deploy")
- Load presets anytime from the dropdown selector
- Use Rename, Export, Delete, or Import from File to manage your presets
- Click "Storage Info" to see where presets are stored
Pro Tip: Use Export/Import to share presets with your team!
| Feature | Description |
|---|---|
| Workflow Dispatch | Select workflows, fill inputs, and dispatch |
| Workflow Runs | Monitor runs in real-time with filters |
| Watched Runs | Track important runs across sessions |
| Preset Management | Save and share reusable configurations |
| Favorites | Quick access to frequent workflows |
| Smart File Input | Enhanced input with file path & content modes |
| Logs View | View logs directly in VS Code |
| Job Dependencies Graph | Visualize job execution stages |
| Job Step Details | Step-by-step execution details |
| Step-Level Logs | View logs for individual steps |
| Workflow Summary | GitHub step summaries and annotations |
| Settings Panel | General, Notifications, and API Usage tabs |
Select workflows, fill inputs, and dispatch with one click
Monitor runs in real-time with powerful filters
Mark important runs as "watched" to track them across sessions regardless of filters
Save and load workflow configurations as reusable presets โ share configurations with your team via export/import
Quick access to frequently used workflows
The Smart File Input feature provides three modes for entering workflow input values, making it easy to work with file-based configurations, test tags, and multi-value inputs.
Mode Selector โ Switch between Text (direct input), Path (insert file path), and Content (extract from file) modes
Content Mode Dropdown โ Access favorite files and recently used files for quick content extraction
File Content Modal โ Extract values from JSON, YAML, CSV, ENV, and text files with multi-select and configurable delimiters
Preview/Edit Modal โ View and edit multi-value inputs in list format with favorites support
View workflow logs directly in VS Code editor
Visualize job dependencies with an interactive graph showing execution stages, matrix jobs, and real-time status updates. Click jobs to view step details.
Click any job to view step-by-step execution details with status indicators and timing information
View logs for individual steps directly from the Job Steps Modal
View GitHub step summaries with security scan results, build metadata, and error details โ rendered directly from workflow step annotations
The Settings Panel provides three tabs for configuring different aspects of the extension:
General Tab โ Configure workflow runs per page, run limits, and date filters
Notifications Tab โ Control toast notifications and progress indicators for workflow events
API Usage Tab โ Configure auto-refresh intervals with adaptive refresh (speeds up polling when workflows are running), monitor GitHub API rate limits in real-time with color-coded progress bar, and configure automatic rate limit protection (threshold 50-90%)
| Feature | Description |
|---|---|
| Job Dependencies Graph | Visualize job dependencies with an interactive graph showing execution stages |
| Matrix Job Groups | Matrix jobs are intelligently grouped with collapsible views for each variant |
| Job Steps Details | Click on any job to view step-by-step breakdown with status and duration |
| Step-Level Log Viewing | View logs for individual steps directly from the Job Steps Modal (New in v1.5.0) |
| Workflow Summary | View GitHub step summaries with build metadata and error details |
| View Logs | Open workflow run logs directly in VS Code editor |
| View Jobs & Steps | Expand any run to see individual jobs with status, duration, and step details |
| Download Artifacts | Download workflow artifacts as ZIP files |
| Rerun Workflows | Rerun all jobs or only failed jobs |
| Cancel Runs | Cancel in-progress workflows with detailed confirmation modal (name, branch, author) |
| Feature | Description |
|---|---|
| Filter by Status | Success, Failure, In Progress, Queued, Cancelled |
| Filter by Actor | "My Runs" or "All Users" |
| Filter by Date Range | Predefined (Today, Last 7/30 Days) or custom date ranges |
| Filter by Workflow | Focus on runs from a specific workflow |
| Search by Text | Search runs by branch name, commit, or PR number |
| Show Bot Runs | Include or exclude runs triggered by bot accounts |
| Favorites Only | Show only runs from workflows marked as favorite |
| Pagination | Configure runs per page (10/20/30/50/100) |
| Progressive Loading | Fetches up to 10,000 runs with smart caching |
| Auto-Refresh | Configurable interval (15sโ3m) with smart pause |
| Adaptive Refresh | Automatically speeds up polling (5-10s) when workflows are running |
- Watch Important Runs โ Mark any run as "watched" to track it regardless of filters
- Persistent Tracking โ Watched runs persist across sessions (up to 20 per repository)
- Dedicated Filter โ Toggle "Watched Runs Only" to see all your tracked runs
- Save Presets โ Save workflow configurations with custom names (e.g., "Staging Deploy")
- Quick Load โ Select presets from dropdown to populate inputs instantly
- Export/Import โ Share presets with your team via JSON export
- Workflow History โ Track your dispatched workflows and rerun with one click
- Mark Favorites โ Star frequently used workflows for instant access
- Pre-filled Inputs โ Automatically populate workflow inputs from favorites
- Workspace/Global Scope โ Choose between workspace-specific or global storage
- Visual Cards โ Browse favorites with workflow name, repository, and branch info
- Auto-Detection โ Detects file path parameters based on configurable keywords
- Native File Picker โ Browse and select files using VS Code's file picker
- Smart Paths โ Uses workspace-relative paths when possible
- Size Warnings โ Warnings for large files (configurable threshold)
- OAuth Support โ Use VS Code's built-in GitHub authentication (recommended)
- PAT Support โ Personal Access Token with
workflowscope - Secure Storage โ Tokens stored in VS Code SecretStorage (encrypted)
- User Display โ Shows authenticated GitHub username with profile icon
- Desktop Notifications โ Get notified when workflows complete
- Configurable Alerts โ Choose when to receive notifications (success/failure)
- Non-Intrusive โ Stay informed without switching contexts
- Workflow Toast Notifications โ Toast messages in the top-right corner for workflow start/complete/fail events
- Progress Indicators โ Inline job progress display (e.g., "2/5 jobs completed")
- Smart Polling โ Automatically increases refresh frequency when in-progress or queued runs are detected
- Configurable Fast Interval โ Set your preferred fast refresh rate (5-10 seconds) via Settings panel slider
- Visual Indicator โ Shows "โก Faster refresh active" when adaptive mode is engaged
- API-Friendly โ Falls back to normal interval when workflows complete, preserving API quota
- Toggle Control โ Enable/disable with a single click in the Settings panel
- Automatic Cleanup โ Clears per-run state for runs no longer visible in the panel
- Cache Limiting โ Prevents memory bloat during long monitoring sessions
- Background Optimization โ Cleanup runs during refresh cycles without impacting UX
- Real-Time Display โ See remaining API requests and total limit (e.g., "4,521 / 5,000")
- Visual Progress Bar โ Color-coded indicator (green โ yellow โ red) based on usage
- Reset Time โ Shows when your rate limit will reset
- Automatic Protection โ Optional throttling when usage exceeds configurable threshold (50-90%)
- Persistent Settings โ Rate limit protection preferences are saved across sessions
- Automatic Detection โ Identifies stuck loading states and stale timers
- Recovery Actions โ Reset State, Refresh Data, and Restart Auto-refresh buttons
- Smart Suppression โ Respects user activity to avoid false positive notifications
- Dismissible Banner โ Can be dismissed but will return if issues persist
- Size Warning โ Notification when logs exceed 50MB, suggesting "View Raw Logs" for better performance
- Automatic Truncation โ Logs exceeding 100MB are truncated to prevent memory issues
- Smart Preservation โ Truncation preserves both the beginning (90MB) and end (10MB) of logs
- Crash Prevention โ Protects against UI freezing and out-of-memory errors with extremely large logs
- Optimized Fetching โ Always fetches 100 runs per API request (GitHub's maximum)
- Reduced API Calls โ Up to 5x fewer API calls when filters have low match rates
- Rate Limit Friendly โ Helps preserve your GitHub API quota for other operations
Access settings via File > Preferences > Settings and search for "GitHub Actions Runner". You can also open settings directly from the Sidebar using the โ๏ธ Settings button in the Repository Configuration section.
githubWorkflowRunner.repository.owner: Repository owner/organization (auto-detected)githubWorkflowRunner.repository.name: Repository name (auto-detected)githubWorkflowRunner.repository.manualOwner: Manual override for repository ownergithubWorkflowRunner.repository.manualName: Manual override for repository namegithubWorkflowRunner.defaultBranch: Default branch for dispatch
Note: Repository settings can be configured directly in the sidebar UI. Manual overrides take precedence over auto-detection.
githubWorkflowRunner.monitoring.autoRefresh: Enable auto-refreshgithubWorkflowRunner.monitoring.refreshInterval: Refresh interval (seconds)githubWorkflowRunner.monitoring.maxRuns: Max runs to display
githubWorkflowRunner.ui.confirmBeforeDispatch: Show confirmation dialoggithubWorkflowRunner.ui.rememberLastWorkflow: Remember last workflow
githubWorkflowRunner.git.autoDetectBranch: Auto-detect current branch
githubWorkflowRunner.notifications.enabled: Enable notificationsgithubWorkflowRunner.notifications.onSuccess: Notify on successgithubWorkflowRunner.notifications.onFailure: Notify on failuregithubWorkflowRunner.notifications.showWorkflowToastNotifications: Show toast notifications in the top-right corner when workflows start, complete, or fail. Default:truegithubWorkflowRunner.notifications.showProgressIndicators: Show inline job progress for running workflows. Default:true
githubWorkflowRunner.authentication.method: Authentication method to use. Options:auto(default): Try OAuth first, fall back to PAToauth: Use VS Code's built-in GitHub authentication (recommended)pat: Use Personal Access Token only
githubWorkflowRunner.workflows.excludePatterns: Array of glob-like patterns to exclude workflows from the list (e.g.,["**/experimental-*", "**/legacy.yml"]). Default:[]
githubWorkflowRunner.favorites.scope: Storage scope for favorites, eitherworkspace(per-workspace) orglobal(across all workspaces). Default:workspacegithubWorkflowRunner.favoriteRepositories: Array of favorite repositories to show in the repository selector. Each item is an object{ owner: string, name: string }.
Example:
{
"githubWorkflowRunner.favoriteRepositories": [
{ "owner": "my-org", "name": "service-a" },
{ "owner": "my-org", "name": "service-b" }
]
}githubWorkflowRunner.filePathDetection.enabled: Enable automatic file path parameter detection. Default:truegithubWorkflowRunner.filePathDetection.keywords: Keywords used to detect file path-like inputs. Default:["path", "file", "config", "script", "template", "yaml", "json"]githubWorkflowRunner.filePathDetection.preferRelativePaths: Prefer workspace-relative paths when possible. Default:truegithubWorkflowRunner.filePathDetection.warnSizeThreshold: File size threshold (bytes) above which a warning is shown when loading file contents. Default:1048576(1MB)githubWorkflowRunner.filePathDetection.maxFileSize: Maximum file size (bytes) allowed when loading a file content into an input. Default:10485760(10MB)
githubWorkflowRunner.logs.debug: Enable verbose debug logging for fetching job logs and artifacts. Default:false
| Command | Description |
|---|---|
GitHub Actions Runner: Show Workflow Runs |
Open monitoring panel |
GitHub Actions Runner: Hide Workflow Runs |
Close monitoring panel |
GitHub Actions Runner: Refresh Workflows |
Reload workflow list |
GitHub Actions Runner: Run Last Workflow |
Rerun last workflow |
For detailed architecture documentation, see:
- ๐ Complete Architecture Guide - Comprehensive guide with embedded diagrams, code examples, and detailed explanations
- Workflow Runs Filtering System - Detailed implementation guide
- Architecture Diagrams - Standalone Mermaid diagrams
- string: Text input field
- choice: Dropdown select with options
- boolean: Checkbox
- number: Number input
- environment: Environment selector (if defined)
Workflows must have a workflow_dispatch trigger with optional inputs:
on:
workflow_dispatch:
inputs:
environment:
description: 'Environment to deploy'
required: true
type: choice
options:
- dev
- staging
- production
version:
description: 'Version to deploy'
required: true
type: string
dry_run:
description: 'Perform dry run'
required: false
type: boolean
default: false- Verify token has
workflowscope - Try signing out and back in
- Ensure workflow has
workflow_dispatchtrigger - Check workflow file is in
.github/workflows/ - Verify YAML syntax is valid
- Ensure you're in a Git repository
- Check Git extension is enabled in VS Code
- Verify repository has commits
If you see a warning about "Git repository or branch has changed":
- This occurs when you switch branches or repositories while the extension is open
- Click the "Reload" button in the sidebar to refresh the extension state
- This safety feature prevents accidentally dispatching workflows to the wrong branch/repository
Apache-2.0 License - see the LICENSE file for details.
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
If you find this extension helpful, please consider sponsoring my work! Your support helps me:
- โฐ Dedicate more time to development and maintenance
- ๐ Fix bugs and improve stability faster
- โจ Build new features requested by the community
- ๐ Create better documentation and tutorials
Every contribution, no matter the size, makes a real difference and is greatly appreciated! ๐
For issues or questions, please open an issue on GitHub.

















