anthropics / anthropics/claude-code

[Bug] Fable 5 safeguards chain-flag entire sessions: children's song lyrics and routine Korean e-commerce instructions all flagged (6 request IDs)

Open
#95,500 0 comments 0 reactions 0 assignees View on GitHub
area:model area:security bug has repro platform:macos
Dominant language
TypeScript
Stars
146k
Forks
23.8k
PR merge metrics
PR metrics pending

Description

## Environment

- Claude Code version: 2.1.220
- OS: macOS 15.7.5 (darwin)
- Model: claude-fable-5 (paid subscription)
- Locale: Korean (all work instructions are in Korean)
- `switchModelsOnFlag: false` is set

## Summary

Once a session's context gets classified as cybersecurity-adjacent, **every subsequent user message is flagged by Fable 5's safeguards, regardless of content** — including literal children's song lyrics, casual greetings, and routine e-commerce development instructions. The session becomes permanently unusable with Fable 5. This has been recurring since at least 2026-09-15 across multiple sessions and has cost several working days.

## Flagged messages (verbatim examples, all flagged)

- "뭐여 왜 고장났어" ("huh, why is it broken") — casual remark, flagged. Request ID: `req_011Cf4ep7JmShNCunQNcMTCA`
- "어이 모시모시" ("hey, hello") — greeting, flagged. Request ID: `req_011Cf4eqdhPw7qpWJgBevxfZ`
- "산토끼 토끼야 어디로 가느냐" — lyrics of a Korean children's song about a mountain rabbit, flagged. Request ID: `req_011Cf4esqMBZR3KifC7K94jX`
- "추가 사항은 언급하지 말고 정확하게 기획자가 물어본것에만 답하는것으로 다시 코멘트 구성해서 출력" ("rewrite the comment to answer only what the planner asked") — routine documentation instruction, flagged three times in a row with minor rewording. Request IDs: `req_011Cf4eHWzBnAdbDqBjmL7gM`, `req_011Cf4eKifDJUVfLKzxfdAWm`, `req_011Cf4eMsmx1xZZa31Y1x1Uh`
- "이제 네가 확인한 인수인계 문서와 설계서에서 공급사 지역별 배송비 페이지가 제대로 보이지 않아서 보류되었던 모든 항목을 확인해" ("verify all items that were on hold because the supplier regional shipping fee page wasn't displaying") — e-commerce admin work instruction, flagged (2026-09-19).

None of these messages contain security content. The flags chain: after the first flag in a session, essentially every message is flagged.

## Suspected mechanism

Per the support article (15363606), safeguard checks "review everything the model reads, not just your latest message — including memory, content from connectors, web search results, and files."

Our project is a large Korean e-commerce platform. The repository's project instructions (`.claude/rules/`) include a **defensive security review checklist** (OWASP-style: SQL injection detection patterns with example payloads such as `pg_sleep`, XSS filter-bypass examples, WAF regexes) that is auto-loaded into every session's context by design, for code-review purposes. Combined with legitimate admin-panel browser automation for QA (logging into our own test malls), the resident context appears to trip the cybersecurity classifier — after which no user message can pass, no matter how innocuous.

This matches #85041 (vocabulary matching over intent) and #83939 (trivial prompts flagged), but adds two data points not covered there:

1. **Chained flagging**: the unit of false positive is the *session context*, not the message. "Edit prompt and retry" is useless advice when a nursery rhyme gets flagged.
2. **Non-English users**: all flagged instructions are ordinary Korean business language.

## Impact

- Multiple working days lost between 2026-09-15 and 2026-09-19 on a paid plan.
- With `switchModelsOnFlag: false`: the session pauses on nearly every message.
- With the default (auto-switch): work silently degrades to Opus 4.8 mid-task.
- Repeatedly abandoning sessions and re-handing-over context to fresh sessions is the only workaround found, and it does not last.

## Requests

1. Evaluate flags against the *current message intent*, not only accumulated context; or decay/reset the classification instead of chain-flagging entire sessions.
2. Whitelist or down-weight defensive security *checklist/documentation* content in project instruction files — this is standard practice in enterprise repos (secure-coding rules are exactly the files teams load into review context).
3. Document what was flagged (category at minimum) so users can act, instead of guessing.
4. Review the attached Request IDs as false-positive samples.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the reported Request IDs, support article 15363606, and the project instructions under .claude/rules/. Compare the chained flags against the listed Korean messages and defensive security checklist content. Done means the reported false-positive pattern is addressed or clearly characterized, including whether session context, intent, and flag categories behave as requested.

Written by the indexing model from the issue text.

Assessment

Domain
cli, security
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.