reqsh Documentation
Master the interactive HTTP shell. Learn how to install, configure your environment and execute requests efficiently.
Getting Started
1. Install reqsh
Head over to the installation guide to download the binary or build from source.
2. Start the shell
Simply type reqsh in your terminal. This drops you into the interactive REPL.
3. Set a base URL
Define your target host. All subsequent requests in this session will be appended to this base URL automatically.
4. Send a request
Type the HTTP method and the relative path. Then execute it using the special ::send command.
Sending Requests
The shell supports building complex requests step-by-step. Start with the method and path. HTTP methods are case-insensitive - GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS are all supported. You can also use absolute URLs, no base URL required. Add headers on the following lines. Leave a blank line to start writing the body.
The response includes the HTTP version, status code (color-coded), response time, all response headers and the body. JSON responses are automatically pretty-printed with colored syntax.
Session state (base URL, headers, variables, saved requests) is persisted automatically to ~/.reqsh_state.json and restored when you restart the REPL. Command history is saved to ~/.reqsh_history.
Variables
Store values with set and reference them anywhere in your request using {{name}}. Variables are interpolated at request time.
Query Parameters
Add query parameters with param: lines. Values are URL-encoded automatically.
Save & Run
Timeout
Set a default timeout for all requests in a session.
You can also set a timeout when starting the REPL:
Clear Session
Reset the entire session state — base URL, headers, variables, and saved requests.
Session Persistence
Your session state is automatically saved to ~/.reqsh_state.json when you exit and restored when you start the REPL again.
Save & Run
Save a request to session memory after executing it, then run it again instantly without retyping.