xh CLI
The HTTP client sends terminal requests and displays responses so agents can inspect APIs with explicit headers and data.
- 8,170 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- The client sends data and credentials to a server, and mutating requests can change API state.
Install
In your terminal, with SkillFoxx CLI
npx skillfoxx add cli/xhDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The client sends data and credentials to a server, and mutating requests can change API state.
This is third-party code. Review the repository files before installing.
What it does
xh builds HTTP requests from a short command containing a URL, headers and data fields. An agent can prepare a test-API check for offline inspection before sending it. Responses appear readably in the terminal or can be saved for further analysis. JSON, forms, file uploads, authentication methods and sessions are supported. Users select response bodies, headers or metadata. A curl translation helps transfer the request to another workflow.
Who it is for. HTTP API testers inspecting agent-prepared requests and their exact parameters before sending them.
Good fit when
- An agent-prepared API request needs header and body inspection.
- Only response data or headers should be retained.
- A repeated request uses an approved authenticated session.
- The request needs a curl equivalent for an existing script.
Not a fit when
- You need a visual collection editor with interactive test workflows.
- The request would change live data without approval.
- Secret fields must not reach the selected server.
Example request
Prepare a POST to the test API, show it offline first and verify the JSON field types.Limitations
Without an explicit scheme, ordinary xh defaults to HTTP; specify HTTPS or its dedicated mode when required. Redirects are followed only with `--follow`, so inspect the eventual destination. Saved sessions may be updated from server responses; a separate read-only-session option avoids those updates. HTTP errors produce a nonzero exit status by default, but HTTPie compatibility mode changes that default.
How to disable. Stop the request and jobs invoking xh. Remove unused session and output files; undo changes already accepted by the server separately.
FAQ
Can I inspect a request without network access?
Yes. `--offline` constructs it without sending.
How do `=` and `:=` differ?
Use `=` for a string and `:=` for another JSON value, such as a number. Inspect field types with `--offline`.
How do I show only the response body?
Use `--body`.
Can I get a curl command?
Yes. Use `--curl`.
How do I avoid updating a saved session?
Use `--session-read-only` instead of a normal session.
Discussion
No questions or reviews yet.
Related
CLI toolsThe API client stores requests and checks in text files so agents can prepare tests for terminal use and CI execution.
A CLI asks questions about a Git diff before push and uses a chosen model to assess how well the developer understands the change.
Remote control for Claude Code, Codex and other coding agent sessions from your phone via native apps and web
Gives each coding agent its own repository copy with separate ports and a database, then verifies results in one shared pipeline.
The chub CLI gives an agent curated, versioned API docs by language, keeps local notes and takes ratings; a skill and an MCP server are included
A CLI that records a site's traffic into HAR and writes a ready API client from it in Python, TypeScript, Go and seven other languages
README in short
Request-field syntax follows HTTPie. Options control response formatting and file downloads.