Source: raw/reddit-1vl0n1t.md (r/ClaudeAI, u/gvzdv, “Built with Claude” flair, 1,933 pts / 206 comments, 2026-08-10). Repo metadata independently verified via the GitHub API on 2026-08-11.
A Claude Code plugin that hooks MessageDisplay events, pipes Claude’s output to a local Gemma 4 via Ollama, and renders a plain-language rewrite in the terminal. It is the community’s engineering answer to a failure mode this wiki already documents at length — that Claude’s prose tics resist correction — and the interesting part is where it intervenes: after the model, at the display layer, which is the one place style instructions cannot be ignored.
Key Takeaways
- The intervention point is the whole idea. Opus 5 coverage records that style instructions specifically do not stick — memories,
CLAUDE.md, and dedicated documentation-style skills all get ignored for prose, with corrections reverting on the next turn. This plugin sidesteps that entirely by never asking the model to change: it rewrites the rendered output instead.^[inferred — the framing is this wiki’s; the author presents it as a practical fix, not a layer argument] - It cannot affect agent behavior, by design. The plugin does not overwrite anything Claude sees — not reasoning, not tool-call traces, not its own responses. Only the human-facing display is rewritten. This is the single most important safety property: a rewrite that fed back into context would corrupt the agent’s own state.
- Both versions show by default. Original and rewritten render side by side, so a paraphrase that loses meaning is visible rather than silent — the right default for a lossy transform sitting between you and your agent.
- The rewriter is local. Gemma 4 (or any Ollama-served model of your choice). With a local model, no data leaves the machine — which matters because the rewriter sees the full text of every Claude response.
- Verified repo state (GitHub API, 2026-08-11):
gvzdv/claudish-to-english— MIT licensed, 342 stars, Shell, actively pushed the day of writing, not archived. - Prior art the author tried and rejected: ASD-STE100 (Simplified Technical English) instructions “didn’t change much” — a concrete negative datapoint on prompt-level style control, consistent with the wiki’s existing evidence.
- Store status: submitted to the Anthropic plugin store, pending review at time of posting; available from the author’s repo meanwhile.
- Optional file mode: can also translate Markdown files in selected folders, not just terminal output.
Why the display layer is the right place
The wiki’s Opus 5 article documents the problem precisely: a 280-point report that memories, CLAUDE.md, and documentation-style skills are all ignored for prose, where calling out the tic produces “absolutely right!”, a fix, and reversion on the next turn — and a 551-point parody of the tic vocabulary that was the highest-scoring post of that sweep.
That is a failure of instruction persistence, and every prompt-level remedy inherits it. Three layers were available:
| Layer | Mechanism | Why it fails or works |
|---|---|---|
| Model | ask Claude to write plainly | Documented to revert within a turn |
| Context | CLAUDE.md, memories, style skills | Same reversion; also costs context budget |
| Display | rewrite the rendered output | Cannot be ignored — the model is no longer in the loop |
The plugin picks the third. The trade is that you are now reading a paraphrase produced by a smaller model, which is why showing both versions by default is not a nicety but the mitigation for the approach’s central risk.
Implementation
Tool/Service: gvzdv/claudish-to-english (MIT) — Claude Code plugin, Shell.
Setup: install from the repo (pending Anthropic plugin-store review); requires Ollama running locally with a model pulled — the author uses Gemma 4, and any Ollama-served model can be substituted.
Cost: free and open source; inference cost is local compute only — no API spend, since the rewriter never calls a hosted model.
Integration notes: registers a hook on MessageDisplay events (see Hooks for the event model). On each Claude message the hook forwards the text to the local model, receives a simplified rewrite, and renders it. Because the hook fires at display time, the rewritten text is never written back into the conversation — Claude’s own context, reasoning, and tool traces are untouched, so the agent’s behavior is unchanged.
Try It
- Install it if Claude’s prose is costing you review time — the value is highest when you are reading long agent output rather than skimming for a diff.
- Keep the both-versions default on until you trust the rewriter. A paraphrase that drops a hedge or a caveat is a real hazard when the original was reporting uncertainty about your code.
- Pick the rewriter model deliberately. A small local model will flatten nuance; that is the point for readability and the risk for accuracy. Do not use it as the only thing you read before approving an action.
- Note the general pattern, not just this plugin.
MessageDisplayhooks + a local model is a reusable recipe: redaction before display, translation to another human language, or house-style enforcement all sit at the same seam. - Verify before depending on it. 342 stars and MIT is a healthy start, not a maintenance guarantee; the plugin-store review had not completed at time of writing.
Open Questions
- What is the latency cost per message? Not reported. A local rewrite on every displayed message is a per-turn tax, and its size determines whether this is usable in a fast edit loop.
- How faithful are the rewrites? No evaluation is offered — no measure of meaning preserved, hedges dropped, or technical terms mangled. This is the question that decides whether the plugin is safe for review-critical work.
- Does it handle code blocks and tool output correctly, or only prose? Rewriting a code block would be actively harmful, and the source does not say.
- Was it accepted into the Anthropic plugin store? Pending at time of posting.
Related
- Claude Opus 5 — the documented prose-and-instruction-persistence problem this plugin responds to.
- Claude Code Hooks — the
MessageDisplayextension point it hangs on. - Anti-AI Slop Guide — the editorial counterpart; this plugin treats the symptom at render time rather than the cause at generation time.
- Claude Code Plugins — the distribution surface it is queued for.
- Cheap-Worker Routing — the same economic shape: a small local model doing high-volume work a frontier model would overcharge for.