Follow Discord
Sweep 22 Oct 2026 · 04:32Z Build v2.1.308 527 read Stable v2.1.308 Latest v2.1.308 Next v2.1.308 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.233 ·

Custom slash-command arguments are no longer re-expanded

Arguments you pass a custom command are inserted literally, even if they contain $2 or $ARGUMENTS.

You'll notice Bug Fixes
JSON All of v2.1.233
You'll noticeTier: how much it should matter to you
3Useful: my rating, 1 to 5
1Signal: worth watching, 1 to 5
Slash CommandsArea: what it touches
Bug FixesKind: in v2.1.233,
Bug FixesSection of the release
What

If 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.

Details
  • Applies to $ARGUMENTS, $1, $ARGUMENTS[n] and named placeholders in a command's prompt.
  • Each substituted value is wrapped in a private marker character and its $ signs are escaped to a second marker, both removed at the end.
  • 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.
  • The final unescape pass now always runs rather than only when an escape was seen.
Evidence

￾

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Read from
Names in the bundle$ARGUMENTS

See this entry in the whole of v2.1.233 →

Feedback