Skip to content

hars-21/reqsh-site

Repository files navigation

reqsh

The interactive shell for HTTP requests.
Set a base URL once. Add headers once. Use variables. Save requests. Re-run from history.

License: MIT Rust Platform PRs Welcome GitHub Stars

What is reqsh?

reqsh is a persistent, interactive REPL shell for making HTTP requests directly from your terminal. Instead of constructing verbose curl commands over and over, you enter a session where everything is stateful, your base URL, your headers, your variables.

$ curl -fsSL https://reqsh.dev/install.sh | sh

Quick Start

# Install
curl -fsSL https://reqsh.dev/install.sh | sh

# Launch
reqsh

Usage

Set up your environment

reqsh> base https://api.example.com
reqsh> header Authorization Bearer tok_abc123

Send requests

reqsh> GET /users
reqsh> POST /users
.....> Content-Type: application/json
.....>
.....> { "name": "Alice" }
.....> ::send

Use variables

reqsh> set token eyJhbGciOiJIUzI1NiJ9
reqsh> GET /users/{{token}}
reqsh> ::send

Save and replay

reqsh> save get-users
reqsh> run get-users

History and rerun

reqsh> history
1: base https://api.example.com
2: header Authorization Bearer tok_abc123
3: GET /users

reqsh> rerun 3

Features

Feature Description
Persistent REPL Base URLs and headers persist across requests in a session
Variables Use {{variable}} syntax to interpolate values anywhere
History Every command is recorded; rerun any past request instantly
Save & Run Name requests and replay them with one command
Case-insensitive get, GET, GeT — all work the same
Pretty output JSON responses are auto-formatted and syntax-highlighted
Built-in timing Every response shows its latency
Multi-line bodies Build complex request bodies across multiple lines
Blazing fast Written in Rust; launches in milliseconds

Commands Reference

Command Description
base <url> Set the session base URL
header <key> <value> Add a persistent header
set <name> <value> Set a session variable
GET/POST/PUT/PATCH/DELETE <path> Send an HTTP request
::send Fire the current request
save <name> Save the last request
run <name> Replay a saved request
history Show session history
rerun <id> Re-execute a command from history
help Show command docs
exit Quit the session

Installation

macOS / Linux

curl -fsSL https://reqsh.dev/install.sh | sh

From source (requires Rust)

git clone https://github.com/hars-21/reqsh.git
cd reqsh
cargo install --path .

Pre-built binaries

Download the latest release for your platform from GitHub Releases.

Documentation

Full docs at reqsh.dev/docs

Community

License

MIT

About

Interactive, persistent shell for HTTP requests. Built with Rust for ultimate speed and simplicity.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Contributors