0xGondarxyz/claude-code-mods/tree/main/dashless
dashless
A Claude Code plugin that strips em dashes and en dashes from Claude's replies, Write/Edit tool content, and git commit / gh pr messages before they land, with a status line counter.
About this mod
dashless
Removes em dashes from what Claude writes, before it lands. About 80 lines of TypeScript.
| Where | What gets fixed |
| --- | --- |
| Write tool | the file content |
| Edit tool | new_string only (old_string must match the file, so it is never touched) |
| Bash | only git commit and gh pr / gh issue create, edit, comment; every other command runs as is |
| Replies | text blocks in Claude's responses, before they are stored |
Rewrite rules:
| Input | Output |
| --- | --- |
| em dash between words | comma-separated form |
| em dash at line start | dash removed, indentation kept |
| em dash at line end | dash removed |
| spaced en dash | comma-separated form |
| numeric range en dash | unchanged |
| --force, -- file | unchanged |
The status line shows a running count: dashless: 3 em dashes fixed.
Tested by running the same prompt twice in a throwaway git repo (write a file, commit it, reply with a sentence, each with an em dash). Without the mod 4 em dashes landed; with it, 0.
Run its tests: claude plugin test dashless
Installation
Check the author's README for the marketplace and plugin name first. Commands may change as the repository evolves.
claude plugin marketplace add 0xGondarxyz/claude-code-mods claude plugin install dashless
Original text / README
dashless
Removes em dashes from what Claude writes, before it lands. About 80 lines of TypeScript.
| Where | What gets fixed |
| --- | --- |
| Write tool | the file content |
| Edit tool | new_string only (old_string must match the file, so it is never touched) |
| Bash | only git commit and gh pr / gh issue create, edit, comment; every other command runs as is |
| Replies | text blocks in Claude's responses, before they are stored |
Rewrite rules (<code>—</code> is the em dash, <code>–</code> the en dash):
<!-- Dashes in this file are HTML entities on purpose. With literal characters, dashless rewrites its own examples whenever Claude edits this file. -->| Input | Output |
| --- | --- |
| <code>a — b</code>, <code>a—b</code> | a, b |
| <code>— item</code> at line start | item (indentation kept) |
| <code>done —</code> at line end | done |
| <code>note: — x</code> | note: x |
| <code>a – b</code> (spaced en dash) | a, b |
| <code>1990–2000</code> (range) | unchanged |
| --force, -- file | unchanged |
The status line shows a running count: dashless: 3 em dashes fixed.
Tested by running the same prompt twice in a throwaway git repo (write a file, commit it, reply with a sentence, each with an em dash). Without the mod 4 em dashes landed; with it, 0.
Run its tests: claude plugin test dashless
