diff --git a/packages/opencode/test/fixture/fixture.ts b/packages/opencode/test/fixture/fixture.ts
index d47620f623..ef300e85fc 100644
--- a/packages/opencode/test/fixture/fixture.ts
+++ b/packages/opencode/test/fixture/fixture.ts
@@ -193,8 +193,11 @@ export const withTmpdirInstance =
(self: Effect.Effect) =>
Effect.gen(function* () {
const directory = yield* tmpdirScoped(options)
- return yield* InstanceStore.Service.use((store) =>
- store.provide({ directory }, self.pipe(Effect.provideService(TestInstance, { directory }))),
+ const store = yield* InstanceStore.Service
+ return yield* Effect.acquireUseRelease(
+ store.load({ directory }),
+ (ctx) => self.pipe(Effect.provideService(TestInstance, { directory }), Effect.provideService(InstanceRef, ctx)),
+ (ctx) => store.dispose(ctx).pipe(Effect.ignore),
)
}).pipe(
Effect.provide(InstanceStore.defaultLayer.pipe(Layer.provide(noopBootstrap))),