I see now after trying to post a bug on this that this behavior is now by design as of 2.7. I understand the reasoning behind the change to keep the behavior consistent with including undefined classes in manifests. My problem is being an “external' node classifier, I don’t currently have a way to validate whether or not the class I’m specifying in the ENC is valid or not and as it happens, the data I’m referencing and using for class names comes from a database that has other uses besides puppet's ENC so I don't have full control over what gets in there. If I could get some suggestion on how to validate the existence of a class from my ENC then I could check them before adding them to a node. Currently the ENC is written in perl.