documentation/docs/guides/custom-distributions.md
goose is designed to be forked and customized. You can create your own "distro" of goose preconfigured with specific providers, bundled extensions, custom branding, and tailored workflows for your organization or audience.
| What You Want | Complexity |
|---|---|
| Preconfigure a model/provider | Low |
| Add custom AI providers (declarative JSON, no code) | Low |
| Bundle custom MCP extensions | Medium |
| Modify system prompts | Low |
| Customize desktop branding (icons, names, colors) | Medium |
| Build a new UI via REST API or ACP | High |
| Create guided workflows with recipes | Low |
The full guide lives in the repo root since you'll need to work at the code level to build a custom distribution:
š CUSTOM_DISTROS.md
It covers:
config.yaml, init-config.yamlThe simplest custom distribution just sets environment defaults:
export GOOSE_PROVIDER=ollama
export GOOSE_MODEL=qwen3-coder:latest
Or create an init-config.yaml applied on first run:
GOOSE_PROVIDER: ollama
GOOSE_MODEL: qwen3-coder:latest
See the full guide for more scenarios including corporate API key distribution, audience-specific builds, and custom UIs.