ExtendedDefaultParser uses whitespace as delimiter: https://docs.spring.io/spring-shell/reference/api/java/org/springframework/shell/jline/ExtendedDefaultParser.html#isDelimiter(java.lang.CharSequence,int). This would not allow option 2 to work. However, your current code should handle any order of arguments.