Helena - a fast API client you can keep ...

Helena - a fast API client you can keep in git

Jul 16, 2026

I have been building a native API client called Helena, and it is free and open source. It does the job you normally reach for Postman for, in one small program: a ~35 MB native binary that opens instantly, with your collections stored as plain YAML files you can commit, diff, and review like source code.

imageThe reason it exists is simple. Somewhere along the way API clients turned into heavy browser apps with mandatory accounts, workspaces in someone else's cloud, and a subscription between you and the features you actually use. Helena goes the other way. It is written in Go with a native UI (no Electron, no browser engine), everything lives on your disk, and secrets stay out of the committed files: auth credentials and secret-flagged variables are kept in a separate store under your OS config dir, so a collection you push to git never carries a cleartext credential.

Everything is local. No account, no telemetry, no phone-home. Even the update check is a button you have to click yourself.

What it does today:

  • Full request builder: JSON, XML, GraphQL, form-urlencoded, multipart, and raw file bodies, plus a Path tab that fills the {id} placeholders in your URL

  • Nine auth schemes: Basic, Bearer, API Key, OAuth 2.0 (client credentials and authorization code + PKCE), OAuth 1.0a, WSSE, AWS Signature v4, HTTP Digest, and NTLM

  • {{variables}} everywhere, with layered environments, dynamic values like {{$guid}} and {{$timestamp}}, and ask-at-send prompts

  • JavaScript pre/post scripts with a test()/expect() framework, or a no-code Assertions tab if you would rather not write JS

  • Request chaining (my favourite part, shown below)

  • Server-Sent Events and WebSocket with a live two-way transcript

  • A headless runner: helena run executes a whole collection or a single folder from the CLI with the same scripts and assertions as the GUI, exits non-zero on failure, and can emit JSON or JUnit reports for CI

  • Import OpenAPI 3, Swagger 2, WSDL, and Postman; export any request as cURL, wget, JavaScript fetch, Python requests, or Go net/http

  • Cookie jar, request history, light and dark themes, drag-and-drop sidebar

imageThe Chain tab, or how to stop copy-pasting tokens

This is the feature I use the most. Say every call to your API needs a token from a login endpoint. Instead of sending the login request, copying the token, and pasting it somewhere, you declare the dependency once:

  • Create a request that logs in, for example Auth/Login, returning {"token": "..."}.

  • On the request that needs the token, open the Chain tab and add a row: alias login, request Auth/Login.

  • On the Auth tab, pick Bearer and set the token to {{chain.login.response.json.token}}.

Now press Send once. Helena runs Auth/Login first, pulls the token out of its JSON response, injects it into your request, and sends it. That is the whole workflow: log in and call the API in a single click.

chain. resolves anywhere a normal variable does: URL, query params, headers, body, and auth fields. You can reach into the parsed JSON items.0.id works), read response headers and status, or grab the raw body. Chains are recursive, so a chained request can chain its own prerequisites, and Helena cycle-checks the graph so you cannot wire up an infinite loop. When plain substitution is not enough, your scripts get the same chain results as objects and can reshape them however you like.

It works headlessly too: helena run executes chains exactly the same way, so your CI gets the login-then-call flow for free.

imageA one-person project, with AI on the team

Helena is built by one person. I lean on AI tooling heavily for the grunt work, which is a big part of why a solo project can ship nine auth schemes, two streaming protocols, and a CI runner. But every feature is designed, reviewed, and tested by a human who uses the app daily, and the codebase keeps a strict test suite to hold the line.

Free, with two nice ways to support it

Helena is free, BSD-licensed, and the full app is on GitHub. Builds for Windows, Linux, and macOS are on the releases page:

https://github.com/ideaconnect/helena/releases

If you want to support the project and get automatic updates on Windows, it is also on the Microsoft Store as a small paid listing. Same app, and buying it there directly funds development:

https://apps.microsoft.com/detail/9NWPKK6CTDR1

A Mac App Store release is in the works; until then the macOS build on the releases page works today.

Bug reports and pull requests are more than welcome. If something annoys you or you miss a feature from your current client, open an issue and there is a good chance it lands quickly.

And the name? Helena was my cat. She kept me company through most of the late-night sessions this app was built in, and it carries her name.

Website: https://idct.tech/helena

Source and issues: https://github.com/ideaconnect/helena

Releases: https://github.com/ideaconnect/helena/releases

Microsoft Store: https://apps.microsoft.com/detail/9NWPKK6CTDR1

Ti piace questo post?

Offri un caffè a IDCT TECH

Altro da IDCT TECH

PrivacyTerminiRapporto