diff --git a/cloud-core/src/main/java/cloud/commandframework/CommandTree.java b/cloud-core/src/main/java/cloud/commandframework/CommandTree.java index bf9d504fb..398ed2712 100644 --- a/cloud-core/src/main/java/cloud/commandframework/CommandTree.java +++ b/cloud-core/src/main/java/cloud/commandframework/CommandTree.java @@ -339,7 +339,8 @@ private CommandTree(final @NonNull CommandManager commandManager) { )); } if (child.getValue() != null) { - if (commandQueue.isEmpty()) { + // Flag arguments need to be skipped over, so that further defaults are handled + if (commandQueue.isEmpty() && !(child.getValue() instanceof FlagArgument)) { if (child.getValue().hasDefaultValue()) { commandQueue.add(child.getValue().getDefaultValue()); } else if (!child.getValue().isRequired()) {