From 8b1a0a25bcf590fc968a5ccba67c17fdded055d4 Mon Sep 17 00:00:00 2001 From: Jeccoman Date: Sun, 22 Mar 2026 09:53:27 +0300 Subject: [PATCH] Load Claude user and project settings sources --- .../src/provider/Layers/ClaudeAdapter.test.ts | 19 +++++++++++++++++++ .../src/provider/Layers/ClaudeAdapter.ts | 1 + 2 files changed, 20 insertions(+) diff --git a/apps/server/src/provider/Layers/ClaudeAdapter.test.ts b/apps/server/src/provider/Layers/ClaudeAdapter.test.ts index f60b2b1e9..8be618961 100644 --- a/apps/server/src/provider/Layers/ClaudeAdapter.test.ts +++ b/apps/server/src/provider/Layers/ClaudeAdapter.test.ts @@ -328,6 +328,25 @@ describe("ClaudeAdapterLive", () => { ); }); + it.effect("loads user and project Claude setting sources", () => { + const harness = makeHarness(); + return Effect.gen(function* () { + const adapter = yield* ClaudeAdapter; + yield* adapter.startSession({ + threadId: THREAD_ID, + provider: "claudeAgent", + cwd: "/tmp/workspace", + runtimeMode: "full-access", + }); + + const createInput = harness.getLastCreateQueryInput(); + assert.deepEqual(createInput?.options.settingSources, ["user", "project"]); + }).pipe( + Effect.provideService(Random.Random, makeDeterministicRandomService()), + Effect.provide(harness.layer), + ); + }); + it.effect("ignores unsupported max effort for Sonnet 4.6", () => { const harness = makeHarness(); return Effect.gen(function* () { diff --git a/apps/server/src/provider/Layers/ClaudeAdapter.ts b/apps/server/src/provider/Layers/ClaudeAdapter.ts index 6fbe6d43b..f33455c32 100644 --- a/apps/server/src/provider/Layers/ClaudeAdapter.ts +++ b/apps/server/src/provider/Layers/ClaudeAdapter.ts @@ -2574,6 +2574,7 @@ function makeClaudeAdapter(options?: ClaudeAdapterLiveOptions) { ...(existingResumeSessionId ? { resume: existingResumeSessionId } : {}), ...(newSessionId ? { sessionId: newSessionId } : {}), includePartialMessages: true, + settingSources: ["user", "project"], canUseTool, env: process.env, ...(input.cwd ? { additionalDirectories: [input.cwd] } : {}),