Settings

Complete reference for REST Client Next configuration settings.

REST Client Next provides extensive configuration options to customize its behavior.

Global Settings

Network & Request

Setting Type Default Description
rest-client.followredirect boolean true Follow HTTP 3xx responses as redirects
rest-client.timeoutinmilliseconds number 0 Timeout in milliseconds (0 = infinity)
rest-client.rememberCookiesForSubsequentRequests boolean true Save cookies from Set-Cookie header and reuse in subsequent requests
rest-client.proxySupport string "system" Proxy support: "off", "on", "system" (use VS Code proxy)
rest-client.excludeHostsForProxy string[] [] List of hosts to exclude when using proxy

Default Headers

rest-client.defaultHeaders - Object of header name/value pairs added to every request if not explicitly specified.

Default:

{
    "User-Agent": "vscode-restclient",
    "Accept-Encoding": "gzip"
}

Response Preview

Setting Type Default Description
rest-client.previewOption "full" \| "headers" \| "body" \| "exchange" "full" What to preview: full response, headers only, body only, or both request and response
rest-client.previewResponseInUntitledDocument boolean false Preview response in untitled document (allows VS Code search/select) instead of HTML view
rest-client.previewResponsePanelTakeFocus boolean true Response panel takes focus after receiving response
rest-client.previewColumn "current" \| "beside" "beside" Where to show response: current column or side-by-side
rest-client.requestNameAsResponseTabTitle boolean false Use request name as response tab title (only for HTML view)

Font Customization

Setting Type Default Description
rest-client.fontSize number 13 Font size in pixels for response preview
rest-client.fontFamily string "Menlo, Monaco, Consolas, \"Droid Sans Mono\", \"Courier New\", monospace, \"Droid Sans Fallback\"" Font family for response preview
rest-client.fontWeight "normal" \| "bold" \| "lighter" \| "bolder" "normal" Font weight for response preview

Large Response Handling

Setting Type Default Description
rest-client.disableHighlightResponseBodyForLargeResponse boolean true Disable syntax highlighting for large responses
rest-client.disableAddingHrefLinkForLargeResponse boolean true Disable href links in large responses
rest-client.largeResponseBodySizeLimitInMB number 5 Size threshold in MB to identify “large responses”

Environments & Variables

rest-client.environmentVariables - Object defining environments and their variables.

See Variables for complete documentation and examples.

{
    "rest-client.environmentVariables": {
        "$shared": {
            "version": "v1"
        },
        "development": {
            "host": "localhost:3000",
            "apiKey": "dev-key"
        },
        "production": {
            "host": "api.example.com",
            "apiKey": "{{$processEnv PROD_API_KEY}}"
        }
    }
}

Certificate Configuration

rest-client.certificates - SSL/TLS certificates for different hosts.

{
    "rest-client.certificates": {
        "localhost:8081": {
            "cert": "/path/to/client.crt",
            "key": "/path/to/client.key"
        },
        "example.com": {
            "pfx": "/path/to/cert.p12",
            "passphrase": "secret"
        }
    }
}

Paths can be:

  • Absolute: /home/user/certs/client.crt
  • Relative to workspace: certs/client.crt
  • Relative to current .http file: ./certs/client.crt

MIME Type Mapping

rest-client.mimeAndFileExtensionMapping - Override default MIME type to file extension mapping when saving response bodies.

{
    "rest-client.mimeAndFileExtensionMapping": {
        "application/atom+xml": "xml",
        "application/json": "json",
        "text/html": "html"
    }
}

Content Disposition Filename

rest-client.useContentDispositionFilename - Use filename= from Content-Disposition header when saving response body. Default: true.

Form Parameter Encoding

rest-client.formParamEncodingStrategy - Strategy for encoding application/x-www-form-urlencoded body.

Options:

  • "automatic" - Detect and encode automatically (default)
  • "never" - Treat provided body as-is
  • "always" - Always encode (for special character issues)

Request Body Indentation

rest-client.addRequestBodyLineIndentationAroundBrackets - Add line indentation around brackets ({}, <>, []) when pressing Enter in request body. Default: true.

Unicode Decoding

rest-client.decodeEscapedUnicodeCharacters - Decode escaped unicode characters in response body (e.g., \u0041A). Default: false.

Logging

rest-client.logLevel - Verbosity of logging in REST output panel.

