BugHunter VS Code Extension (Full Version 2.0)
BugHunter is the VS Code integration for running BugHunter security analysis directly from the development environment.
This document covers setup, usage, feature behavior, and troubleshooting.
1. Scope and Version
- Product area: VS Code extension integration for BugHunter.
- Intended version scope: full version (2.0) usage model.
- Core outcome: run analysis from VS Code, review findings, open report PDFs, and manage repeated runs.
2. Prerequisites
Before using the extension, ensure all of the following are available:
- VS Code
1.107.0or newer. - A BugHunter account.
- A valid BugHunter API key.
- Internet access to BugHunter backend services.
- A folder-based VS Code workspace (at least one workspace folder).
3. Installation
- Install BugHunter from your private marketplace feed or from a
.vsixpackage. - If using
.vsix: open Command Palette and runExtensions: Install from VSIX.... - Reload VS Code after installation.
- Open the BugHunter icon in the Activity Bar.

4. Generate and Store API Key
Generate key in dashboard
- Go to https://app.bughunter.live and sign in.
- Open
API Keysin the dashboard. - Create a key and copy it immediately.
- Store it securely. Full key display is one-time.

Set key in VS Code
- In BugHunter sidebar, click
Set key, or runBugHunter: Set API Key. - Paste the key in the secure prompt.
- If valid, the
Keypill changes toOK.
Key validation behavior:
- Key must start with
bh_. - Key must include at least 4 underscore-separated segments.
- Invalid format is rejected with an error.

5. Quick Start (First Analysis)
- Open a workspace folder you want to scan.
- Open BugHunter sidebar.
- Confirm the
Keypill isOK. - In
Project, choose the target folder. - Wait for usage to load. If your plan allows analysis,
Analyze Full Projectbecomes enabled. - Click
Analyze Full Project. - Track status changes in the
Statussection. - When status is
CompletedandOpen PDFis enabled, click it to open report. - Click findings to inspect details and open exact code locations.
6. Sidebar UI Reference
6.1 API Status Section
Set keybutton: opens secure API key input flow.Endpointpill:OK: API base URL is resolved.Missing: endpoint unavailable.
Keypill:OK: stored key exists.Missing: no key in SecretStorage.
6.2 Project Section
Projectdropdown lists current workspace folders.- Each option shows
FolderName - FullPath. - If no workspace folders are open, dropdown is disabled and shows
No workspace folders.
6.3 Recent Runs Section
Refreshbutton reloads run history.- Run dropdown entries use:
ProjectName - Status - LocalTimestamp. - Selecting an entry loads its current job/report status.
6.4 Status Section
Statuspill shows current pipeline state.Jobshows submission/job identifier.- Status message line explains current phase or error detail.
6.5 Action Buttons Section
Analyze Full Project: starts full analysis for selected project.Open PDF: opens report PDF in browser when available.Cancel: visible only during a short cancel window after queueing.Clear: resets sidebar state to idle and removes displayed findings/diagnostics.
6.6 Findings Section
- Shows findings list after report retrieval.
- Each finding includes severity pill, title, and location (
file:lineorSummary finding). - Clicking a finding opens a details panel.
6.7 Help Section
Docs: opens documentation site.Contact support: opens BugHunter support page.

