This type of error indicates a problem in the configuration. Right now we often raise a ValueError when we encounter these issues, and so it may make sense for ConfigurationError to be a subclass of ValueError. There is already a UsageError in the errors module, but that seems to be used differently.