Skip to content
| Marketplace
Sign in
Visual Studio Code>Debuggers>AsteriskNew to Visual Studio Code? Get it now.
Asterisk

Asterisk

Preview

Nafisarkar

| (0) | Free
A local-first HTTP client for VS Code — requests, collections and environments as plain files.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

asterisk — a local-first HTTP client for VS Code

Marketplace, pre-release channel 1047 tests passing zero runtime dependencies MIT licence

API testing that lives in your repo. Send a request from the editor, keep the collection as files beside your code, and let a script assert on the response. No account, no cloud, no telemetry — and no runtime dependencies.

The Asterisk panel: a POST with bearer auth, 200 OK in 184 ms, 214 B JSON, a green 'tests passed' chip, and the response as a tree

Install

code --install-extension Nafisarkar.asterisk --pre-release

--pre-release is required: 0.1.0 is only on the pre-release channel. In the Extensions view, search Asterisk and pick Switch to Pre-Release Version.

From source instead: bun install && bun x vsce package, then code --install-extension asterisk-0.1.1.vsix.

Why it is different

Everything you build is a file in .asterisk/ — diffable, reviewable, and yours after you close the editor. There is no workspace database to export, and nothing leaves the machine.

  • Any method, any body — JSON, text, form, multipart, binary
  • Bearer, Basic, API key, OAuth 2.0 with refresh
  • {{variables}}, environments, :path params
  • JSON tree, find, timings, save the response
  • Scripts with assertions; a runner that replays a collection over a CSV
  • WebSocket and SSE
  • cURL / Postman v2.1 / OpenAPI 3.x import; cURL / fetch / Python / Go export

Use

Ctrl+Alt+A opens the client. Paste a URL, Enter sends, Ctrl+S saves it into a collection. Ctrl+Enter sends from anywhere, Esc cancels.

repo/.asterisk/
├── .environments.json      # named environments, active one
└── My Collection/          # a collection is a folder
    └── users/list.json     # a request is a file

A test script gets the response and nothing else:

// response is { status, statusText, headers, body, timeMs, size }
expect(response.status).to.equal(200);
expect(JSON.parse(response.body).items).to.have.length(2);

It runs sandboxed, with request, vars and setEnv — not process, require, or the network.

Develop

bun install && bun test    # unit and DOM suites
bun run test               # inside a real VS Code host
bun x vsce package         # build the .vsix

bun test fails if the shipped webview has drifted from the source one. Gaps and milestones live in FEATURES.md; the design rules are in DESIGN.md.

MIT licence · pre-release · no telemetry

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft