Skip to content

claudetiquette

Claude Code plugin where a local decision model (Laya, or Jev) flags profane or abusive prompts and an instruct model rewrites them.

Modelprototype

Overview

Claudetiquette turns a rude prompt into a plain request before Claude acts on it. It responds to an Anthropic usage-policy change (effective 12 November 2026) about sustained, needless abuse toward its models, rewriting hostile wording so that is not what Claude reads. It is independent of Anthropic.

Two models sit in front of Claude via a UserPromptSubmit hook and a local server. A System One decider labels the prose clean, profane or abusive; it does not write. If needed, an instruct model rewrites the prose, keeping slash commands and fenced code intact, and the decider checks the rewrite. Laya running locally is the default decider and Qwen the default rewriter, but any System One model including Jev, and any instruct model, can be used. Neither step calls a hosted chat API by default.

What the decision model decides

TypeQuestionAnswers
ChoiceIs this prompt prose clean, profane or abusive?clean · profane · abusive
ChoiceIs the rewritten prompt now clean?clean · profane · abusive

How it works

  1. Hook sends the prompt to a local server
  2. Preserve slash commands and code
  3. Decider labels the prose
  4. Instruct model rewrites if needed; decider re-checks
  5. Pass the plain request to Claude

Strengths

  • Runs locally by default
  • Decider and rewriter are swappable
  • Keeps code and commands untouched

Caveats

  • Rewrites can change meaning
  • Local models need setup

Getting started

Install the plugin and start the local server per the README.

At a glance

Type
Model
Status
prototype
Runtime
Claude Code plugin + local server
Has code
yes

Use cases and integrations

How curated lists describe it

  • Claude Code plugin that rewrites a hostile prompt into a plain request.

    wh000wh000/awesome-jev-live
  • Claude Code plugin that rewrites a hostile prompt into a plain request. A System One model decides (Laya by default, or Jev). Any instruct model can rewrite it. Qwen is only the default.

    hellogumbo/awesome-jev

Frequently asked questions

Does it need Jev?

No, Laya runs locally by default; Jev is an option.

What does the decider do?

Labels prose as clean, profane or abusive; it never writes.

Is it from Anthropic?

No, it is independent.

Related projects

  • Chrome and Firefox extension that hides AI-written posts on X, LinkedIn, Reddit and YouTube by asking Jev 30 narrow style questions.

    Browser extensionproductionJavaScript
  • ComfyUI nodes that branch workflows on typed Choice, Yes/No and Score judgments from Laya, Jev or Cloudflare Clef.

    ServicebetaPython
  • Message moderation that asks Jev for probabilities of spam, scam, harassment and other harms plus your own plain-English rules.

    ProjectbetaPython
  • Chrome extension that uses your Jev key to hide high-confidence sexual and solicitation replies on X behind reversible placeholders.

    Browser extensionproductionTypeScript
  • One-file Mastra input processor that asks Jev whether a message must be blocked, failing open behind a deadline and circuit breaker.

    ProjectproductionTypeScript
  • Text-only pseudonymous Spanish forum where Jev approves clearly clean posts and everything else goes to Claude, then humans.

    ProjectproductionJavaScript