{"version":"2.1.242","anchor":"policy-helpers-can-declare-whether-their-settings-merge-or-r","canonical_anchor":"policy-helpers-can-declare-whether-their-settings-merge-or-r","heading":"Policy helpers can declare whether their settings merge or replace","tier":"use","area":"Managed Settings","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.242\/e\/policy-helpers-can-declare-whether-their-settings-merge-or-r","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.242","markdown":"### Policy helpers can declare whether their settings merge or replace\n\nAdmins can say whether a per-OS policy helper's settings replace or merge over the source.\n\n**What**\n\nA managed-settings policy helper, the per-OS script an administrator points Claude Code at to generate settings, now takes an `outputBehavior` field that says whether the settings payload it produces replaces that source's settings or merges over them. The field is only read on the per-OS `policyHelpers` entries; on the singular `policyHelper` key it is ignored and the helper's output replaces the policy tier regardless. An unrecognised value on a per-OS entry is not tolerated: the whole entry is dropped and no policy helper runs on that operating system.\n\n**Details**\n\n- `\"merge\"` is the one value checked explicitly at the points where the generated payload is applied; anything else on a valid entry means replace.\n- The field is new in this build and did not exist in 2.1.241, so existing helper configurations keep replacing until they opt into merging.\n- Setting `outputBehavior` on the singular `policyHelper` produces a status-only warning during managed-settings loading and validation, saying it is ignored; nothing about the helper's behaviour changes.\n- An unrecognised value is reported as leaving it unknown whether the payload replaces or merges over that source's settings, and the entry is discarded rather than guessed at.\n- Helper fingerprinting now also records the byte size of each inline helper script under its `policyHelpers.*` key, and the helper store keeps a set of retired helper paths.\n\n**Evidence**\n\n`\"outputBehavior\" is unrecognized, so whether the payload replaces or merges over this source's settings is unknown.`, `on the singular policyHelper is ignored`, `\"outputBehavior\" on the singular policyHelper is ignored`\n\n- Area: Managed Settings\n- Names: `outputBehavior`, `policyHelpers`\n- Tier: Use it now\n- Useful: 2\/5\n- Signal: 3\/5"}