Ghostman is a terminal user interface (TUI) application designed for developers who prioritize speed, privacy, and keyboard-centric workflows. Unlike many modern API clients that have evolved into large enterprise platforms, Ghostman is built as a 100% local-first tool. It avoids cloud accounts, telemetry, and the high memory overhead associated with Electron-based frameworks, aiming to launch in under 200ms directly within a terminal environment.

A promotional graphic for Ghostman, a local-first TUI API client and webhook inspector.
Ghostman provides a keyboard-driven, local-first environment for testing APIs and inspecting webhooks.github.com

The image serves as a primary visual for the Ghostman tool, highlighting its core identity as a local-first TUI application.

The tool provides a comprehensive suite of HTTP methods, including GET, POST, PUT, DELETE, and PATCH, supporting custom headers and raw JSON payloads. A standout feature is its built-in webhook receiver, which allows developers to spin up an ephemeral server on a local port (defaulting to http://127.0.0.1:9090) to catch and inspect incoming callbacks from services like Stripe or GitHub. This eliminates the need for external tunnels like ngrok during local development. The interface uses the Rich and Pygments libraries to provide syntax highlighting and auto-formatted JSON responses, while also offering real-time performance telemetry to track DNS and time-to-first-byte (TTFB) latency.

A visual representation of the Ghostman webhook inspection interface.
The built-in webhook receiver allows developers to catch and inspect incoming callbacks locally.github.com

This image illustrates the specific functionality of the webhook receiver mentioned in the second paragraph.

A visual representation of the Ghostman response display.
Ghostman uses syntax highlighting and auto-formatting to display JSON responses clearly in the terminal.github.com

This visual supports the description of the tool's interface and its ability to format JSON responses.

Data persistence in Ghostman is handled through plain YAML files located in a .ghostman directory. This design choice allows developers to check their API collections into version control systems like Git, facilitating team collaboration without cloud synchronization. While the project is currently in an early stage—noted by its minimal initial commit history—it offers a distinct alternative to more mature TUI clients by focusing on a 'cyberpunk' aesthetic and a specific workflow that integrates webhook inspection directly into the request-testing loop. It currently supports standard HTTP requests and provides a foundation for future features like dynamic environment variables and cURL export capabilities.