Skip to main content

Goose

Install, authenticate, and resume Block's Goose inside Daintree, including the session subcommand, provider env vars, and the macOS config path.

Reviewed

Goose

Goose is Block's provider-agnostic coding agent. It runs as a process in its own Daintree terminal panel with full PTY emulation, like every other built-in agent.

Commandgoose session
Shortcut— (assignable in Keyboard settings)
RenderingAlt-screen — Goose draws its own full-screen TUI
Resumegoose session --resume --session-id <id>
Quit command/exit
Permission bypassNone declared
PlatformsmacOS, Windows, Linux

Install & Authenticate

brew install block-goose-cli
# or
curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh | bash

Once it's installed, run goose configure to pick a provider and supply credentials. Daintree launches Goose with the session subcommand, so the effective command is goose session. Provider env vars (GOOSE_PROVIDER, GOOSE_MODEL, ANTHROPIC_API_KEY, OPENAI_API_KEY, GOOGLE_API_KEY) take precedence over the on-disk config, and Daintree treats either the config file or one of those keys as proof of authentication.

Note
On macOS, Goose stores its config at ~/Library/Application Support/Block/goose/config.yaml, not under ~/.config. Linux uses ~/.config/goose/config.yaml and Windows uses AppData\Roaming\Block\goose\config\config.yaml. That's where to look if you need to edit it by hand.

Resuming Sessions

Goose prints session closed · <id> when it exits cleanly, and Daintree reads the ID off that line. Resuming relaunches goose session --resume --session-id <id>. Quit with /exit so the line is emitted — a killed process leaves no ID to capture and the next launch starts fresh. See Session Management for how resumable sessions are stored and pruned.

Launch flags, custom presets and display titles are covered in Agent Presets. What the working, waiting and exited badges on a running agent mean is covered in Agent States.

Tip
If goose isn't detected after install, confirm it's on your PATH (which goose on macOS/Linux, where goose on Windows), then restart Daintree. Both installers land the binary in ~/.local/bin, which isn't always on PATH for a GUI-launched process — Daintree probes that path directly for exactly that reason.