You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It skips ~/Projects/ClientA/opencode.jsonc entirely because findUp stops at the git boundary.
What I need: The ability to define client-level MCPs and context once, inherited by all projects under that client, without duplicating config into every git repo.
The workaround of OPENCODE_CONFIG=../opencode.jsonc doesn't help because:
It overrides rather than merges
It requires manual invocation every time
It doesn't support multiple levels of hierarchy
Secondary Concern: Instruction Files
Related to config hierarchy, I'd want instruction files (AGENTS.md) to follow the same pattern. Currently I can work around this with the instructions config field:
If config hierarchy worked, this would "just work" - each level's config would add its own AGENTS.md via the instructions array, and since instructions arrays concatenate (per mergeConfigConcatArrays), all levels would be included.
One implementation note: If this feature lands, relative paths in instructions (like "./AGENTS.md") would need to be resolved relative to the config file's location before merging, not relative to CWD. Otherwise users would need to use absolute paths at each level.
Summary
Would love to see findUp optionally continue beyond git boundaries, walking up the filesystem until it hits $HOME or a configurable stop point. This would enable:
Client/org-level MCP configurations
Tiered instruction contexts
Reduced duplication across related projects
Reacted by Rafael Gomes and Lukas Taegert-Atkinson
Activity
[-]upper config scope[/-][+]parent folder config scope[/+]github-actions commentedon Jan 26, 2026
This issue might be a duplicate of existing issues. Please check:
OPENCODE_NO_PARENT_CONFIGto disable parent directory config inheritance #10025: [FEATURE]: addOPENCODE_NO_PARENT_CONFIGto disable parent directory config inheritance (directly related to parent config behavior)Feel free to ignore if none of these address your specific case.
cravenceiling commentedon Jan 26, 2026
I think you could do something like:
inside of
project_1orproject_2of course.You can check the final config using:
Flare576 commentedon Feb 9, 2026
Use Case: Multi-Client Consultant Structure
I have the exact same need. My directory structure:
Current behavior: When I run
opencodein~/Projects/ClientA/project-one/, it only loads:~/.config/opencode/opencode.jsonc(global)~/Projects/ClientA/project-one/opencode.jsonc(git root)It skips
~/Projects/ClientA/opencode.jsoncentirely becausefindUpstops at the git boundary.What I need: The ability to define client-level MCPs and context once, inherited by all projects under that client, without duplicating config into every git repo.
The workaround of
OPENCODE_CONFIG=../opencode.jsoncdoesn't help because:Secondary Concern: Instruction Files
Related to config hierarchy, I'd want instruction files (
AGENTS.md) to follow the same pattern. Currently I can work around this with theinstructionsconfig field:If config hierarchy worked, this would "just work" - each level's config would add its own
AGENTS.mdvia theinstructionsarray, and sinceinstructionsarrays concatenate (permergeConfigConcatArrays), all levels would be included.One implementation note: If this feature lands, relative paths in
instructions(like"./AGENTS.md") would need to be resolved relative to the config file's location before merging, not relative to CWD. Otherwise users would need to use absolute paths at each level.Summary
Would love to see
findUpoptionally continue beyond git boundaries, walking up the filesystem until it hits$HOMEor a configurable stop point. This would enable:yoobi commentedon Feb 24, 2026
That would be amazing !
yoobi commentedon Mar 17, 2026
@thdxr Is there anything we can do to have this PR accepted ?
feat(config): add configBoundary option for parent config traversal
feat(config): add configBoundary option for parent config traversal
rekram1-node commentedon Jun 23, 2026
Automated: closing question issues.
GitHub Issues are for bug reports and feature requests only — questions / support are no longer tracked here.
If this is a bug or feature request, please open a new issue with the appropriate template.