{"record":{"id":"9b1058f6786b105b","repo":"OpenAPITools/openapi-generator","slug":"filter-not-supported-filtername-filtervalue","errorCode":null,"errorMessage":"filter not supported :[{filterName}:{filterValue}]","messagePattern":"filter not supported :\\[(.+?):(.+?)\\]","errorType":"exception","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"modules/openapi-generator/src/main/java/org/openapitools/codegen/OpenAPINormalizer.java","lineNumber":2544,"sourceCode":"                    .collect(Collectors.toCollection(HashSet::new));\n        }\n\n        /**\n         * Parse non default filtering methods.\n         *\n         * Override this method to add custom parsing logic.\n         *\n         * By default throws IllegalArgumentException.\n         *\n         * @param filterName name of the filter\n         * @param filterValue value of the filter\n         */\n        protected void parse(String filterName, String filterValue) {\n            parseFails(filterName, filterValue);\n        }\n\n        protected void parseFails(String filterName, String filterValue) {\n            throw new IllegalArgumentException(\"filter not supported :[\" + filterName + \":\" + filterValue + \"]\");\n        }\n\n        protected boolean logIfMatch(String filterName, String subjectId, boolean filterMatched) {\n            if (filterMatched) {\n                logMatch(filterName, subjectId);\n            }\n            return filterMatched;\n        }\n\n        protected abstract void logMatch(String filterName, String subjectId);\n\n        protected Logger getLogger() {\n            return OpenAPINormalizer.LOGGER;\n        }\n    }\n\n    // Filter for API operations\n    protected static class Filter extends BaseFilter {","sourceCodeStart":2526,"sourceCodeEnd":2562,"githubUrl":"https://github.com/OpenAPITools/openapi-generator/blob/fcec517be3cf5b7964296bcba25fbc97541484e7/modules/openapi-generator/src/main/java/org/openapitools/codegen/OpenAPINormalizer.java#L2526-L2562","documentation":"BaseFilter.doParse() matches each parsed key against the filter's filteringMethods() set; unrecognized keys fall through to parse(filterKey, filterValue), whose default implementation parseFails() throws this IllegalArgumentException. So the key is syntactically fine but not one this filter supports: Filter accepts operationId|method|tag|path, SecuritySchemesFilter accepts key|type. Custom subclasses support more only by overriding parse().","triggerScenarios":"FILTER=operations:get (key should be 'operationId'); FILTER=httpMethod:get (should be 'method'); SECURITY_SCHEMES_FILTER=name:petstore (should be 'key'); FILTER=model:Pet (no such key for operation filters at all).","commonSituations":"Guessing filter key names instead of copying the documented ones; reusing a key from a different tool (e.g. 'verb' for 'method'); assuming model/schema filtering exists in FILTER when it only filters operations.","solutions":["Use only supported keys: FILTER → operationId, method, tag, path; SECURITY_SCHEMES_FILTER → key, type.","If you need an unsupported key, subclass BaseFilter/Filter and override parse(String, String) to handle custom keys.","Check the usage message included in the wrapped parse() error for the exact key list.","Remove the unsupported segment from the option."],"exampleFix":"# before\n--openapi-normalizer \"FILTER=verb:get|post\"\n# after\n--openapi-normalizer \"FILTER=method:get|post\"","handlingStrategy":"validation","validationCode":"Set<String> FILTER_KEYS = Set.of(\"operationId\", \"method\", \"tag\", \"path\");\nSet<String> SEC_KEYS = Set.of(\"key\", \"type\");\nboolean keysValid(String value, Set<String> allowed) {\n    return Arrays.stream(value.split(\";\"))\n            .map(seg -> seg.split(\":\")[0].trim())\n            .allMatch(allowed::contains);\n}","typeGuard":null,"tryCatchPattern":"Catch IllegalArgumentException at config load; map the unsupported key to the allowed key list in the error shown to the user.","preventionTips":["Keep the allowed keys in constants shared by config code and tests.","If custom keys are needed, subclass the filter and override parse(String, String)."],"tags":["openapi","normalizer","filter-syntax","unsupported-key"],"backgroundTag":"invalid-configuration-syntax","analyzedSha":"fcec517be3cf5b7964296bcba25fbc97541484e7","analyzedAt":"2026-08-22T11:13:11.613Z","schemaVersion":2},"datasetVersion":"2026-08-22T14:17:55.899Z"}