· via Hacker News – Front Page (native)
Ghostman: a keyboard-driven terminal API client with built-in webhook inspection
Ghostman, newly shared on Hacker News, is an open-source terminal client for composing HTTP requests and capturing webhooks locally, with collections stored as Git-friendly YAML and no cloud accounts.
A developer has released Ghostman, an open-source, keyboard-driven API client and webhook inspector that runs entirely in the terminal, and introduced it on Hacker News as a Show HN project.
A reaction to heavyweight API clients
According to the project's GitHub page, Ghostman was built in response to mainstream GUI clients such as Postman and Insomnia, which the developer says have grown from lightweight utilities into enterprise platforms that push cloud logins, team workspaces and telemetry. The README puts idle memory use for such tools at 800MB to 1.5GB and criticises their slow startup — figures that are the author's own claims rather than independent benchmarks, but which echo a familiar complaint about the category. Ghostman's counteroffer is a dark "cyberpunk" terminal theme that the author says launches in under 200 milliseconds, with no cloud account and everything kept on the local machine.
Requests, telemetry and Git-friendly collections
Ghostman supports GET, POST, PUT, DELETE and PATCH requests with custom headers and raw JSON bodies, and organises them into collections that persist across sessions. Responses are automatically indented and colourised using the Python libraries Pygments and Rich, while telemetry reports DNS resolution time and time-to-first-byte alongside HTTP status codes and payload sizes. Collections live as plain YAML in a single .ghostman/collections.yaml file, which can be committed to a repository so an entire team shares the same request definitions without a cloud sync account.
Local webhook capture without a tunnel
The standout feature is the embedded webhook receiver. Pressing Ctrl+W starts an ephemeral server on port 9090 at 127.0.0.1, which catches incoming callbacks — the README names Stripe, GitHub and Shopify as examples, along with local microservices — and renders headers and parsed payloads live in a dedicated tab. Because the receiver runs on the developer's own machine, the README argues, there is no need for external tunnels or third-party inspection services such as ngrok or webhook.site during development.
Running and controlling it
Ghostman requires Python 3.10 or newer and installs the traditional way: clone the repository, install dependencies with pip, and run python main.py, with a run.bat shortcut available on Windows. Operation is fully keyboard-driven: Ctrl+S sends the current request, Tab and Shift+Tab move focus between inputs, method selectors and tabs, and Ctrl+Q quits. The README's roadmap points to work still ahead, including one-click replay of a captured webhook as an outbound request (the introduction already promises replay, so the exact state of that feature is slightly ambiguous), dynamic environment variables such as {{BASE_URL}} and {{AUTH_TOKEN}}, exporting requests to cURL via Ctrl+C, and a standalone binary that would remove the Python dependency altogether. The project is published under the MIT licence.
Why it matters
API testing is a daily chore for most developers, and the incumbent tools have drifted steadily toward account-based, cloud-synced platforms. Ghostman belongs to a broader turn toward file-based workflows: YAML collections that diff and review cleanly in version control, no login walls, and webhook capture built into the same window where requests are composed. For anyone integrating payment or git platform webhooks, the bundled receiver alone could remove a standing piece of setup friction. As a young project it still has gaps — environment variables and webhook replay in particular will matter to serious users — but it is a clear signal of where expectations for lightweight developer tooling are heading.
- #developer-tools
- #api-client
- #terminal
- #webhooks
- #open-source