diff --git a/packages/opencode/src/config/config.ts b/packages/opencode/src/config/config.ts index 6999cfab72..765e1c070a 100644 --- a/packages/opencode/src/config/config.ts +++ b/packages/opencode/src/config/config.ts @@ -1244,7 +1244,9 @@ export namespace Config { return result }) - let cachedGlobal = yield* Effect.cached(loadGlobal()) + let cachedGlobal = yield* Effect.cached( + loadGlobal().pipe(Effect.orElseSucceed(() => ({}) as Info)), + ) const getGlobal = Effect.fn("Config.getGlobal")(function* () { return yield* cachedGlobal @@ -1451,7 +1453,9 @@ export namespace Config { }) const invalidate = Effect.fn("Config.invalidate")(function* (wait?: boolean) { - cachedGlobal = yield* Effect.cached(loadGlobal()) + cachedGlobal = yield* Effect.cached( + loadGlobal().pipe(Effect.orElseSucceed(() => ({}) as Info)), + ) const task = Instance.disposeAll() .catch(() => undefined) .finally(() =>