Why AI adds features you never asked for
TL;DR
AI often adds extra features because it is trained to provide complete-looking answers. A clear goal and review step help keep the draft simpler.
DriftLess writes for business owners first. Some posts include advanced details for technical handoff, but the practical takeaway is always in plain English.
I asked for a login page. I got OAuth, two-factor authentication, JWT refresh tokens, an admin panel, and a password recovery flow. I wanted email and password. The AI delivered a full identity management system — well-structured, well-tested, and completely unsolicited. This is not a hallucination in the traditional sense. The AI did not make up facts. It made up requirements.
Why do LLMs add features you didn't ask for?
Large language models are trained on code that gets upvoted, starred, and shared. That code is comprehensive. A login tutorial with just email and password gets ignored on Stack Overflow. One with OAuth, 2FA, session management, and password recovery gets bookmarked. The training data rewards over-delivery. So the model over-delivers — not because it misunderstands your prompt, but because its optimization target is "impressive and complete," not "minimal and correct."
How fast does AI scope creep happen?
A human product manager adds one feature per meeting. An LLM adds five per prompt. The failure mode is not that the features are wrong — they are often technically sound. The failure mode is that they were never requested, never budgeted for, and now they exist in your codebase. Every hallucinated feature is maintenance surface area, testing surface area, and security surface area you did not consent to.
The fix is not refusing AI output
Constraining the input constrains the output. The developers who report the highest productivity gains with AI tools are the ones who write the most specific prompts. When your prompt says "build a login page with email and password, no OAuth, no 2FA, no admin panel," the model has explicit exclusions to follow. The problem is not AI capability. It is prompt ambiguity.
Define what you don't want
Every prompt should define what you do not want as clearly as what you do want. Before your next AI session, write two lists: the features this session will produce, and the features this session will not produce. The exclusion list is more important than the inclusion list. A prompt without exclusions is an invitation to hallucinate features.
How DriftLess prevents feature hallucination
DriftLess scope locking lets you define what is in scope and out of scope before the first prompt. When the AI starts generating features beyond the stated boundaries, drift detection flags the expansion before code is generated. You choose whether to accept or reject. The AI stays capable. Your project stays scoped.
Stop hallucinating features. Start locking scope.
Free account. Included credits. No card required.
Create free accountSources
Related Posts
A plain-English look at why AI sometimes adds pages, features, or complexity you never requested, and how to keep the first draft focused.
Read moreYou do not need magic wording. Say who it is for, what it should do, what it should not do, and where the first version should stop.
Read moreAI can move quickly, but speed only helps when the draft stays close to the goal. Here is how to keep control.
Read more