Introduction
Wuzz is a terminal-based interactive HTTP client that combines the power of curl with a visual text-based interface. Instead of crafting long curl commands, you compose requests in a split-pane TUI that shows URL, headers, body, and response side by side. It is useful for debugging APIs, exploring endpoints, and testing authentication flows without switching to a graphical tool.
What Wuzz Does
- Provides a split-pane terminal UI for editing HTTP requests and viewing responses
- Supports all HTTP methods (GET, POST, PUT, DELETE, PATCH, etc.)
- Allows editing of request headers, query parameters, and body in separate panes
- Displays response status, headers, and body with scrollable output
- Supports TLS, basic auth, and custom certificate configuration
Architecture Overview
Wuzz is a single Go binary built on the gocui terminal UI library. It creates a set of text editor views for URL, method, headers, body, and response. When you press Ctrl+R, it builds an http.Request from the editor contents, executes it using Go's net/http client, and renders the response in the output pane. No external dependencies are required.
Self-Hosting & Configuration
- Install as a single static binary via go install or system package manager
- No configuration file needed; all settings are passed via CLI flags
- Set default timeout with -timeout flag (in seconds)
- Configure TLS client certificates with -cert and -key flags
- Proxy support via -proxy flag or standard HTTP_PROXY environment variable
Key Features
- Single-binary deployment with no runtime dependencies
- Interactive header and body editing with keyboard shortcuts
- Request history navigation within the same session
- Response body search for quickly finding relevant data
- Minimal resource footprint suitable for remote SSH sessions
Comparison with Similar Tools
- curl — command-line only with no interactive UI; Wuzz adds visual editing and response viewing
- HTTPie — colorized CLI HTTP client; Wuzz provides a full TUI for interactive exploration
- Hoppscotch — browser-based API client; Wuzz runs entirely in the terminal
- Insomnia — desktop GUI app; Wuzz is a lightweight terminal alternative for SSH sessions
- xh — modern curl alternative with colors; Wuzz adds interactive request composition
FAQ
Q: Can I save and replay requests? A: Wuzz does not persist request history between sessions. For persistent collections, use Bruno or Hoppscotch.
Q: Does Wuzz support GraphQL? A: You can send GraphQL queries by setting the body to a JSON payload and Content-Type to application/json.
Q: Is Wuzz actively maintained? A: The project is stable and functional. Feature development has slowed but the tool remains useful for quick HTTP debugging.
Q: Can I use Wuzz with authenticated APIs? A: Yes. Add Authorization headers in the headers pane or use -basic-auth for HTTP Basic authentication.