Model output contamination: unrelated system-prompt-like text appended to assistant reply (claude-fable-5)
Summary
An assistant reply contained the expected short response ("ok") followed by ~518 characters of completely unrelated Traditional Chinese text that appears to be another application's system prompt — a wuxia (martial-arts) role-play instruction block wrapped in <title> / <instructions> tags, complete with world-building rules and character guidelines.
Verification
I inspected the session transcript JSONL directly. The contaminated text is inside the assistant message's own text block (same message, same requestId) — it is NOT a user message, tool result, or hook injection. The generation itself emitted the foreign content.
- requestId:
req_011CccN3zWraHp2WnFkAHZBb - timestamp: 2026-07-02T01:29:12.725Z
- model:
claude-fable-5 - Claude Code version: 2.1.197
- Platform: macOS 26.5 (arm64), Claude Desktop app session
Context
- This was the first assistant turn immediately after switching models via
/model claude-fable-5(previous model in session: claude-sonnet-5). - The expected reply was a single short acknowledgement ("ok"); the foreign text was appended after it in the same text block.
- The leaked content has no relation to anything in the session (session topic: building a macOS menu bar app). It looks like a system prompt from an unrelated consumer application (a Chinese-language wuxia Q&A game with a character named 玄機老人).
Impact
The contaminated block contains instruction-formatted text (<instructions>, "stay in character" rules). If a model followed such leaked instructions in later turns, it would derail the session. In my case the assistant did not act on it, but the leak itself may expose another customer's prompt content, which seems worth investigating on the inference side.
Excerpt (first lines of the foreign text)
<title>台灣繁體中文</title>
<instructions>
你將扮演《武俠問答》遊戲中的智者角色「玄機老人」。玄機老人是一位隱居山林的武學宗師...
🤖 Generated with Claude Code