The workshop · Edition No. 35 · 29 Sep 2026

rest-sh/restish

A command-line tool for calling web APIs that builds short commands from the API's own description and remembers a login for each service.

← The workshopRead the whole edition →
05

rest-sh/restish

💎 hidden gem

1,400 stars · MIT, read from /blob/main/LICENSE.md on 2026-09-29 after both /blob/main/LICENSE and /blob/master/LICENSE returned 404; plain, copyright 2020 Daniel G. Taylor · v2.3.0 (2026-06-30). THE YEAR TRAP: /releases/latest prints "June 30" with no year and it was read as 2024; pkg.go.dev settles it as 2026. No code date could be read for this row, because ungh returned HTTP 429 all morning; currency rests on a release three months old, which is comfortably inside the eighteen-month bar. · Track this in Scout

A command-line tool for calling web APIs that builds short commands from the API's own description and remembers a login for each service.

▶Repo detailsthe review · specs · pros & cons · install

What it is

A small Go program at 1,400 stars, written by one author since 2020 and now in its second major version. It discovers an OpenAPI description, which is the machine-readable file that says what an API can do, and builds commands from it.

What it is good for. Anyone who calls the same handful of APIs every week and has a text file of half-remembered curl lines. Named authentication profiles are the quiet win: you set up a service once and then never paste a token again. Readable, structured output is the other one, because a wall of unformatted JSON is not something a person can scan.

Stars1,400
LicenceMIT, read from /blob/main/LICENSE.md on 2026-09-29 after both /blob/main/LICENSE and /blob/master/LICENSE returned 404; plain, copyright 2020 Daniel G. Taylor
Latestv2.3.0 (2026-06-30). THE YEAR TRAP: /releases/latest prints "June 30" with no year and it was read as 2024; pkg.go.dev settles it as 2026. No code date could be read for this row, because ungh returned HTTP 429 all morning; currency rests on a release three months old, which is comfortably inside the eighteen-month bar.
Good
  • Short commands derived from the API's own description, so there is nothing to keep in step by hand.
  • Saved authentication profiles, including the common token flows, so credentials stop living in shell history.
  • MIT licensed, read from LICENSE.md, copyright 2020 Daniel G. Taylor, with no added conditions.
Watch for
  • The repository moved. It is now rest-sh/restish, and the old address still redirects. The install command from the README already points at the new name, which is how the move was noticed.
  • Most of the value depends on the API publishing an OpenAPI description. Plenty do not, and against those it is a nicer HTTP client and little more.
  • Authentication profiles live in a file on the machine. That file is now worth protecting, and the project does not encrypt it for you.
Similar repositories
  • httpie/cli

    38,600 stars, BSD-3-Clause, the best-known friendly HTTP client; more popular and simpler, but it does not read API descriptions and has no profile system of this kind.

    Track this in Scout
  • Orange-OpenSource/hurl

    19,200 stars, Apache-2.0, version 8.0.1; it runs and tests requests written in a plain text file, which makes it better for repeatable checks and worse for exploring.

    Track this in Scout
  • ducaale/xh

    8,100 stars, MIT, a fast Rust rewrite of the HTTPie style of command; quick and small, with no API discovery.

    Track this in Scout
Install
brew install restish
restish --version
Screenshots
rest-sh/restish: GitHub preview cardrest-sh/restish: Screenshot 1

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.