The Kinney Drugs AI Bot Failed for a Boring Reason
A US pharmacy chain replaced its refill line with an AI voice bot and broke it for real patients. The failure wasn't the model. It was removing the fallback path.

The most instructive AI customer service failure I have read about this month is not a model problem at all. It is an architecture problem, and it is one I see in small Sri Lankan products constantly.
VTDigger reported on 29 July 2026 that Kinney Drugs, a pharmacy chain in Vermont and New York, rolled out an AI assistant called "Burt" for prescription refills in May 2026. Patients got delays, wrong dosages, and a new privacy policy. I want to talk about why, because the fix is cheap and nobody applies it.
🔍 What actually broke, in engineering terms
Strip the story down to symptoms and every one of them is a known failure class, not a mystery:
| Reported symptom | What it actually is | Where it lives |
|---|---|---|
| Wrong dosage ordered | Unvalidated model output written to a system of record | Write path |
| Could not find longtime customer accounts | Fuzzy name/voice matching against an exact-match database | Identity resolution |
| No notification when refills were ready | Outbound job never wired, or wired to the bot instead of SMS | Integration gap |
| Delays between doctor order and processing | A synchronous human step replaced by an async queue nobody drains | Workflow |
| Calls that do not name the drug | Over-cautious privacy redaction with no useful content left | Prompt/policy |
None of that requires a smarter model. Four of the five would be caught by a staging environment and one afternoon of adversarial testing with real account names.
Key takeaway: The bot did not hallucinate its way into ordering a wrong dosage. Somebody let a probabilistic component write directly to a system of record with no confirmation step. That is a design decision, and it is reversible.
⚡ The actual bug: they deleted the deterministic path
The detail from the article that stopped me was a patient saying there is no option to use a keypad. It is talk to the bot or do not get your prescription.
That is the whole failure in one sentence. The old system was a DTMF phone tree: ugly, slow, and completely deterministic. Press 1, get refills. It worked for people with strong accents, bad phone lines, hearing loss, and no patience. The AI was added in place of that path rather than in front of it.
The correct shape is boring:
- AI handles the happy path. Natural language in, intent out.
- Deterministic fallback stays live forever. Keypad, form, WhatsApp menu, whatever the old thing was. Never delete it.
- Low-confidence intents route to the fallback automatically. Do not ask the user to notice the bot is failing.
- Any write to a system of record needs an explicit confirmation. "You asked for 500mg of X, correct?"
- One escape phrase always works. "Agent." "Operator." "Menu."
Rule 2 is the one teams break, because keeping two paths alive is unglamorous and the whole business case for the AI was reducing cost. But you do not get the savings by removing the fallback. You get them because 80% of traffic stops touching it.
🔐 Your privacy policy quietly becomes your vendor's
The other half of the story matters more than the delays. The chain updated its privacy policy to disclose that customer health information could be used in AI tools, and the vendor, a Texas company called Synerio, became a new third party holding that data.
That is the part builders underestimate. Adding an AI feature is often adding a data processor, and it changes your legal surface even when your code barely changes.
If you send user data to a hosted model API, you have added a sub-processor to your product. Your privacy policy is now wrong until you update it.
Vermont's own data privacy bill, S.71, was signed on 16 June 2026 but does not take effect until 2028. So the regulatory floor for this rollout was, in practice, whatever the company chose. Sri Lanka is in a comparable gap: the Personal Data Protection Act exists on paper and enforcement is still maturing. Do not read that as permission. Read it as: nobody is going to catch your mistake before your users do.
Practical version for a two-person team in Colombo shipping a support bot:
- List every third party that touches user text before you ship. Model provider, vector DB, logging service, error tracker.
- Do not log full prompts containing personal data by default. Redact at the edge, not in the dashboard.
- Check retention settings on your model provider. Many default to retaining inputs for abuse monitoring.
- Update the policy in the same PR as the feature. Not "next sprint."
🛠️ The cheap test that would have caught this
You do not need a QA department. You need a list of 20 hostile inputs and one hour, run before every release:
| Test | Why it matters |
|---|---|
| Longest real customer name in your DB | Breaks fuzzy matching first |
| A name with two spellings (Perera / Pereira) | Identity resolution |
| Heavy background noise, low-bitrate call | Real phone conditions |
| Sinhala or Tamil name spoken in English sentence | Code-switching is normal here, not an edge case |
| Deliberate mid-sentence correction ("no, 250, not 500") | Tests whether the last value wins |
| Silence for 10 seconds | Timeout and fallback behaviour |
| Request the bot has no tool for | Should escalate, not improvise |
If you are building voice features, the components are cheap to prototype now. Our free speech-to-text tool and text-to-speech tool run in the browser and are enough to sanity-check whether transcription even survives a Sri Lankan accent on a 3G connection before you commit to a vendor.
💡 What this means for you
The Kinney Drugs story will get filed under "AI failed" and that reading is lazy and useless. A refill line is an ideal AI use case: high volume, repetitive, low creativity. The rollout failed on three specific decisions any of us could make next week.
- You are allowed to ship an AI feature to 10% of traffic. Nobody is forcing a full cutover.
- Never remove the deterministic path. It is your rollback plan, your accessibility story, and your incident mitigation, for the price of some unglamorous code.
- Probabilistic components do not get write access to anything a human would be upset about. Read-only until confirmed.
- A new AI vendor is a new data processor. Treat the privacy policy as part of the deliverable.
The teams that will look good in two years are not the ones with the best models. They are the ones who kept the boring path working while everyone else deleted it.
Original source
A pharmacy chain in Vermont implemented AI for efficiency