Connecting services and preparing your dashboard.
Goose uses a YAML config file with Bearer token auth. No OAuth — Bearer is the stable path for Goose in 2026 due to a known OAuth token persistence bug.
OVERVIEW
Goose is an open-source AI agent from Block (now under the AAIF at the Linux Foundation). It runs as a desktop app, CLI, or API and connects to MCP servers via ~/.config/goose/config.yaml. Unlike most editors, Goose uses YAML format — not JSON. OAuth support exists but has a known bug (issue #3545, still open as of 2026) where the OAuth flow re-runs every new session instead of reusing stored tokens. Bearer key auth is the recommended stable method.
CONFIG FILE LOCATION
~/.config/goose/config.yaml — YAML format, not JSON.
Paste the YAML exactly as shown. Goose reads MCP extensions from `~/.config/goose/config.yaml`, so keep the indentation intact and keep `type: streamable_http` with the underscore.
Replace `{{API_KEY}}` with your Zephex API key from the dashboard. Do not use OAuth with Goose — a known bug causes re-authentication every session.
extensions: - name: zephex type: streamable_http uri: https://zephex.dev/mcp enabled: true timeout: 300 headers: Authorization: "Bearer {{API_KEY}}"Instead of editing the YAML manually, you can add the same remote extension interactively from the Goose CLI.
goose configure→ Add Extension→ Remote Extension (Streamable HTTP)→ Name: zephex→ URI: https://zephex.dev/mcp→ Timeout: 300→ Add header: Authorization: Bearer YOUR_KEYGoose uses Bearer token auth via the config file. No browser OAuth flow needed.
Verify both the extension registration and a live Goose session before you rely on Zephex tools.
Goose's config is strict YAML. Use spaces, not tabs. The `headers` block must be indented correctly under the extension entry.
Confirm the file is at `~/.config/goose/config.yaml`, not `~/.goose/config.yaml`. The path matters.
This is a known Goose bug. Switch to Bearer token auth in the config file instead. Do not use the OAuth flow.
Check that `timeout: 300` is set. A low timeout can cause the connection to drop before tools are loaded.
If the editor still does not connect, return to Quickstart or check Connection Issues.