diff --git a/opencode-plugin/src/index.ts b/opencode-plugin/src/index.ts index d762e89..4a81ea8 100644 --- a/opencode-plugin/src/index.ts +++ b/opencode-plugin/src/index.ts @@ -266,21 +266,22 @@ const MnemosynePlugin: Plugin = async (ctx: PluginInput): Promise => { } } - // Inject baseURL for the Anthropic provider - // This routes all Anthropic API calls through the Mnemosyne gateway + // Inject baseURL for the Mnemosyne provider only. + // Keep provider ID `anthropic` untouched so Claude Code OAuth and + // oh-my-opencode variants continue to work against direct Anthropic. inputConfig.provider = inputConfig.provider ?? {}; - inputConfig.provider.anthropic = inputConfig.provider.anthropic ?? {}; - inputConfig.provider.anthropic.options = - inputConfig.provider.anthropic.options ?? {}; + inputConfig.provider.mnemosyne = inputConfig.provider.mnemosyne ?? {}; + inputConfig.provider.mnemosyne.options = + inputConfig.provider.mnemosyne.options ?? {}; // Only set if not already overridden by user - if (!inputConfig.provider.anthropic.options.baseURL) { + if (!inputConfig.provider.mnemosyne.options.baseURL) { // Anthropic SDK appends /messages to baseURL, so we need /v1 suffix - inputConfig.provider.anthropic.options.baseURL = `${gateway.url}/v1`; - log.info(`Routing Anthropic through gateway at ${gateway.url}/v1`); + inputConfig.provider.mnemosyne.options.baseURL = `${gateway.url}/v1`; + log.info(`Routing Mnemosyne through gateway at ${gateway.url}/v1`); } else { log.debug( - `baseURL already set to ${inputConfig.provider.anthropic.options.baseURL}, not overriding` + `baseURL already set to ${inputConfig.provider.mnemosyne.options.baseURL}, not overriding` ); } },