Skip to content
| Marketplace
Sign in
Visual Studio Code>Testing>ShellReq API ClientNew to Visual Studio Code? Get it now.
ShellReq API Client

ShellReq API Client

maheshshinde9100

|
24 installs
| (1) | Free
Powerful, lightning-fast API testing client for VS Code. Sidebar REST client with collections, history, draggable splitter, and full HTTP support.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

ShellReq API Client

Version Installs Rating License

A native, blazing-fast API client — built right inside Visual Studio Code.

No context switching. No external apps. Just pure, focused API testing.


Overview

ShellReq is a lightweight, fully integrated API testing client for Visual Studio Code. It lives in your sidebar, speaks your workflow's language, and stays out of your way — giving you everything you need to test, inspect, and manage HTTP requests without ever leaving your editor.

Designed for developers who want speed, clarity, and zero clutter.


Features

  • Sidebar API Client — Full REST client in the VS Code activity bar, always one click away.
  • Draggable Splitter — Resize the request and response panels by dragging the divider bar.
  • Full HTTP Support — GET, POST, PUT, PATCH, DELETE, HEAD with headers, params, and body.
  • Key-Value Editors — Structured editors for query params and request headers.
  • JSON Body Editor — Write and send JSON payloads; Format JSON prettifies the body tab.
  • Smart Collections — Save requests, reload instantly, remove individual items, or clear all.
  • Auto History — Last 50 requests saved automatically; click any entry to replay.
  • Response Tools — Copy response body to clipboard, clear the response panel, view headers tab.
  • URL Helpers — Auto-prepends https:// when the scheme is omitted; query params are merged into the URL.
  • Configurable Timeout — Set shellreq.requestTimeoutMs in VS Code settings (default 30s).
  • Persistent State — Last request, headers, params, and panel layout survive restarts and tab switches.
  • Zero Runtime Dependencies — Uses Node.js built-in http/https — no axios, no supply chain risk.
  • Built by Mahesh Shinde — Shown in the bottom-right corner of the panel.

Getting Started

1. Open the Client

Click the ⚡ ShellReq lightning bolt icon in the VS Code Activity Bar (left sidebar).

2. Build Your Request

Section What to Do
Method Select GET, POST, PUT, PATCH, or DELETE
URL Enter your endpoint URL
Params Add query parameters using the key-value editor
Headers Add request headers using the key-value editor
Body Enter JSON payloads for POST/PUT/PATCH requests

3. Send and Inspect

Click ▶ SEND. The response panel shows:

  • Status badge (green for 2xx, amber for 3xx, red for 4xx/5xx)
  • Response time in milliseconds
  • Payload size
  • Formatted JSON body (or raw text)
  • Full response headers

4. Resize Panels

Drag the splitter bar between the request and response panels to adjust the layout.

5. Save to Collections

Click ★ Save to Collection to permanently save the current request.


Commands

Access these via the Command Palette (Ctrl+Shift+P / Cmd+Shift+P):

Command Description
ShellReq: Focus API Client Jump to the ShellReq sidebar
ShellReq: Open API Client Open the API client panel
ShellReq: Send Request Send the current request from the sidebar
ShellReq: Clear Request History Remove all history entries

Settings

Setting Default Description
shellreq.requestTimeoutMs 30000 HTTP request timeout in milliseconds

Keyboard Shortcuts

Shortcut Action
Enter in URL field Send request immediately
Ctrl+Shift+Enter / Cmd+Shift+Enter Send request (when ShellReq view is focused)

Requirements

  • Visual Studio Code ^1.85.0 or later
  • No external runtime dependencies required

Development

From vscode-extension/shellreq-api-client:

npm install
npm run compile      # dev build → dist/extension.js
npm run package      # production build (minified)

Press F5 in VS Code to launch an Extension Development Host with the sidebar client loaded.


Changelog

v0.4.1

Fixes

  • Reliable draggable splitbar (mouse/touch/pointer) with persisted panel height
  • 5 MB response body cap for stability

v0.4.0

Critical fix

  • Fixed webview HTML generation broken by esbuild (sidebar UI and scripts did not load). HTML is now built with safe array joins.

New features

  • HEAD method, Format JSON body, New Request reset, Copy/Clear response, delete/clear collections
  • Auto https:// URL prefix, configurable request timeout, ShellReq: Send Request command
  • Webview retains context when hidden; improved host-not-found error messages

v0.3.1

Bug Fixes & Stability

  • Fixed draggable splitbar events.
  • Made API methods robust for POST requests lacking content lengths.
  • Fixed UI components loading and history persistence.
  • Improved defensive state handling.

v0.3.0

Bug Fixes & Stability

  • Fixed webview tab switching and draggable splitter (works with mouse and touch).
  • Stabilized message passing between webview and extension host to avoid lost updates.
  • Mirrored webview runtime bundle in dist/ so the published extension receives the fixes.

Security & Maintenance

  • Continued removal of risky runtime dependencies; networking uses Node built-ins.
  • Temporary TypeScript suppressions removed from distribution build to ensure runtime stability.

v0.2.0

New Features

  • Draggable splitter bar between request and response panels
  • Enter key in the URL field triggers send immediately
  • "Built by Mahesh Shinde" footer branding
  • Improved response viewer and placeholder states

Security Improvements

  • Removed axios runtime dependency
  • Replaced networking with Node.js built-in http/https
  • Fixed shell injection vulnerability from unsafe exec() usage
  • Removed vulnerable dependency chain from shellreq

UI Improvements

  • Cleaner compact layout
  • Better status badges
  • Improved typography and spacing
  • Scrollable response body and headers
  • Smoother tab switching and state sync

Stability Fixes

  • Fixed request/response panel rendering bugs
  • Improved persistence and collection syncing
  • Fixed multiple TypeScript/runtime issues

v0.1.2 — Production Stability Overhaul

  • Fixed UI and state synchronization bugs
  • Improved bi-directional sync between extension host and Webview
  • Added CSP for secure Webview execution
  • Added loading spinner and disabled states during requests

v0.1.1

  • Minor stability improvements and internal refactoring

v0.1.0 — Official Release

  • Native Sidebar API Client
  • Full HTTP method support
  • Collections and request history

v0.0.3 — Sidebar Experience

  • Introduced sidebar-first layout
  • Added persistent storage for collections and history

Contributing

Contributions, bug reports, and feature requests are welcome!

  1. Fork the repository
  2. Create a feature branch:
git checkout -b feature/your-feature
  1. Commit your changes and open a Pull Request

License

This project is licensed under the MIT License.


Built by Mahesh Shinde

Marketplace · GitHub · Report an Issue

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft