{"version":"2.1.269","anchor":"custom-settings-entries-environment-deny-rules-notes-now","canonical_anchor":"custom-settings-entries-environment-deny-rules-notes-now","heading":"Custom settings entries now block more template tokens","tier":"internal","area":"Settings","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.269\/e\/custom-settings-entries-environment-deny-rules-notes-now","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.269","markdown":"### Custom settings entries now block more template tokens\n\nValidation of custom settings entries now blocks a wider set of literal template placeholder tokens, plus a new helper distinguishes template tokens from cc_automode region tags\n\n**Unclear.** body was cut off; regenerating properly below\n\n**What**\n\n- Validation of user-supplied settings entries (environment variables, allow\/soft-deny\/hard-deny rule proposals, and notes) now rejects a wider set of literal template tokens. Previously it only blocked `<settings_...>` and `cc_automode` markers; it now also blocks `<user_allow_rules_to_replace>`, `<user_soft_deny_rules_to_replace>`, `<user_hard_deny_rules_to_replace>`, and `<user_environment_to_replace>`.\n\n- A new helper function classifies a string as a \"template_token\" (if it contains `<settings_` or matches a list of known tag names) or a \"region_tag\" (if it contains `<cc_automode` or `<\/cc_automode>`), or neither.\n\n**Why**\n\nThis closes gaps that could let a settings entry contain a placeholder token that gets mistaken for real content, and gives the validation logic a clearer way to tell template placeholders apart from automode region markers.\n\n- Area: Settings\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 1\/5"}