Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Nifty REST Client: .http Files & HTTP RequestsNew to Visual Studio Code? Get it now.
Nifty REST Client: .http Files & HTTP Requests

Nifty REST Client: .http Files & HTTP Requests

Nifty

|
7 installs
| (0) | Free
Send HTTP requests from .http files: variables, environments, request chaining, response viewer, cURL import and export, and history. No account, no cloud.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Nifty REST Client

Send HTTP requests from .http files: variables, environments, request chaining, response viewer, cURL import and export, and history. No account, no cloud.

Maintained. No sign-in. No telemetry. Works in VS Code, Cursor, Windsurf, VSCodium and other editors that use Open VSX.

Features

The local environment picked from the status bar, then a login request and an orders request sent from a .http file, each response shown beside it

Orders fetched from a .http file with the token from the login response, shown beside the file

Hovering a chained variable shows the token it holds; the Request tab shows the headers that were sent

  • Requests as plain text. Write requests in .http or .rest files next to your code, commit them with your project, and click Send Request above any of them (Ctrl+Alt+R). The response opens beside the editor. The format is the same one REST Client, httpYac and JetBrains IDEs use, so existing files just work.
  • Variables and environments. Define file variables (@baseUrl = https://api.example.com) and switch environments (local, staging, production) from the status bar. Environments come from http-client.env.json (with secrets in http-client.private.env.json, which you keep out of git) or from settings, with $shared values for all of them. Values from your .env file and the process environment are available too.
  • Chain requests. Name a request with # @name login and use its response later: Authorization: Bearer {{login.response.body.token}}, {{login.response.body.$.data.items[0].id}} or {{login.response.headers.Location}}.
  • Dynamic values. {{$uuid}}, {{$timestamp}}, {{$datetime iso8601}}, {{$randomInt 1 100}}, {{$processEnv API_KEY}} and {{$dotenv API_KEY}}.
  • A clear response view. Status, time and size at a glance, colored and pretty-printed JSON, images shown inline, all headers, and the exact request that was sent (with variables filled in). Copy the body, save it, or open it in an editor.
  • cURL both ways. Copy as cURL for any request, and Paste cURL as Request to turn a curl command from docs or DevTools into a request.
  • Everything else you need. Request history, a cookie jar so login sessions carry over, GraphQL (GRAPHQL method, query plus variables), body files (< ./payload.json, or <@ ./payload.json to fill in variables), multi-line query strings, and # @no-redirect / # @no-cookie-jar per request.
  • Completion and hover for {{variables}}, showing their current values.
  • No account. No cloud. No telemetry. Your requests and secrets stay in your files.
  • Works in the browser on vscode.dev and github.dev. Requests go through the browser there, so servers must allow cross-origin requests (CORS), and $processEnv variables are empty.

Example

@baseUrl = {{host}}/api

### login
POST {{baseUrl}}/login
Content-Type: application/json

{ "user": "ada", "password": "{{$dotenv API_PASSWORD}}" }

###
GET {{baseUrl}}/orders?limit=10
Authorization: Bearer {{login.response.body.token}}

With http-client.env.json:

{
  "local": { "host": "http://localhost:3000" },
  "production": { "host": "https://shop.example.com" }
}

Commands

Command What it does
Nifty REST Client: Send Request Send the request under the cursor (Ctrl+Alt+R)
Nifty REST Client: Send Last Request Again Repeat the last request (Ctrl+Alt+L)
Nifty REST Client: Select Environment… Switch environment (Ctrl+Alt+E, or the status bar)
Nifty REST Client: Copy Request as cURL Copy with variables filled in
Nifty REST Client: Paste cURL as Request Convert the curl command on the clipboard
Nifty REST Client: Request History… Send a recent request again
Nifty REST Client: Clear Cookies Forget session cookies
Nifty REST Client: New Request File Open a sample .http file

Settings

Setting Default What it does
nifty.rest-client.environments {} Environments and their variables ($shared applies to all)
nifty.rest-client.timeoutSeconds 60 Request timeout (0 waits forever)
nifty.rest-client.followRedirects true Follow redirects
nifty.rest-client.rememberCookies true Keep cookies between requests
nifty.rest-client.userAgent nifty-rest-client Default User-Agent
nifty.rest-client.historySize 50 Requests kept in history
nifty.rest-client.keepFocusInEditor true Keep the cursor in the .http file

Install

  • VS Code: search for "Nifty REST Client" in the Extensions view, or install from the Visual Studio Marketplace.
  • Cursor, Windsurf, VSCodium, Kiro, Antigravity: install from Open VSX.

Privacy

This extension collects no telemetry and needs no account.

More Nifty tools

  • Nifty C# Templates: New Class, Record & Namespace: New C# class, interface, record, enum, test and controller files with the right namespace, plus namespace syncing. (Open VSX)
  • Nifty Mermaid: Mermaid Diagram Preview & Export: Mermaid diagrams with no account: live preview beside .mmd files and Markdown, diagrams in the Markdown preview, syntax highlighting, and export to SVG or PNG. (Open VSX)
  • Nifty Paste JSON as Code: JSON to Types: Turn JSON on your clipboard into types for TypeScript, C#, Go, Rust, Python, Java, Kotlin, Swift, Dart and more. (Open VSX)
  • Nifty SQL: SQL Formatter for 20 Dialects: Format SQL in 20 dialects, including dbt and Jinja templates, with your team's settings. (Open VSX)
  • Nifty XML: XPath, Formatter & XML to JSON: Evaluate XPath with namespaces, copy the XPath of any element, format, minify, check well-formedness and convert XML to JSON. (Open VSX)
  • Nifty YAML: Formatter, Validator & Converter: Format YAML without losing comments (Kubernetes-style indents), sort keys, lint with yamllint, copy the key path, and convert to and from JSON. (Open VSX)

See all 21 Nifty tools at https://getnifty.dev

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