{"version":"2.1.296","anchor":"workflow-scripts-rejected-if-they-contain-control-characters","canonical_anchor":"workflow-scripts-rejected-if-they-contain-control-characters","heading":"Workflow scripts containing hidden control characters are now rejected","tier":"notice","area":"Workflows","scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.296\/e\/workflow-scripts-rejected-if-they-contain-control-characters","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.296","markdown":"### Workflow scripts containing hidden control characters are now rejected\n\nClaude Code now refuses a workflow script that contains control characters an approval prompt cannot display, such as escape bytes\n\n**What**\n\nWhen Claude Code checks a workflow script, it now rejects the script if it contains control characters. These are invisible bytes that a terminal treats as instructions rather than text. Examples include escape bytes and bare carriage returns, which move the cursor back to the start of a line. This applies both to a script given as a file and to a named script.\n\nA rejected script fails with error code 17 and a message saying it contains a control character that an approval prompt cannot show.\n\n**Why**\n\nWhen you approve a workflow script, you are shown its text. Control characters could hide part of that text from you, so you might approve something different from what you saw. Rejecting them closes that gap.\n\n- Area: Workflows\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: yes"}