French output quality: per-turn writing instructions are not followed

Status Open
Maintainer reply None cached
Activity 0 comments · opened Aug 8, 2026

Summary

French prose quality is poor, and per-turn reinforcement of writing instructions does not prevent
violations. In a single session, the model broke language rules that were present in its context
both as persistent instructions and as a reminder re-injected on every message.

This is feedback about model writing behaviour rather than a defect in the CLI. I am filing it here
for lack of a more suitable public channel.

Environment

  • Claude Code, model Fable 5
  • Windows 10, French-speaking user, entire session conducted in French
  • CLAUDE.md explicitly bans untranslated anglicisms, developer jargon, empty qualifiers and

telegraphic style, and requires subject-verb-object sentences

  • A UserPromptSubmit hook re-injects a short version of those rules before every single

user message, without exception

So the instructions were continuously present, in both detailed and condensed form.

What happened

Within one session, the assistant produced:

  1. toujours jamais déclenchée — meaningless in French. Two separate ideas ("the feature

exists" and "it has never been used") collapsed into one broken phrase.

  1. la rotation des trois fichiers — a calque of the English log rotation. French would say

"archiver le contenu et repartir de fichiers vides".

  1. à la main, used four times, although an explicit rule against it has been in the

assistant's persistent memory since 2026-07-25.

  1. purge left in documentation files. It is developer jargon for "nettoyage" (cleanup), and

the assistant did not recognise it as jargon because the word looks French.

  1. After being corrected, the assistant proposed replacing purge with vidage or archivage,

both inadequate, instead of the obvious nettoyage — and turned a straightforward lexical
correction into a multiple-choice question.

  1. A mechanical find-and-replace of the offending word then broke grammatical gender agreement,

producing la nettoyage and proposée for a masculine noun.

The user had to intervene three times in a row on the same reply, with visible and justified
frustration.

Why this seems worth reporting

The issue is not that isolated mistakes occurred. It is that the strongest possible reminder
mechanism changed nothing
. A rule displayed on every turn appears to become background decoration
that the model stops treating as a constraint.

Two hypotheses:

  1. Generic language rules do not catch French-looking borrowings. Instructions of the form

"no jargon" fail against rotation, purge, idempotence, implémenter, instance,
occurrence, because none of them sound English. Only a concrete list of banned terms with
their equivalents seems to work. The useful test is not "does this word look English?" but
"does this word belong to programmers' vocabulary?".

  1. Self-review covers technical content, not language. The model re-reads its output to check

file paths, commands and results, but linguistic quality never acquires the status of a
verifiable deliverable.

Request

Treat French prose quality as a first-class evaluation criterion, alongside technical accuracy,
rather than something users are expected to obtain through ever more detailed custom instructions.
A user should not have to build a hook system to get idiomatic French, and should certainly not
have it fail anyway.

View original on GitHub ↗