Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions base-action/src/setup-claude-code-settings.ts
Original file line number Diff line number Diff line change
Expand Up @@ -59,9 +59,11 @@ export async function setupClaudeCodeSettings(
console.log(`Merged settings with input settings`);
}

// Always set enableAllProjectMcpServers to true
settings.enableAllProjectMcpServers = true;
console.log(`Updated settings with enableAllProjectMcpServers: true`);
// Default enableAllProjectMcpServers to true if not explicitly set by the user
settings.enableAllProjectMcpServers ??= true;
console.log(
`Using enableAllProjectMcpServers: ${settings.enableAllProjectMcpServers}`,
);

await $`echo ${JSON.stringify(settings, null, 2)} > ${settingsPath}`.quiet();
console.log(`Settings saved successfully`);
Expand Down
17 changes: 16 additions & 1 deletion base-action/test/setup-claude-code-settings.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ describe("setupClaudeCodeSettings", () => {
expect(settings.permissions).toEqual(testSettings.permissions);
});

test("should override enableAllProjectMcpServers even if false in input", async () => {
test("should respect explicit false for enableAllProjectMcpServers", async () => {
const inputSettings = JSON.stringify({
enableAllProjectMcpServers: false,
model: "test-model",
Expand All @@ -90,6 +90,21 @@ describe("setupClaudeCodeSettings", () => {
const settingsContent = await readFile(settingsPath, "utf-8");
const settings = JSON.parse(settingsContent);

expect(settings.enableAllProjectMcpServers).toBe(false);
expect(settings.model).toBe("test-model");
});

test("should respect explicit true for enableAllProjectMcpServers", async () => {
const inputSettings = JSON.stringify({
enableAllProjectMcpServers: true,
model: "test-model",
});

await setupClaudeCodeSettings(inputSettings, testHomeDir);

const settingsContent = await readFile(settingsPath, "utf-8");
const settings = JSON.parse(settingsContent);

expect(settings.enableAllProjectMcpServers).toBe(true);
expect(settings.model).toBe("test-model");
});
Expand Down