Options:

  • "error" - Errors only (default)
  • "warning" - Errors and warnings
  • "info" - Informational messages
  • "debug" - Detailed debug output

CodeLens Settings

CodeLens adds actionable links above requests in the editor.

Setting Type Default Description
rest-client.enableSendRequestCodeLens boolean true Enable/disable “Send Request” and “Send All Request Sequentially” CodeLens
rest-client.enableCustomVariableReferencesCodeLens boolean true Enable/disable custom variable references CodeLens
rest-client.codeLensSendRequestTitle string "Send Request" Custom title for send request CodeLens
rest-client.codeLensSendAllRequestTitle string "Send All Requests Sequentially" Custom title for send all CodeLens
rest-client.showEnvironmentInCodeLensTitle boolean false Show current environment name in CodeLens title

Per-Request Settings

Override global settings for individual requests using special comments:

@note

Add a confirmation note. Useful for critical requests.

# @note This will delete all production data!
DELETE https://api.example.com/data

@no-redirect

Don’t follow 3xx redirects.

# @no-redirect
GET https://example.com/redirect

Don’t save/use cookies from cookie jar for this request.

# @no-cookie-jar
POST https://api.example.com/logout

Settings can use # or // syntax and must appear on their own line before the request.

Suppress Warnings

rest-client.suppressResponseBodyContentTypeValidationWarning - Suppress warning when response body content-type doesn’t match expected. Default: false.

Proxy Configuration

The extension respects VS Code’s proxy settings:

  • http.proxy - Proxy URL (e.g., http://proxy.example.com:8080)
  • http.proxyStrictSSL - Validate proxy SSL certificate (default: true)

Set rest-client.proxySupport to "system" (default) to use these. Set to "on" to use proxy even when no system proxy is configured. Set to "off" to disable proxy.

Exclude specific hosts via rest-client excludeHostsForProxy.

Environment Variables Reference

When using {{$processEnv %varName}}, the variable name lookup uses the environment variables configuration. This allows you to:

  1. Define a mapping in settings: "apiKeyEnv": "ACTUAL_API_KEY_NAME"
  2. Use {{$processEnv %apiKeyEnv}} in requests
  3. Change the actual environment variable per environment without modifying requests

All Settings Quick Reference

{
    "rest-client.followredirect": true,
    "rest-client.defaultHeaders": {
        "User-Agent": "vscode-restclient",
        "Accept-Encoding": "gzip"
    },
    "rest-client.timeoutinmilliseconds": 0,
    "rest-client.showResponseInDifferentTab": false,
    "rest-client.requestNameAsResponseTabTitle": false,
    "rest-client.rememberCookiesForSubsequentRequests": true,
    "rest-client.excludeHostsForProxy": [],
    "rest-client.fontSize": 13,
    "rest-client.fontFamily": "Menlo, Monaco, Consolas, \"Droid Sans Mono\", \"Courier New\", monospace, \"Droid Sans Fallback\"",
    "rest-client.fontWeight": "normal",
    "rest-client.environmentVariables": {},
    "rest-client.mimeAndFileExtensionMapping": {},
    "rest-client.previewResponseInUntitledDocument": false,
    "rest-client.certificates": {},
    "rest-client.suppressResponseBodyContentTypeValidationWarning": false,
    "rest-client.previewOption": "full",
    "rest-client.disableHighlightResponseBodyForLargeResponse": true,
    "rest-client.disableAddingHrefLinkForLargeResponse": true,
    "rest-client.largeResponseBodySizeLimitInMB": 5,
    "rest-client.previewColumn": "beside",
    "rest-client.previewResponsePanelTakeFocus": true,
    "rest-client.formParamEncodingStrategy": "automatic",
    "rest-client.addRequestBodyLineIndentationAroundBrackets": true,
    "rest-client.decodeEscapedUnicodeCharacters": false,
    "rest-client.logLevel": "error",
    "rest-client.enableSendRequestCodeLens": true,
    "rest-client.enableCustomVariableReferencesCodeLens": true,
    "rest-client.codeLensSendRequestTitle": "Send Request",
    "rest-client.codeLensSendAllRequestTitle": "Send All Requests Sequentially",
    "rest-client.showEnvironmentInCodeLensTitle": false,
    "rest-client.proxySupport": "system"
}

Copy this template to your settings.json and adjust as needed.