Early access

A CLI for your API

Generate a branded, idiomatic command-line interface from your OpenAPI spec. Built for developers, JSON-first for agents.

~/projects/yourco
v1.4.0Your Company API, in your terminalyourco --help
Authenticating with API key
POST /v1/orders
Order ord_8e2x created (pending)
3 orders in 142ms

Generated from your spec, branded as your own.

From your OpenAPI spec

One spec, every surface. The CLI stays in sync with your SDKs and docs.

Idiomatic commands

Resources become subcommands. `orders list`, `webhooks send`, `users invite`.

Distributed everywhere

Homebrew, npm, Scoop, and signed binaries on GitHub Releases.

Agent-ready

Every command speaks JSON, so coding agents can pipe one call into the next.

From spec to terminal.

Your OpenAPI spec compiles into a signed binary, ships to every package manager, and lands in your developers’ terminals on autopilot.

openapi.yml

Your OpenAPI spec is the source of truth for every command.

generators.yml

Group endpoints into resource verbs like `orders list`.

fern generate cli

Fern compiles a signed binary for macOS, Linux, and Windows.

brew · npm · scoop

One release command publishes to every package manager.

$ yourco --help

Your developers run `brew install yourco` and start shipping.

Up and running in seconds.

Install through any package manager, sign in once, then explore every command with rich inline help.

  • brewinstall yourco
  • npminstall -g yourco
  • pnpmadd -g yourco
  • scoopinstall yourco
  • curl-fsSL fern.sh/install | sh

Install anywhere

Fern publishes signed binaries to Homebrew, npm, pnpm, Scoop, and a one-line curl installer on every release.

Terminal
~$yourco
v1.4.0Your Company API, in your terminal
How would you like to sign in?
1. Sign in with browserQuickest, recommended
2. Sign in with device codeUse a code on another device
3. Provide your own API keyFor CI and automated environments
Press enter to continue

Sign in anywhere

A friendly welcome screen with sign-in for every environment: browser, device code, or your own API key for CI.

Built for humans and agents.

Every command ships with rich help and shell completion for humans, plus first-class JSON output so coding agents can invoke your API the same way they invoke yours.

AI agent
I’ll create the order and confirm it’s pending.
>yourco orders create --amount 4200 --currency usd --output json
{
  "id":         "ord_8e2x",
  "status":     "pending",
  "amount":     4200,
  "currency":   "usd",
  "created_at": "2026-05-22T14:31Z"
}
Order ord_8e2x createdsending confirmation…

Agent-first by design

Coding agents call your CLI the same way humans do. Pass --output json and pipe structured data straight into the next step.

Terminal
~/yourco$yourco
yourco ordersCreate, list, and refund orders
yourco webhooksManage webhook endpoints and deliveries
yourco usersInvite, list, and revoke team members
yourco authSign in, rotate keys, switch accounts
yourco updateUpgrade to the latest version

↑↓ to navigate · ⇥ to complete · ⏎ to run

First-class developer UX

Tab completion in bash, zsh, fish, and PowerShell. Inline help on every flag. Helpful error messages with copy-paste fixes.

Every endpoint, a command.

Resources from your OpenAPI spec become subcommands. Flags map to request parameters. Output is JSON by default, so agents can pipe one call into the next.

Ship a CLI your developers love.

Fern compiles, signs, and publishes the binary. You bring the spec and the brand.