Skip to main content
The goro command line client wraps the same HTTP API your agent uses. It is useful for three things: setting up a key once, exploring the catalog by hand before you wire anything up, and scripting calls where a full agent would be overkill. Human-readable by default, raw JSON on demand, and an exit code that says what happened so a shell script can branch on it.

Install

That installs a goro command. The package is scoped because the bare goro name on npm belongs to an unrelated project.
Prefer not to install globally? npx @goroo/cli discover -q "..." works the same way.

First run

It prompts for an API key, verifies it against the gateway, and stores it in ~/.goro/config.json with permissions 0600. The key is never echoed while you paste it and is never printed back afterwards.

The commands

Global options

-j and -o are independent. -o always writes the same JSON -j prints, so you can keep a readable terminal and still capture the machine-readable result:

Exit codes

Every command exits with one of five codes. Scripts branch on these rather than parsing output.
A run that comes back FAILED or TIMED_OUT also exits 4, even though the HTTP call itself succeeded. The run is what you asked about, so the run is what the exit code reports on.

How prices read

The CLI shows two different kinds of number and never mixes them up.
1

A rate is exact

A rate is what one unit costs you: a row, a page, a second of audio. It prints flat, with no hedging: $0.0069 per profile. A flat-priced tool prints the same way, and there the rate is the whole price: $0.18 per call.
2

A ceiling is a maximum

Before a call runs, the price attached to a tool is a ceiling for your request, not a prediction. It always prints with the words “up to”, for example up to $6.00 per call. You are never charged above it, and the final charge is usually well below it.
3

A charge is what happened

After a call completes, the CLI shows what it actually cost and what that works out to per result: charged $0.0105 (1 result, $0.0105 each).
See Pricing for how the hold and the final charge are computed.

Environment

GORO_API_KEY is the one to reach for in CI: nothing is written to disk, and no setup step is needed.

Every command, with examples

Piping to jq, scripting retries, and running a batch of inputs.