Vegha for VS Code
A local-first API client inside VS Code, powered by the same engine as the Vegha desktop app.
Collections are plain-text Bruno-style .bru files in your workspace, so they diff, review and merge in git like the rest of your code.
Documentation · Getting started · Vegha desktop app · Report an issue
Features
- Visual request editor for
.bru files: method, URL, query/path params, headers, every body type (JSON, XML, text, GraphQL, form, multipart, binary file) and auth.
- The file stays the source of truth. Undo/redo, dirty state, save and git diff all work as in any text file.
- Paste a cURL command into the URL bar to import it.
- Every auth type: Bearer, Basic, API key, OAuth 2.0 (client credentials, password, and authorization code + PKCE through your browser), OAuth 1.0, AWS SigV4, Digest, NTLM, WSSE, and mTLS client certificates.
- Environments: collection and workspace environments,
{{variable}} hovers, and an active-environment picker in the status bar.
secret:// references resolve through your configured secret managers (Azure Key Vault, AWS Secrets Manager).
- Scripts and scriptless tests: pre-request and post-response JavaScript (
bru / req / res), test() blocks, scriptless assertions and response captures — pick a value from the last response instead of typing its res.body… path.
- Request chaining: in the Chain tab, choose requests to run first from a dropdown, set when each runs (always, only when a variable is empty, only when its last run is older than N minutes, or when a variable matches a value), and drag to reorder. Each card shows what the linked request captures, and
{{variables}} a linked request sets are recognised in this one.
- Response viewer:
- Pretty, raw and HTML preview of the body, plus image previews.
- Headers, cookies, test results and console output.
- A timing breakdown, the variables each request set, and the raw request that was sent.
- Collection runner: run a collection or folder with iterations, CSV/JSON data files (one iteration per row), delays and stop-on-failure, carrying variables between requests or running in parallel.
- Live results with per-request detail.
- Export the run as HTML, JUnit or JSON.
- Test Explorer: requests appear in VS Code's Testing view. Each assertion and
test() is its own test, with the failure message shown inline.
- Import and export:
- Import Postman, Insomnia, OpenAPI/Swagger, WSDL/SoapUI and Bruno collections, plus Postman environments.
- Export to Postman, OpenAPI 3, Bruno and Insomnia. Secret values are never exported.
- Cookies view of the shared jar, with delete and clear.
- Copy as code in 30+ languages, New request from cURL, and history shared with the desktop app.
- Same results as the desktop app and CLI: history, cookies and settings are shared with the desktop app by default (change this with
vegha.dataDirectory).
AI: Copilot, @vegha and MCP
Vegha gives language models 21 tools for your collections. They can:
Discover: list collections, search requests, read a request.
Change requests: create and update requests, set scripts, assertions, captures and request chains, import cURL, and create folders.
Run: send a request or run a folder.
Look up: read the last response, generate code, read history, and read the scripting reference.
Copilot Chat: the tools are available in agent mode, and you can reference them with #veghaSend, #veghaRequest, and so on.
- Every change shows its
.bru diff for approval and lands as an undoable edit.
- Every send shows its target URL before it goes out.
@vegha participant: a request-focused assistant with /new, /test, /run, /fix, /explain and /chain.
Other agents (Claude Code, Cursor, Claude Desktop…): run Vegha: Set Up MCP for Other Agents… to copy a ready configuration for vegha-sidecar --mcp. Those clients get the same tools; their own approval prompts apply.
Secrets never reach the model:
- Secret environment values, literal credentials in auth settings, and credential headers (
Authorization, cookies, API keys) are shown as «redacted».
- Tools refuse to write that placeholder back over a real secret.
- API responses are passed to the model as untrusted data.
Getting started
New to Vegha? Follow the quick-start guide.
- Open a folder that contains a collection (a folder with
collection.bru), or run Vegha: New Collection….
- Pick an environment from the status bar.
- Open a request from the Vegha view in the activity bar and press Send (
Ctrl+Enter).
.bru files opened from the Explorer open as text with Send and Open in Vegha Editor CodeLens links. To always use the visual editor, add "workbench.editorAssociations": { "*.bru": "vegha.requestEditor" } to your settings. Collection, folder and environment files are better edited as text.
Settings
| Setting |
Default |
|
vegha.dataDirectory |
(shared with the desktop app) |
Where history, cookies and secret-manager config live. |
vegha.openRequestsInVisualEditor |
true |
Open requests from the Collections view in the visual editor. |
vegha.newUntitledOpensRequest |
true |
With the Vegha side bar showing and a request active, double-clicking the empty tab bar (or New File) opens an untitled GET request instead of a blank file. |
vegha.codeLens.enabled |
true |
CodeLens above requests in .bru text editors. |
vegha.mcp.exposeInVSCode |
false |
Also register the MCP server with VS Code (Copilot already has the tools natively). |
vegha.sidecarPath / vegha.dotnetPath |
(bundled) |
Use a different engine build (development). |
Privacy
Vegha sends nothing anywhere except the requests you send. There is no telemetry.
Links
Vegha is MIT-licensed.
| |