# Goose on ORB Cloud

[Goose](https://block.github.io/goose/) is a CLI agent from Block. It picks a provider via `GOOSE_PROVIDER` and a model via `GOOSE_MODEL`. To send LLM traffic through ORB's proxy, point the provider's base URL at `http://127.0.0.1:8080` in `~/.config/goose/config.yaml`.

## orb.toml

```toml
[agent]
name = "goose"
lang = "binary"
entry = "/agent/code/start.sh"

[agent.env]
HOME = "/root"
OPENAI_API_KEY = "${OPENAI_API_KEY}"
GOOSE_PROVIDER = "openai"
GOOSE_MODEL    = "gpt-5"

[build]
steps = [
  "mkdir -p /agent/code /root/.config/goose",
  "curl -fsSL https://github.com/block/goose/releases/latest/download/download_cli.sh | bash",
  "ln -sf /root/.local/bin/goose /usr/local/bin/goose",
  "cat > /agent/code/start.sh <<'SH'",
  "#!/bin/bash",
  "set -e",
  "exec goose run --instructions /agent/code/task.md",
  "SH",
  "chmod +x /agent/code/start.sh",
  "cat > /root/.config/goose/config.yaml <<'YAML'",
  "GOOSE_PROVIDER: openai",
  "GOOSE_MODEL: gpt-5",
  "OPENAI_HOST: http://127.0.0.1:8080",
  "YAML",
]
working_dir = "/agent/code"

[llm]
base_url = "https://api.openai.com"

[resources]
runtime = "2GB"
disk    = "4GB"
```

`download_cli.sh` is Goose's official installer; it drops the binary at `~/.local/bin/goose`. The `OPENAI_HOST` field in Goose's config (not the env var) is what redirects traffic to ORB's per-computer proxy. Swap `openai` for `anthropic`/`google` etc. and adjust `[llm] base_url` to match.
