Interactive HTTP shell for API workflows. Send requests, manage headers & variables and rerun past commands from a terminal REPL.
- Interactive REPL with multi-line request editing
- Send GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS requests (case-insensitive)
- Multi-line request input with query params, headers, body and
###terminator - Persistent session state across restarts (
~/.reqsh_state.json) - Variable interpolation with
{{name}}syntax in paths, headers, query params and bodies - Global headers and variables (
header,var) - Save, manage and run requests in-session (
req) - Re-run the last executed request (
req rerun) - Save the last response body to a file (
req save-response <path>) - Command history with show, rerun and clear
- Configurable request timeout
- JSON response pretty-printing with colored output
curl -fsSL https://reqsh.dev/install.sh | shOr via Homebrew:
brew tap hars-21/tap
brew install reqshOr via Cargo:
cargo install reqshYou can also download a binary from the releases page or build from source.
demo.mp4
reqsh> base https://api.example.com
reqsh> GET /users
.....> ###
reqsh> POST /users
.....> Content-Type: application/json
.....>
.....> {"name": "john"}
.....> ###For full documentation on commands, variables and usage see the docs.
Contributions are welcome. Please read CONTRIBUTING.md for guidelines.
MIT. See LICENSE for details.
