{"record":{"id":"93ecb2b979b63ef3","repo":"quarkusio/quarkus","slug":"unrecognized-mode-mode-supported-values-are-t","errorCode":null,"errorMessage":"Unrecognized mode '<mode>', supported values are test, dev, development, prod","messagePattern":"Unrecognized mode '<mode>', supported values are test, dev, development, prod","errorType":"exception","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"devtools/maven/src/main/java/io/quarkus/maven/GoOfflineMojo.java","lineNumber":100,"sourceCode":"        boolean useLegacy = BootstrapAppModelResolver.isLegacyModelResolver(project.getProperties());\n        final BootstrapAppModelResolver appModelResolver = new BootstrapAppModelResolver(resolver)\n                .setLegacyModelResolver(useLegacy);\n\n        final Set<String> excludedScopes;\n        if (mode.equals(\"all\")) {\n            appModelResolver.setDevMode(true);\n            appModelResolver.setTest(true);\n            excludedScopes = Set.of();\n        } else if (mode.equalsIgnoreCase(\"test\")) {\n            appModelResolver.setTest(true);\n            excludedScopes = Set.of();\n        } else if (mode.equalsIgnoreCase(\"dev\") || mode.equalsIgnoreCase(\"development\")) {\n            appModelResolver.setDevMode(true);\n            excludedScopes = Set.of(\"test\");\n        } else if (mode.equalsIgnoreCase(\"prod\") || mode.isEmpty()) {\n            excludedScopes = Set.of(\"test\", \"provided\");\n        } else {\n            throw new IllegalArgumentException(\n                    \"Unrecognized mode '\" + mode + \"', supported values are test, dev, development, prod\");\n        }\n\n        final DependencyNode root;\n        try {\n            root = resolver.getSystem().collectDependencies(\n                    resolver.getSession(),\n                    resolver.newCollectManagedRequest(pom, List.of(), List.of(), List.of(), List.of(), excludedScopes))\n                    .getRoot();\n        } catch (Exception e) {\n            throw new MojoExecutionException(\"Failed to collect dependencies of \" + pom, e);\n        }\n\n        final LocalWorkspace workspace = resolver.getMavenContext().getWorkspace();\n        final List<Path> createdDirs = new ArrayList<>(workspace.getProjects().size());\n        try {\n            ensureResolvableModule(root, workspace, createdDirs);\n            appModelResolver.resolveModel(ArtifactCoords.of(pom.getGroupId(), pom.getArtifactId(), pom.getClassifier(),","sourceCodeStart":82,"sourceCodeEnd":118,"githubUrl":"https://github.com/quarkusio/quarkus/blob/e1c734241f34c7919086ceb4c9262b4a58f6de44/devtools/maven/src/main/java/io/quarkus/maven/GoOfflineMojo.java#L82-L118","documentation":"GoOfflineMojo accepts a `mode` parameter (test, dev/development, prod) that decides which dependency scopes are excluded when pre-downloading everything for offline builds. An unrecognized value throws this IllegalArgumentException. Empty string is treated as prod.","triggerScenarios":"Running `mvn quarkus:go-offline -Dmode=<value>` where <value> is not test, dev, development, or prod (case-insensitive) — e.g. -Dmode=production or -Dmode=Test-Only.","commonSituations":"Typo in the -Dmode property; assuming 'production' or 'runtime' are valid aliases; CI scripts passing a variable that is empty-but-whitespace or a stale value from an older plugin version.","solutions":["Use one of: -Dmode=test, -Dmode=dev, -Dmode=development, or -Dmode=prod (or omit -Dmode for prod default)","Correct CI scripts to pass 'prod' instead of 'production'","Trim/guard the mode variable in scripts so whitespace or wrong values are not passed"],"exampleFix":"// before\nmvn quarkus:go-offline -Dmode=production\n// after\nmvn quarkus:go-offline -Dmode=prod","handlingStrategy":"validation","validationCode":"case \"$MODE\" in test|dev|development|prod|\"\") : ;; *) echo \"invalid -Dmode=$MODE\"; exit 1;; esac","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Use only test, dev, development, or prod for -Dmode","Default to omitting -Dmode for prod behavior","Validate the mode variable in CI scripts before invoking go-offline"],"tags":["maven","configuration","cli-argument","go-offline"],"backgroundTag":"invalid-config-value","analyzedSha":"e1c734241f34c7919086ceb4c9262b4a58f6de44","analyzedAt":"2026-09-05T17:01:29.979Z","contentChangedAt":"2026-09-05T17:01:29.979Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}