From 4893df64592558a7c5ad382568d188d3ab7dc5e4 Mon Sep 17 00:00:00 2001 From: Neil Jobbins <3514122+TheRealNeil@users.noreply.github.com> Date: Sat, 7 Feb 2026 19:53:07 -0800 Subject: [PATCH] Prevent leaking parent provider config by discarding inherited options for different services --- lib/active_agent/base.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/active_agent/base.rb b/lib/active_agent/base.rb index 1fdcca5c..a665b7f6 100644 --- a/lib/active_agent/base.rb +++ b/lib/active_agent/base.rb @@ -106,9 +106,10 @@ def self.generate_with(provider_reference, **agent_options) global_options = provider_config_load(provider_reference) inherited_options = (self.prompt_options || {}).except(:instructions) # Don't inherit instructions from parent - # Different Service, different APIs + # Different Service, different APIs — discard all inherited options + # to prevent parent provider config (host, api_key, etc.) leaking through if global_options[:service] != inherited_options[:service] - inherited_options.extract!(:service, :api_version) + inherited_options = {} end self.prompt_options = global_options.merge(inherited_options).merge(agent_options)