A minimal Rust-built statusline for Claude Code showing model, Git state, workspace, and context window usage in the terminal.
ducaale/xh
A friendly, fast command-line HTTP client that reimplements much of HTTPie's syntax with better startup performance.
Open-source alternative to:Postman
- Stars
- 8,139
- Forks
- 151
- Open issues
- 39
- Last commit
- 3 days ago
What is it?
xh is a command-line tool for sending HTTP requests, written in Rust. It reimplements much of HTTPie's request syntax, so developers familiar with HTTPie can use the same key-value style to set headers, JSON bodies, query strings and form fields from the terminal.
Compared with HTTPie, xh focuses on faster startup and ships as a single statically linked binary that is easy to install and move between machines. It also supports HTTP/2, can translate a request into an equivalent curl command with --curl, and offers options for sessions, authentication, proxies, client certificates, redirects and downloads.
xh runs on Linux, macOS and Windows and is available through many package managers. It can also run in HTTPie compatibility mode when invoked as http or https.
Key features
- 01Concise key-value syntax for headers, JSON bodies, form fields and query strings.
- 02Supports HTTP/2 and HTTP/3 prior-knowledge requests.
- 03Can print the equivalent curl command for any request with --curl.
- 04Supports sessions, basic, bearer and digest authentication, and .netrc credentials.
- 05Provides output coloring, JSON formatting and file download with resume.
Use cases
- Testing REST APIs from the terminal during development.
- Quickly sending ad hoc requests in shell scripts or debugging sessions.
- Converting a working request into a curl command for sharing or CI use.
- Downloading files over HTTP with resume support.
Quick start
- 1
Install via Homebrew (Linux & macOS)
brew install xh - 2
Send a GET request to a URL
xh httpbin.org/json
Things to know
- Not all of HTTPie's features are implemented.
- There is no plugin system.
- The project is relatively young compared to HTTPie.
Topics
FAQ
- What is xh?
- A friendly, fast command-line HTTP client that reimplements much of HTTPie's syntax with better startup performance. xh is a command-line tool for sending HTTP requests, written in Rust. It reimplements much of HTTPie's request syntax, so developers familiar with HTTPie can use the same key-value style to set headers, JSON bodies, query strings and form fields from the terminal.
- Is xh free to use? What license does it have?
- xh is open source under the MIT license. Check the license terms before using it in commercial products.
- Is xh still maintained?
- Actively maintained. The last commit to xh was on Oct 18, 2026.
- What can I use xh for?
- Testing REST APIs from the terminal during development. Quickly sending ad hoc requests in shell scripts or debugging sessions. Converting a working request into a curl command for sharing or CI use. Downloading files over HTTP with resume support.
- How do I install xh?
- Install via Homebrew (Linux & macOS): brew install xh Send a GET request to a URL: xh httpbin.org/json
- Where can I get xh?
- The source code and installation instructions are on GitHub: https://github.com/ducaale/xh
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Warp is an agentic development environment built out of the terminal, with a built-in coding agent or support for your own CLI agents.
A cat(1) clone for the terminal with syntax highlighting, Git change markers, and automatic paging.
A fast, user-friendly command-line alternative to the Unix find command for locating files and directories by name.
An open-source, AI-integrated terminal for macOS, Linux and Windows that supports BYOK and local models, durable SSH sessions and inline file previews.
A Rust CLI for managing git worktrees by branch name, built for running multiple AI coding agents in parallel.