French output quality: per-turn writing instructions are not followed
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.mdexplicitly bans untranslated anglicisms, developer jargon, empty qualifiers and
telegraphic style, and requires subject-verb-object sentences
- A
UserPromptSubmithook 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:
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.
la rotation des trois fichiers— a calque of the English log rotation. French would say
"archiver le contenu et repartir de fichiers vides".
à la main, used four times, although an explicit rule against it has been in the
assistant's persistent memory since 2026-07-25.
purgeleft in documentation files. It is developer jargon for "nettoyage" (cleanup), and
the assistant did not recognise it as jargon because the word looks French.
- After being corrected, the assistant proposed replacing
purgewithvidageorarchivage,
both inadequate, instead of the obvious nettoyage — and turned a straightforward lexical
correction into a multiple-choice question.
- 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:
- 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?".
- 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.