I tested a bit more, and it looks like this only happens when *all* items in a recipe are marked as unconsumable. As long as at least one item is consumed, everything works fine.
(For context, I am using the system for an investigation-type scenario where you get the different clues as items, and then you can combine them to create new clues. So I've been marking all the "ingredients" as unconsumable, because you'd still have them after "analyzing" them.)