quarkusio/quarkus · error · IllegalStateException
You have to specify a description. This is what the user wil
Error message
You have to specify a description. This is what the user will see in the console menu
What it means
AssistantConsoleBuildItem.Builder.build() requires a non-blank description; if description is null or blank it throws this IllegalStateException. The description is what the user sees next to the hotkey in the assistant console menu.
Source
Thrown at extensions/assistant/deployment-spi/src/main/java/io/quarkus/assistant/deployment/spi/AssistantConsoleBuildItem.java:121
}
public Builder variables(Map<String, String> variables) {
this.variables = variables;
return this;
}
public Builder function(Function<Assistant, CompletionStage<?>> function) {
this.function = Optional.of(function);
return this;
}
public AssistantConsoleBuildItem build() {
if (key == Character.MIN_VALUE) {
throw new IllegalStateException(
"You have to specify a key. This is the key the user will press to get to your function");
}
if (description == null || description.isBlank()) {
throw new IllegalStateException(
"You have to specify a description. This is what the user will see in the console menu");
}
if (userMessage == null && !function.isPresent()) {
throw new IllegalStateException(
"You have to specify userMessage that will be send to AI, or implement your own using the function");
}
return new AssistantConsoleBuildItem(this);
}
}
public ConsoleCommand getConsoleCommand() {
return consoleCommand;
}
public String getDescription() {
return consoleCommand != null ? consoleCommand.getDescription() : description;
}View on GitHub (pinned to e1c734241f)
Solutions
- Call .description("...") with meaningful non-blank text before build()
- If the description is dynamic, validate it is non-blank before constructing the build item
Example fix
// before
new AssistantConsoleBuildItem.Builder()
.key('e')
.build();
// after
new AssistantConsoleBuildItem.Builder()
.key('e')
.description("Explain this build failure")
.build(); Defensive patterns
Strategy: validation
Validate before calling
if (description == null || description.isBlank()) {
throw new IllegalArgumentException("AssistantConsoleBuildItem requires a non-blank description");
} Try / catch
try {
AssistantConsoleBuildItem item = builder.build();
} catch (IllegalStateException e) {
logger.error("Set description(...) on the AssistantConsoleBuildItem builder", e);
} Prevention
- Always set a human-readable description before build()
- Trim user/dynamic input used as description and reject blanks
- Review console entry builders in code review for all three required fields
When it happens
Trigger: Building an AssistantConsoleBuildItem without calling description(...) or with description("") / whitespace-only text.
Common situations: Extension authors adding console entries who set only the key and message; programmatic description construction yielding an empty string.
Understand the failure class
Background: "missing required argument" and "the following required arguments were not provided": what required-argument errors mean and how to fix them — this error's family across 20 libraries.
Related errors
- You have to specify a key. This is the key the user will pre
- You have to specify userMessage that will be send to AI, or
- User message is required
- A generic type is not allowed here; try creating a subclass
- Build item class must be leaf (final) types: %s
AI-assisted analysis of quarkusio/quarkus@e1c734241f (2026-09-05).
Data as JSON: /api/errors/3c0ad17ccbff9692.
Report an issue: GitHub.