fix(tools_config): widen null guard to known_plugin_toolsets write path

Sibling of the salvaged #53196 read-path fix: setdefault() does not
replace a present-but-null key, so saving platform tools with
known_plugin_toolsets: null in config.yaml crashed on indexing None.
This commit is contained in:
teknium1 2026-07-09 20:15:24 -07:00 committed by Teknium
parent c9d5491205
commit 07271a6f62

View file

@ -1980,7 +1980,10 @@ def _save_platform_tools(config: dict, platform: str, enabled_toolset_keys: Set[
# Track which plugin toolsets are "known" for this platform so we can
# distinguish "new plugin, default enabled" from "user disabled it".
if plugin_keys:
config.setdefault("known_plugin_toolsets", {})
# setdefault does NOT replace a present-but-null key ("known_plugin_toolsets:"
# in config.yaml parses to None) — normalize before indexing into it.
if not isinstance(config.get("known_plugin_toolsets"), dict):
config["known_plugin_toolsets"] = {}
config["known_plugin_toolsets"][platform] = sorted(plugin_keys)
# Reconcile with agent.disabled_toolsets. _get_platform_tools() applies