Goose
Goose is an open-source AI agent that ships three ways: a native desktop app for macOS, Linux and Windows, a full CLI for terminal workflows, and an API you can embed in your own product. It is written in Rust.
Goose started at Block and moved to the Agentic AI Foundation at the Linux
Foundation, a transition Goose announced as complete in April 2026. The repo
now lives at github.com/aaif-goose/goose
and the docs at goose-docs.ai. Old block/goose and block.github.io/goose
links redirect.
It reaches Hyphen through its built-in openai provider, pointed somewhere
else.
Setup guide: this config comes from Goose's official documentation and has not been run end to end against the gateway. Corrections to support@hyphen-solution.com.
The easy mistake
Goose does not use OPENAI_BASE_URL. It splits the URL into two variables:
the host root, and the request path.
Code
Set OPENAI_HOST to a URL with no path on it, and put v1/chat/completions in
OPENAI_BASE_PATH with no leading slash. Get this wrong and every request 404s.
1. Get a key
app.hyphen-solution.com → sign in → pick a
plan or credit pack → Dashboard → API Keys. Copy the sk-... key.
2. Configure
Add to ~/.zshrc or ~/.bashrc:
Code
Then source ~/.zshrc or open a new terminal.
Prefer the config file?
Everything except the key goes in ~/.config/goose/config.yaml:
Code
Leave OPENAI_API_KEY in the environment or Goose's keyring. Goose's own docs
advise keeping secrets out of config.yaml.
Or run goose configure
The interactive path does the same thing: goose configure → Configure
Providers → OpenAI → paste the key → supply the host URL when prompted.
3. Verify
Code
Then type:
Code
A one-shot version exists too. Check goose run --help for the flag your
version uses:
Code
Named provider instead of hijacking openai
If you already use the real OpenAI in Goose and do not want to override its
host, register Hyphen as its own provider. Drop this JSON in
~/.config/goose/custom_providers/hyphen.json (Windows:
%APPDATA%\Block\goose\config\custom_providers\hyphen.json):
Code
Note the difference: here base_url is the full URL including
/v1/chat/completions, not the split form. The key comes from whatever
environment variable api_key_env names.
Code
Troubleshooting
- 404 on every request.
OPENAI_HOSThas a path on it, orOPENAI_BASE_PATHhas a leading slash. It ishttps://api.hyphen-solution.comandv1/chat/completions. 401.OPENAI_API_KEYis unset or wrong. Goose may also have an old key in the system keyring from a previousgoose configurerun.- Empty or truncated replies. The M-series reason before answering. Give Goose room; see Choosing a model.
429. Monthly budget spent. See Rate limits & caps.- Variable names changed? Confirm the current set at
Goose's provider docs.
The docs moved from
block.github.io/goosetogoose-docs.ai.
Related
- Choosing a model: which model for which job.
- A small agent loop: what Goose is doing under the hood.