From 975e1ce50cebb4e005b11725cd2cf50183b34438 Mon Sep 17 00:00:00 2001 From: mika kuns Date: Fri, 24 Apr 2026 11:30:11 +0200 Subject: [PATCH] refactor(worker): switch MCP config to env-var token expansion BuildMcpConfigJson drops the token argument; the literal \${CLAUDEDO_PLANNING_TOKEN} placeholder is written to mcp.json so claude expands it from the spawned process environment at load time. Also declares SettingsLocalJson constant for use in later tasks. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../Planning/PlanningSessionManager.cs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/ClaudeDo.Worker/Planning/PlanningSessionManager.cs b/src/ClaudeDo.Worker/Planning/PlanningSessionManager.cs index 0ddd0cb..3dbf3c6 100644 --- a/src/ClaudeDo.Worker/Planning/PlanningSessionManager.cs +++ b/src/ClaudeDo.Worker/Planning/PlanningSessionManager.cs @@ -86,7 +86,7 @@ public sealed class PlanningSessionManager Path.Combine(sessionDir, "system-prompt.md"), Path.Combine(sessionDir, "initial-prompt.txt")); - await File.WriteAllTextAsync(files.McpConfigPath, BuildMcpConfigJson(token), ct); + await File.WriteAllTextAsync(files.McpConfigPath, BuildMcpConfigJson(), ct); await File.WriteAllTextAsync(files.SystemPromptPath, BuildSystemPrompt(), ct); await File.WriteAllTextAsync(files.InitialPromptPath, BuildInitialPrompt(task), ct); @@ -157,7 +157,7 @@ public sealed class PlanningSessionManager .TrimEnd('='); } - private static string BuildMcpConfigJson(string token) + private static string BuildMcpConfigJson() { var payload = new { @@ -169,7 +169,7 @@ public sealed class PlanningSessionManager url = McpServerUrl, headers = new Dictionary { - ["Authorization"] = $"Bearer {token}" + ["Authorization"] = "Bearer ${CLAUDEDO_PLANNING_TOKEN}" } } } @@ -177,6 +177,12 @@ public sealed class PlanningSessionManager return JsonSerializer.Serialize(payload, new JsonSerializerOptions { WriteIndented = true }); } + private const string SettingsLocalJson = """ + { + "enableAllProjectMcpServers": true + } + """; + private static string BuildSystemPrompt() => """ You are a planning assistant for ClaudeDo.