-
Notifications
You must be signed in to change notification settings - Fork 2.8k
Description
The documentation currently references config.yaml as if it's the only configuration file, but goose actually uses multiple configuration files within the ~/.config/goose/ directory. The documentation should be updated to accurately reflect this multi-file structure.
Current Problem
Documentation references like:
- "edit it directly at
~/.config/goose/config.yaml" - "your config file at
~/.config/goose/config.yaml" - Instructions to modify
config.yamlfor settings that are actually stored elsewhere
Expected Behavior
Documentation should:
- Reference the config directory (
~/.config/goose/) when discussing configuration generally - Specify which specific file is used for different types of configuration
- Explain the purpose of each configuration file
Configuration Files Structure
~/.config/goose/
├── config.yaml # Provider, model, extensions, general settings
├── permission.yaml # Tool permission levels (user-configured)
├── secrets.yaml # Secrets (when keyring is disabled)
└── permissions/ # Runtime permission decisions (auto-managed)
└── tool_permissions.json
Files That Need Updates
The following 13 documentation files reference config.yaml and need to be reviewed and updated:
High Priority
documentation/docs/guides/config-file.md- Main config documentationdocumentation/docs/getting-started/installation.mddocumentation/docs/troubleshooting.md
Medium Priority
documentation/docs/getting-started/using-extensions.mddocumentation/docs/guides/managing-tools/tool-router.mddocumentation/docs/guides/subagents.mdxdocumentation/docs/guides/recipes/session-recipes.mddocumentation/docs/guides/multi-model/creating-plans.mddocumentation/docs/guides/multi-model/autopilot.mddocumentation/docs/guides/sessions/smart-context-management.md
Lower Priority
documentation/docs/tutorials/isolated-development-environments.mddocumentation/docs/tutorials/cicd.mddocumentation/blog/2025-06-19-isolated-development-environments/index.md
Suggested Changes
General References
Before:
You can edit your config file at `~/.config/goose/config.yaml`After:
Configuration files are stored in `~/.config/goose/`. The main config file is `config.yaml`.Specific Settings
When documenting specific settings, specify which file:
Example for provider settings:
Provider and model settings are stored in `~/.config/goose/config.yaml`Example for permissions:
Tool permissions are stored in `~/.config/goose/permission.yaml`Add Configuration Overview Section
The main config documentation (docs/guides/config-file.md) should include a section explaining all configuration files:
## Configuration Files
goose stores configuration in multiple files within `~/.config/goose/`:
- **config.yaml** - Provider, model, extensions, and general settings
- **permission.yaml** - Tool permission levels configured via `goose configure`
- **secrets.yaml** - API keys and secrets (only when keyring is disabled)
- **permissions/tool_permissions.json** - Runtime permission decisions (auto-managed)Related Issue
This is part of the fix for the bug reported in #4734, which identified that goose misdocuments its configuration structure. The CLI portion is being addressed in a separate issue.
Acceptance Criteria
- All 13 documentation files have been reviewed
- References to
config.yamlare updated to either:- Reference the config directory generally, OR
- Specify the correct file for the specific setting
- Main config documentation includes overview of all config files
- Documentation accurately reflects which settings go in which files
- No misleading references that suggest only
config.yamlis used
Additional Context
Search command to find all references:
rg "config\.yaml" documentation/ -l