A no-nonsense HTTP client for VS Code
Browse, edit, and execute .http files without leaving your editor
HTTP Bloke turns your .http files into a proper API workbench. It scans your workspace, builds a navigable tree of requests, and lets you fire them from a rich panel with editable headers, query params, and body — all without context-switching away from your code.
- Tree View Explorer — All
.httpfiles in your workspace, organized by folder - Rich Request Panel — Edit method, URL, headers, body. See responses with syntax highlighting
- Variables — Define with
@var = value, use anywhere with{{var}} - Response Chaining — Reference previous responses:
{{login.response.body.token}} - Drag & Drop — Reorder requests within a file
- Pin Requests — Keep favorites at the top
- No CORS Issues — Requests run from Node, not the browser
git clone https://github.com/yourname/httpbloke.git
cd httpbloke
npm install
npm run compilePress F5 in VS Code to launch the extension.
# @name My API Collection
# Useful endpoints for the Example API
@baseUrl = https://api.example.com
@token = your-api-token
### List Users
GET {{baseUrl}}/users
Authorization: Bearer {{token}}
### Create User
# @name createUser
POST {{baseUrl}}/users
Content-Type: application/json
{
"name": "John Doe",
"email": "john@example.com"
}
### Get New User
GET {{baseUrl}}/users/{{createUser.response.body.id}}
Authorization: Bearer {{token}}| Syntax | Purpose |
|---|---|
# @name Title |
File display name (first line) |
# comment |
File/request description |
@var = value |
Variable definition |
### |
Request separator |
# @name alias |
Request alias (for chaining) |
{{var}} |
Variable substitution |
Name a request with # @name alias, then reference its response:
### Login
# @name auth
POST {{baseUrl}}/login
Content-Type: application/json
{"user": "admin", "pass": "secret"}
### Use Token
GET {{baseUrl}}/protected
Authorization: Bearer {{auth.response.body.token}}Available properties:
{{alias.response.status}}— Status code{{alias.response.body.path.to.field}}— JSON field{{alias.response.headers.content-type}}— Header value
- Click request → Open in panel
- Right-click → Context menu (pin, open source, etc.)
- Drag & drop → Reorder (when sorted by file order)
- Right-click file → Edit variables, change sort order
| Shortcut | Action |
|---|---|
Cmd/Ctrl + Enter |
Send request |
Alt + P |
Pretty-print JSON body |
Alt + 1-5 |
Switch tabs |
{
"httpbloke.additionalRoots": [
"/path/to/more/http/files"
]
}Scan folders outside your workspace for .http files.
| Command | Description |
|---|---|
HTTP Bloke: Refresh Tree |
Rescan for .http files |
HTTP Bloke: Open Request |
Open request in panel |
HTTP Bloke: Open Source |
Jump to source file |
HTTP Bloke: Pin Request |
Pin to top of file |
HTTP Bloke: Sort by File Order |
Natural document order |
HTTP Bloke: Sort Alphabetically |
A-Z sorting |
HTTP Bloke: Edit File Variables |
Manage variables |
npm install # Install dependencies
npm run compile # Build once
npm run watch # Watch mode
npm test # Run testsThe repo includes .vscode/launch.json for debugging. Press F5 to launch.
Made for developers who'd rather stay in their editor
