{"version":"2.1.277","anchor":"skill-overrides-now-stored-via-null-prototype-objects-new-m","canonical_anchor":"skill-overrides-now-stored-via-null-prototype-objects-new-m","heading":"Skill overrides now stored via null-prototype objects; new message for name collisions with Settings storage","tier":"internal","area":"Settings","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.277\/e\/skill-overrides-now-stored-via-null-prototype-objects-new-m","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.277","markdown":"### Skill overrides now stored via null-prototype objects; new message for name collisions with Settings storage\n\nSkill overrides use a safer storage format, and settings now warn when a skill's name can't be stored\n\n**What**\n\nThe local `skillOverrides` setting, which lets you hide or collapse a skill from settings without editing its file, is now built using a storage object with no inherited prototype instead of a plain JavaScript object. This avoids clashes with built-in object properties.\n\n- The settings dialog used for managing skills now checks which skill names would collide with properties that Settings storage can't hold.\n\n- When a skill's name can't be stored or toggled for this reason, a new message now surfaces explaining that Settings can't store an entry with that name.\n\n**Why**\n\nThis prevents a skill whose name happens to match a reserved property name from silently failing to save its override, and tells you clearly when that happens instead of failing silently.\n\n- Area: Settings\n- Names: `skillOverrides`\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 1\/5"}