Skip to content

skills: remove workarounds for fixed ! escaping bug - #317

Merged
max-sixty merged 1 commit into
mainfrom
escaping
Apr 19, 2026
Merged

max-sixty merged 1 commit into
mainfrom
escaping

Conversation

@max-sixty

Copy link
Copy Markdown
Owner

The Bash tool no longer rewrites exclamation marks to backslash-bang in heredocs. Verified locally — both <<EOF and << 'EOF' now pass ! through unchanged.

Changes:

  • running-in-ci: drop the paragraph telling agents to use the Write tool + --body-file for comment bodies containing !. Heredocs with gh ... --body work fine again.
  • review-reviewers: drop "unescaped bangs" from the bot-comment corruption signals — no longer a thing to watch for.

Kept intentionally:

This was written by Claude Code on behalf of @max-sixty

The Bash tool no longer rewrites exclamation marks to backslash-bang in
heredocs. Verified: both `<<EOF` and `<< 'EOF'` now pass `!` through
unchanged. Drop the guidance to use Write + `--body-file` for comment
bodies containing `!`, and drop "unescaped bangs" from the bot-comment
corruption signals.

The `${GITHUB_REPOSITORY}` heredoc-quoting guidance stays (that's bash
semantics, not a Claude Code bug), as does the bang-backtick pre-commit
guard (separate slash-command preprocessor issue, #234/#243/#244).

Co-Authored-By: Claude <noreply@anthropic.com>
@max-sixty
max-sixty merged commit edc0ff6 into main Apr 19, 2026
5 checks passed
@max-sixty
max-sixty deleted the escaping branch April 19, 2026 18:38
tend-agent pushed a commit that referenced this pull request Apr 19, 2026
PR #317 dropped the heredoc bang-escape warning on the premise that the
underlying Claude Code bug was fixed, but the bug still reproduces in
this CI harness (Claude Code 2.1.114 on GitHub Actions runners) — every
context tested, including both heredoc forms, plain single-quoted, and
double-quoted args, still rewrites `!` to `\!`. Without the warning, a
bot comment containing an exclamation mark would ship corrupted. Restore
the paragraph and broaden it to cover plain-argument `--jq` filters
(where `!=` has bitten three times). Also re-add "unescaped bangs" to
the review-reviewers corruption signals list.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
max-sixty added a commit that referenced this pull request Apr 22, 2026
The heredoc-specific ! rewriting was fixed in #317, but the Bash tool
can still rewrite bare bangs outside heredocs, so the overlay's
`(X) | not` form is still the safer construction when authoring jq
via bash. Revert to that and re-document the caveat.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants