diff --git a/cloud-core/src/main/java/cloud/commandframework/arguments/compound/FlagArgument.java b/cloud-core/src/main/java/cloud/commandframework/arguments/compound/FlagArgument.java index f8077425..c02f8f9c 100644 --- a/cloud-core/src/main/java/cloud/commandframework/arguments/compound/FlagArgument.java +++ b/cloud-core/src/main/java/cloud/commandframework/arguments/compound/FlagArgument.java @@ -428,6 +428,15 @@ public final class FlagArgument extends CommandArgument { this.currentFlagBeingParsed = Optional.of(currentFlag); this.currentFlagNameBeingParsed = Optional.of(currentFlagName); + // Don't attempt to parse empty strings + if (inputQueue.peek().isEmpty()) { + return ArgumentParseResult.failure(new FlagParseException( + currentFlag.getName(), + FailureReason.MISSING_ARGUMENT, + commandContext + )); + } + final ArgumentParseResult result = ((CommandArgument) currentFlag.getCommandArgument()) .getParser()