diff --git a/packages/opencode/src/config/config.ts b/packages/opencode/src/config/config.ts index f1ceb1b4ed39..207648dd394d 100644 --- a/packages/opencode/src/config/config.ts +++ b/packages/opencode/src/config/config.ts @@ -382,6 +382,7 @@ export const layer = Layer.effect( }) const loadGlobal = Effect.fnUntraced(function* () { + if (Flag.OPENCODE_DISABLE_GLOBAL_CONFIG) return {} as Info let result: Info = pipe( {}, mergeDeep(yield* loadFile(path.join(Global.Path.config, "config.json"))), diff --git a/packages/opencode/src/config/paths.ts b/packages/opencode/src/config/paths.ts index db4b914f76c3..41007c75eb80 100644 --- a/packages/opencode/src/config/paths.ts +++ b/packages/opencode/src/config/paths.ts @@ -25,7 +25,7 @@ export const files = Effect.fn("ConfigPaths.projectFiles")(function* ( export const directories = Effect.fn("ConfigPaths.directories")(function* (directory: string, worktree?: string) { const afs = yield* AppFileSystem.Service return unique([ - Global.Path.config, + ...(Flag.OPENCODE_DISABLE_GLOBAL_CONFIG ? [] : [Global.Path.config]), ...(!Flag.OPENCODE_DISABLE_PROJECT_CONFIG ? yield* afs.up({ targets: [".opencode"], diff --git a/packages/opencode/src/flag/flag.ts b/packages/opencode/src/flag/flag.ts index 72c8931f5b71..556962509990 100644 --- a/packages/opencode/src/flag/flag.ts +++ b/packages/opencode/src/flag/flag.ts @@ -98,6 +98,9 @@ export const Flag = { get OPENCODE_PURE() { return truthy("OPENCODE_PURE") }, + get OPENCODE_DISABLE_GLOBAL_CONFIG() { + return truthy("OPENCODE_DISABLE_GLOBAL_CONFIG") + }, get OPENCODE_PLUGIN_META_FILE() { return process.env["OPENCODE_PLUGIN_META_FILE"] },