{"version":"2.1.233","anchor":"custom-slash-command-arguments-are-no-longer-re-expanded","canonical_anchor":"custom-slash-command-arguments-are-no-longer-re-expanded","heading":"Custom slash-command arguments are no longer re-expanded","tier":"notice","area":"Slash Commands","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.233\/e\/custom-slash-command-arguments-are-no-longer-re-expanded","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.233","markdown":"### Custom slash-command arguments are no longer re-expanded\n\nArguments you pass a custom command are inserted literally, even if they contain $2 or $ARGUMENTS.\n\n**What**\n\nIf you pass a custom command an argument whose text contains something like `$2` or `$ARGUMENTS`, that text is now inserted literally instead of being expanded again by the later substitution passes.\n\n**Details**\n\n- Applies to `$ARGUMENTS`, `$1`, `$ARGUMENTS[n]` and named placeholders in a command's prompt.\n- Each substituted value is wrapped in a private marker character and its `$` signs are escaped to a second marker, both removed at the end.\n- Any of those two marker characters already present in the template or in your argument text are replaced with the Unicode replacement character first, so they cannot be used to smuggle expansion back in.\n- The final unescape pass now always runs rather than only when an escape was seen.\n\n**Evidence**\n\n`\ufffe`\n\n- Area: Slash Commands\n- Names: `$ARGUMENTS`\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 1\/5"}