macOS
brew install xhlocal Homebrew formula metadata
sudo port install xhMacPorts ports tree · net/xh/Portfile · source: api.github.com
brew
Friendly and fast tool for sending HTTP requests. Version 0.26.1 via Homebrew; verified 2026-06-20.
install
brew install xhlocal Homebrew formula metadata
sudo port install xhMacPorts ports tree · net/xh/Portfile · source: api.github.com
sudo apk add xhAlpine Linux edge package indexes · xh · source: dl-cdn.alpinelinux.org
sudo apt install xhDebian stable package indexes · xh · source: deb.debian.org
nix profile install nixpkgs#xhnixpkgs package indexes · pkgs/by-name/xh/xh/package.nix · source: api.github.com
sudo pacman -S xhArch Linux sync databases · xh · source: geo.mirror.pkgbuild.com
sudo zypper install xhopenSUSE Tumbleweed package metadata · xh · source: download.opensuse.org
scoop install main/xhScoop official bucket manifest trees · bucket/xh.json · source: api.github.com
winget install --id ducaale.xh -eWindows Package Manager source index · ducaale.xh · source: cdn.winget.microsoft.com
overview
Friendly and fast tool for sending HTTP requests
history
xh is a Rust command-line HTTP client that deliberately follows HTTPie's human-friendly request syntax while focusing on speed, portability, and a single-binary feel. It ships the `xh` command for ordinary requests and commonly also `xhs` for HTTPS-first invocation.
The GitHub repository was created on 2020-09-10. From its README, the central project premise has been stable: reimplement as much as possible of HTTPie's design, but with improved performance. That places xh in a specific generation of Rust CLI rewrites that kept beloved command-line UX while replacing heavier runtimes with compiled binaries.
The tool grew into a broad HTTP client rather than a minimal curl wrapper. Its documented options cover JSON/form/multipart bodies, pretty output, auth modes, sessions, redirects, downloads, proxies, TLS settings, HTTP/2 and HTTP/3 prior-knowledge modes, Unix sockets, offline request construction, curl command generation, completions, and manpage generation.
xh's adoption story is unusually package-manager oriented. The README lists installation through Cargo, Homebrew, MacPorts, Nixpkgs, Alpine, Arch, Debian/Ubuntu, Fedora COPR, FreeBSD, NetBSD, Termux, Scoop, Chocolatey, Winget, and other managers, plus prebuilt binaries for Linux, macOS, and Windows.
By July 2026 the GitHub repository had about 7.9k stars, showing that xh had become one of the recognizable modern alternatives in the terminal HTTP-client space. Its strongest adoption path is among developers who like HTTPie's request syntax but want Rust startup speed and simpler binary distribution.
Typical use mirrors HTTPie: `xh GET example.com`, `xh POST :3000/users name=Ana`, headers with `Header:Value`, query parameters with `==`, JSON literals with `:=`, file upload items with `@`, and localhost shorthand such as `:8000`. The README also documents stdin/file request bodies, nested JSON paths, sessions, downloads, redirects, and output selection.
The package is useful in API testing, shell scripts, local service debugging, documentation snippets, and CI smoke checks where curl is too terse and a full API client is too heavy. The `xhs` alias/symlink convention gives a small packaging detail that matters: package installs can expose both HTTP-default and HTTPS-default entry points.
xh is a clean example of the modern Rust CLI packaging pattern: a familiar UX borrowed from an established tool, fast native binaries, broad package-manager availability, and generated shell/manpage assets. It competes not by inventing a new HTTP grammar, but by making an existing ergonomic grammar cheap to install and fast to run.
For package nerds, xh also shows how compatibility can be a product feature. Its value comes from preserving enough HTTPie muscle memory that package users can swap tools without relearning request-item syntax.
security posture
broad file, network, media, or database tool signal.
blue risk · medium confidence · tool
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
xh | cli | global executable | |
xhs | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
install metadata
| Package key | brew:xh |
|---|---|
| Version | 0.26.1 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/xh |
| Homepage | https://github.com/ducaale/xh |
| Repository | https://github.com/ducaale/xh |
| Upstream docs | https://github.com/ducaale/xh#readme |
| License | MIT |
| Source archive | https://github.com/ducaale/xh/archive/refs/tags/v0.26.1.tar.gz |
| Last updated | 2026-06-20T00:41:08Z |
| Pulse | updated |
| Build dependencies | rust |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | xh |
| Version Scheme | 0 |
| Revision | 0 |
| Head Version | HEAD |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
xh 0.24.0-1+b1
Friendly and fast tool for sending HTTP requests
sudo apt install xhxh
nix profile install nixpkgs#xhxh 0.24.0-r0
Yet another HTTPie clone
sudo apk add xhxh-bash-completion 0.24.0-r0
Bash completions for xh
sudo apk add xh-bash-completionxh-doc 0.24.0-r0
Yet another HTTPie clone (documentation)
sudo apk add xh-docxh-fish-completion 0.24.0-r0
Fish completions for xh
sudo apk add xh-fish-completionxh-zsh-completion 0.24.0-r0
Zsh completions for xh
sudo apk add xh-zsh-completionxh 0.25.3-1
Friendly and fast tool for sending HTTP requests
sudo pacman -S xhxh 0.25.3-1.3
Tool for sending HTTP requests
sudo zypper install xhxh
sudo port install xhmain/xh
scoop install main/xhducaale.xh
winget install --id ducaale.xh -esource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.