It went rancid
Updated
On this page7
What it tastes like
Paint, cardboard, crayon or stale nuts. It is much easier to detect against a fresh reference than alone, which is an argument for keeping a known-good jar from each batch rather than relying on memory.
The nuts were probably already old
Nuts have a shelf life before you ever grind them, and it is shortened by warm storage at any point in a supply chain you cannot see. Grinding exposes far more surface to air and accelerates whatever was already under way. Ask for harvest or pack dates and record them against the lot.
Then storage, light and headspace
Warm storage speeds it, light speeds it, and a part-used jar with a growing air space speeds it most of all. The second half of a jar ages faster than the first, which is a reason the big format is not automatically the better deal for a customer.
Roast level interacts with this
A darker roast changes which flavors are present and can mask early oxidation that a lighter product would show plainly. That is not an advantage; it means the defect reaches the customer further along.
The fix is sourcing and turnover
Fresher nuts, bought more often in smaller quantities, ground closer to when they sell, with an honest date on the jar. None of that is clever and all of it works, and it is the same answer the oils property reaches from a different direction.
Ground product ages faster than whole nuts
Grinding exposes an enormous amount of new surface to air all at once, so a nut that would have kept for months as a whole kernel starts oxidizing in earnest the moment it goes through the mill. That is an argument for grinding to orders rather than building finished stock, which runs against the instinct to batch everything.