What probably happened
Your beans are old, you added acid too early, or your water is hard.
Why it happened
Dried beans have a tough outer skin made of pectin — the same compound that gives jam its structure. As beans age, they lose moisture and the pectin becomes more rigid, making the skins nearly waterproof. Even fresh dried beans struggle to soften in acidic liquid: tomatoes, vinegar, or citrus added to the pot before the beans are tender will lock the pectin and keep the skins hard. And hard water — water with high mineral content, especially calcium — chemically reinforces the pectin in bean skins. The calcium ions cross-link with pectin molecules, making them even tougher. This is why beans cooked in hard water can simmer for hours and stay bullet-like.
How to save it now
If the beans are already cooking and still hard, add ¼ teaspoon of baking soda per cup of dried beans. Baking soda raises the pH, which breaks down pectin and softens the skins. Give it 20–30 more minutes of simmering. If they're still hard after that, the beans are likely too old — there's no saving them, but you can purée them for a thick soup base where texture doesn't matter.
How to prevent it next time
Buy beans from a store with high turnover — Latin markets are ideal. Soak dried beans overnight in salted water (yes, salted — it softens the skins by replacing calcium in the pectin with sodium). Cook in fresh water with no acid until the beans are fully tender — a bean squeezed between your fingers should mash easily. Only then add tomatoes, vinegar, or sour orange. If your tap water is hard, use filtered or bottled water for cooking beans.
Tiny kitchen test
Split a batch of soaked beans into two pots. Add a splash of vinegar to one pot at the start of cooking. Leave the other alone. After an hour, the acid-free pot will have tender, creamy beans. The vinegar pot will still have firm, slightly tough beans.
Still not working? Ask us on Instagram and we'll dig into it.