CookSnap is coming soon — Join the waitlist →
CookSnap Journal

Why LLM-Generated Recipes Hallucinate Ingredients (And Why Visual Database Matching Wins)

· 6 min read · by CookSnap
Why LLM-Generated Recipes Hallucinate Ingredients (And Why Visual Database Matching Wins)

Ask ChatGPT to invent a recipe from “chicken, lime, salsa, and corn tortillas” and you will get a confident, well-formatted answer in fifteen seconds. The problem is that there is roughly a one-in-three chance the recipe will quietly ask you for cumin, garlic powder, or some other ingredient you never mentioned. Sometimes it will tell you to char the tortillas in an oven you don’t have. Once, in testing, an LLM cheerfully suggested we add a tablespoon of “chicken essence” — a thing that does not exist as a household pantry item.

This isn’t a bug. It is the defining behaviour of large language models applied to a domain that demands literal correctness. Cooking is one of the few consumer tasks where “close enough” means a ruined dinner.

The hallucination is the product

Generative cooking apps treat your ingredient list as a prompt, not a constraint. The model is rewarded during training for producing plausible recipes — not for producing recipes that only use the four things you typed. Plausible recipes contain pantry staples, because plausible recipes are the kind that get uploaded to the internet. So the model adds garlic. It adds olive oil. It adds salt and pepper, fine, but then it adds “a splash of white wine” because every Italian-adjacent recipe in its training corpus has a splash of white wine.

You asked “what can I make with what I have.” The model answered “what would a competent home cook make if they had what you have, plus the things they probably also have.” Those are different questions. The second one is what you get from generative AI by default, and no amount of prompt engineering fully fixes it.

The three failure modes nobody documents

After running thousands of test prompts through the major LLM cooking apps and comparing them against CookSnap’s curated library, the same three failure modes show up over and over:

  1. Phantom ingredients.The recipe lists an ingredient in the instructions that never appeared in the input or the ingredient list. “Stir in the parsley” — what parsley? You never had parsley.
  2. Impossible quantities.“Add 2 cups of flour” when you said you have flour, but the model has no idea you have a quarter cup left. The recipe is structurally incompatible with your real kitchen.
  3. Confident wrongness in technique.Pan temperatures that scorch the dish, rest times shorter than food-safety guidelines, “bake at 350 for 12 minutes” for a chicken that needs forty. The model doesn’t know you’ll get sick. It only knows the prose looks right.

None of these are fixed by a bigger model. They are fixed by not generating recipes at all.

What “database matching” actually means

CookSnap takes the opposite approach. Instead of generating a recipe from your ingredients, the app matches your ingredients against a curated library of more than nine thousand real, human-tested recipes. Each recipe in the library has been verified for hero-image quality, ingredient list correctness, and step completeness. The matching engine returns recipes that you can actually make — ranked by how many of your ingredients are used and how few outside ingredients are required.

If the best match needs salt and pepper, the app tells you it needs salt and pepper. If the best match needs three things you don’t have, the app shows you a teaser and explains the gap rather than pretending those ingredients are obvious. The whole interaction is built around honesty about what your kitchen can produce, not creativity about what your kitchen could produce if it were better stocked.

This is unromantic. The marketing copy is harder to write. You can not promise users “infinite personalised recipes powered by AI” if your engine refuses to invent recipes that don’t exist. But the user who opens the app at 7:30 pm with a tired toddler and four things in the fridge does not need infinite recipes. They need one recipe that they can finish.

The visual layer: why the camera matters

The hardest part of any “what can I make with what I have” tool is the data entry. Typing “chicken, rice, broccoli, soy sauce, ginger, garlic, sesame oil, scallions” takes thirty seconds and is annoying enough that most people give up on the third ingredient. CookSnap’s iOS app uses on-device computer vision to identify ingredients from a photo of your fridge shelf or pantry. You point, you tap, the ingredient list populates.

The camera is not a gimmick. It is the only realistic way to get a complete ingredient list from a non-motivated user. And a complete ingredient list is the only way to get a non-hallucinated recipe. Visual ingredient capture + database matching are two halves of the same idea: build the input around what people actually have, not what they could plausibly type.

When generative AI is actually the right tool

To be fair to the LLM-based apps: generative AI is genuinely good at a few cooking tasks. It is good at ingredient substitution — if you have buttermilk but the recipe wants yogurt, the model confidently and correctly tells you the swap ratio. It is good at technique explanation: ask it why you fold rather than stir, and you get a clean, accurate answer. It is good at meal-planning prose: “give me a week of dinners my picky kid will eat” produces a usable starting point.

Where LLMs fall down is the specific task most cooking apps market themselves on: given my exact ingredients, what is one recipe I can make right now without buying anything. That task is not a generation task. It is a retrieval task. And retrieval against a curated library is what CookSnap does.

The bigger pattern

Generative AI’s greatest weakness is that it always answers. It never says “I don’t know.” It never says “none of the recipes I’ve seen actually use exactly these ingredients in these quantities.” The model will invent rather than admit a gap, because admitting a gap was punished during training.

Cooking is a domain where the gap is the information. If your fridge cannot produce a recipe with the matching engine’s quality bar, the right answer is “here is the closest match — you are three ingredients away” or “go grab eggs and you unlock six more options.” That answer is more useful than a hallucinated recipe, and it is the answer database-matching apps can give and generative apps structurally cannot.

Try it

CookSnap’s free recipe finder runs in any browser. Type or paste your ingredients, hit search, and you will get a real recipe matched against the library — or an honest “no match yet” with a list of the closest teasers. No signup, no install, no AI-generated meals.

CookSnap matches the ingredients you already have to real recipes — no AI-generated meals, no substitutions guesswork. Try the free recipe finder.