7. System Status Labels and What They Mean
Canonical system statuses:
| Status label | Meaning | User action |
|---|---|---|
Queued | Job accepted and waiting for review or execution. | Optional: cancel if available. |
In Review | Analysis is actively being processed. | Wait for completion. |
Completed | Run finished and report/findings are available. | Review findings and open PDF. |
Failed | Run or retrieval failed. | Check message, troubleshoot, retry. |
Cancelled | Job cancellation succeeded or backend reported cancelled. | Start a new run if needed. |
Local extension progress notes (non-canonical system states):
- During packaging, upload, and report retrieval, the extension can temporarily show local progress labels/messages.
- Active processing may appear as
Runningin the extension UI while the canonical system state isIn Review. - Treat these as client-side progress steps, not backend lifecycle states.
8. Buttons and Controls Reference
| Control | Location | Enabled/Visible when | What it does |
|---|---|---|---|
Set key | API Status | Always visible | Opens secure prompt to save API key. |
Analyze Full Project | Actions | API key exists + usage allows analysis + project selected | Starts full scan pipeline. |
Open PDF | Actions | A report PDF URL is available | Opens report PDF in browser. |
Cancel | Actions | Visible only before cancel deadline (~10s after queue) | Sends cancel request for current job. |
Clear | Actions | Always visible | Resets sidebar to Idle, clears findings and diagnostics. |
Refresh | Recent Runs | Always visible | Reloads recent runs from backend. |
Project dropdown | Project | Enabled if workspace has folders | Selects folder to analyze. |
Run dropdown | Recent Runs | Always visible | Loads a previous run by submission ID (if selected). |
Docs | Help | Always visible | Opens docs site. |
Contact support | Help | Always visible | Opens support page. |
Open location | Finding details panel | Enabled for file-based findings (not summary-only) | Opens source file at finding line in editor. |
9. Findings and Severity Meaning
Severity rendering in UI:
High/Critical: red pill.Medium: yellow pill.Low/Info: green pill.
Finding behavior:
- Click finding in sidebar to open a dedicated details panel.
- In details panel, click
Open locationto jump to the file and line. - Summary-only findings (
__summary__) show context but cannot open a file location.
If a completed run has zero findings, sidebar shows:
Congratulations! No vulnerabilities found.

10. Command Palette and Context Menu Commands
Available commands:
BugHunter: Analyze Full ProjectBugHunter: Set API KeyBugHunter: Clear API KeyBugHunter: Refresh UsageBugHunter: Open BillingBugHunter: Open DocsBugHunter: Contact SupportBugHunter: Analyze This Folder(Explorer folder context menu)
11. Troubleshooting
API / Auth
| Symptom | Likely cause | Resolution |
|---|---|---|
Key pill stays Missing | Key not set or was cleared | Run BugHunter: Set API Key and store valid key. |
| Error: key format invalid | Input is not a valid BugHunter key format | Use a key starting with bh_ and generated from dashboard. |
| 401 or 403 responses | Revoked or expired key | Create a new key, set it again. |
Project / Workspace
| Symptom | Likely cause | Resolution |
|---|---|---|
| Analyze button disabled | Missing key, no selected project, or usage blocks analysis | Confirm key, select project, check plan usage. |
Open a project folder first error | No workspace folder is open | Open folder/workspace, then retry. |
| Selected project error | Folder was removed from workspace | Re-select a valid workspace folder in Project dropdown. |
Run Lifecycle
| Symptom | Likely cause | Resolution |
|---|---|---|
| Cancel not available | Cancel window expired | Start a new run and cancel quickly if needed. |
Failed after completion attempt | Report fetch failed or backend error | Use Refresh in runs; retry analysis if needed. |
| Status stuck on old run | Different run selected | Use Recent Runs dropdown to load desired run. |
Size / Packaging
| Symptom | Likely cause | Resolution |
|---|---|---|
| Archive too large error | Zipped project exceeds 150 MB client limit | Remove large generated files/folders and retry. |
| Important file missing in scan | File excluded by packaging rules | Check excluded directories and workspace layout. |
Excluded from zip by default:
.git,node_modules,.vscode,artifacts,cache,out,dist,build,coverage*.logfiles
Usage / Billing
| Symptom | Likely cause | Resolution |
|---|---|---|
Status Blocked | Quota, concurrency, or inactive plan | Open billing from prompt/command and resolve plan state. |
| Analyze unavailable despite key | Usage precheck failed | Refresh usage and retry when usage endpoint is reachable. |
12. Security and Data Handling
- API keys are stored in VS Code
SecretStorage(not plaintext settings). - Production extension mode uses authenticated HTTPS requests (
https://api.bughunter.live). - Local temporary zip is deleted after upload attempt.
- File-based findings can be mapped to VS Code diagnostics via internal command flow.
13. Help and Support
- Screenshots and visual walkthroughs are published in the website docs.
- Documentation: https://docs.bughunter.live/
- Dashboard: https://app.bughunter.live
- Support: https://app.bughunter.live/dashboard/contact
License
This extension is proprietary software. Refer to LICENSE.txt included with the extension package.