From c292be1ba5794b7bde4ca8036ffd523cf35d9275 Mon Sep 17 00:00:00 2001 From: Vijay Yadav Date: Fri, 3 Apr 2026 02:25:41 -0400 Subject: [PATCH] fix: accept mcpServers as alias for mcp in config When AI tools (Claude Code, Copilot) generate altimate-code config, they write `mcpServers` instead of `mcp`. This causes a startup error: "Unrecognized key: mcpServers". Add normalization during config loading that renames `mcpServers` to `mcp` before schema validation, matching the existing pattern for legacy key migration (theme, keybinds, tui). Fixes #619 Co-Authored-By: Vijay Yadav --- packages/opencode/src/config/config.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/opencode/src/config/config.ts b/packages/opencode/src/config/config.ts index 7e75fe95b..78c3ef3f4 100644 --- a/packages/opencode/src/config/config.ts +++ b/packages/opencode/src/config/config.ts @@ -1363,6 +1363,12 @@ export namespace Config { const normalized = (() => { if (!data || typeof data !== "object" || Array.isArray(data)) return data const copy = { ...(data as Record) } + // Alias mcpServers → mcp (Claude Code / Copilot format compatibility) + if ("mcpServers" in copy && !("mcp" in copy)) { + copy.mcp = copy.mcpServers + delete copy.mcpServers + log.info("aliased mcpServers to mcp in config", { path: source }) + } const hadLegacy = "theme" in copy || "keybinds" in copy || "tui" in copy if (!hadLegacy) return copy delete copy.theme