lazyrest GitHub
TUI FOR .HTTP + .HURL + .SOCKET

Send a request.
Or keep the line open.

Run the request files in your project, then stay on the connection — a WebSocket, an MQTT topic, a raw socket — and watch it answer, frame by frame. No heavy client. No context switch. Just a focused, keyboard-first flow.

Pure GoNo CGOOpen source
LAZYRESTHTTP / HURL / STREAMS
~/playground● READY
REQUESTS GET list users POST create user GET health check
200 OK · 42 ms
{
  "status": "ready",
  "requests": 12
}
01 / ZERO SETUP 42 MS
HTTP REQUESTS ✦ HURL FILES ✦ WEBSOCKET ✦ MQTT ✦ STOMP ✦ GRAPHQL ✦ ENVIRONMENTS ✦ SAVED THEMES ✦ CURL EXPORT
01

BUILT FOR FLOW

Everything you need.
Nothing in the way.

lazyrest keeps the useful parts of an API client and leaves the ceremony behind.

01

Find requests instantly

Recursive discovery for .http, .hurl and .socket files, with automatic refresh whenever your editor saves a change.

02

Run with one key

Execute, cancel, replay, and move on. Hurl workflows surface their assertion failures in the TUI, and a WebSocket, MQTT or raw socket request opens a connection that stays there, frame by frame.

03

Read the response

Pretty or raw bodies, headers, timing, accurate response sizes, history, and safe secret redaction.

02

A SHORTER LOOP

Browse. Run.
Watch. Repeat.

Stay close to your code and keep your hands on the keyboard. A request answers once and is done; a stream keeps answering, and the pane fills as it does.

  • 1 Pick a request from the tree
  • 2 Select an environment
  • 3 Run it, or open the connection
  • 4 Read the response, or follow the frames
LIVE INTERFACEv0.30
lazyrest terminal interface with a socket request open and its frames arriving in the stream pane
03

READY TO RUN

Give your requests
a better home.

Install with Go, point lazyrest at a project, and start exploring.

TERMINAL● ● ●
go install github.com/Hecatoncheir/lazyrest@latest
$ lazyrest .
Or download a prebuilt release