[Bug] Claude ignores explicit instructions to avoid ReplacingMergeTree in ClickHouse
Claude repeatedly ignores explicit global constraints, even when they are clearly defined and critical for the project.
In this case, it was strictly instructed not to use ReplacingMergeTree in ClickHouse. This is not a suggestion — it is a hard rule. Despite that, it violated the rule multiple times within the same session.
This behavior is unacceptable for any tool that claims to support real-world development workflows. If clearly defined constraints cannot be followed, the system becomes unreliable and actively harmful to productivity.
At this point, the model behaves as if it does not take instructions seriously. It ignores basic rules, loses context, and repeats the same mistakes, which makes it frustrating and inefficient to use.
Additionally, this issue caused direct and unnecessary costs. Due to the incorrect use of ReplacingMergeTree, data expanded from around 300 expected rows to nearly 4000 rows. This significantly increased token usage in downstream LLM processing, multiplying costs without any justification.
This is not a minor issue or a feature request — it is a fundamental reliability failure. A system that cannot respect strict constraints should not be trusted in production scenarios.
There must be a mechanism to enforce hard constraints or validate outputs against them before returning a response.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