Your solution works, but has the drawback (like you mentioned) that the usage help message is static and won't reflect future updates like new subcommands or options being added.

Picocli does provide a way to customize the usage help message dynamically via its Help API. This allows you to reorder or replace sections in the usage help message. I believe the section you want to replace is the command list section.

This will require a bit of a deep dive into the picocli usage help model. To help you get started, the picocli-examples module has some custom help examples. This example shows how to modify the usage help message to show the full command hierarchy (without options though), which is fairly close to what you want to do. You could take it as a starting point. If you have more questions feel free to raise tickets on the picocli github issue tracker (or here).

Answer from Remko Popma on Stack Overflow
🌐
Picocli
picocli.info
picocli - a mighty tiny command line interface
Out of the box, picocli can convert command line argument strings to a number of common data types. Most of the built-in types work with Java 5, but picocli also has some default converters for Java 7 types like Path and Java 8 types like Duration, etc. These converters are loaded using reflection and are only available when running on a Java version that supports them.
🌐
GitHub
github.com › remkop › picocli
GitHub - remkop/picocli: Picocli is a modern framework for building powerful, user-friendly, GraalVM-enabled command line apps with ease. It supports colors, autocompletion, subcommands, and more. In 1 source file so apps can include as source & avoid adding a dependency. Written in Java, usable from Groovy, Kotlin, Scala, etc. · GitHub
Picocli is a modern library and framework, written in Java, that contains both an annotations API and a programmatic API. It features usage help with ANSI colors and styles, TAB autocompletion and nested subcommands.
Starred by 5.4K users
Forked by 468 users
Languages   Java 95.8% | Shell 1.9% | Groovy 1.6%
Discussions

picocli - a mighty tiny command line interface
What makes picocli better than: http://jcommander.org/ http://commons.apache.org/proper/commons-cli/ ... the many others already out there? Not being critical, I'm actually curious! More on reddit.com
🌐 r/java
14
69
June 6, 2017
command line arguments - Customized help display in PicoCli? - Stack Overflow
I have a use case where I need to post the entire help for a CLI in a specified format. I have found a way to do that using the following: @CommandLine.Command(name="myAp", More on stackoverflow.com
🌐 stackoverflow.com
Java: picocli: How to provide argument to command without naming it? - Stack Overflow
Is it possible to provide argument to @CommandLine.Command without explicitly naming the argument in picocli? As example the following command can be invoked as: open n 1. However, I would like to be More on stackoverflow.com
🌐 stackoverflow.com
java - How do I make a picoCLI project into a command? - Stack Overflow
I have a working project with command line variables. It works when I run it In IntelliJ with the command line options, how do I make it into a full terminal command? More on stackoverflow.com
🌐 stackoverflow.com
🌐
Javadoc.io
javadoc.io › doc › info.picocli › picocli › 4.5.2 › picocli › CommandLine.html
CommandLine - picocli 4.5.2 javadoc
Latest version of info.picocli:picocli · https://javadoc.io/doc/info.picocli/picocli · Current version 4.5.2 · https://javadoc.io/doc/info.picocli/picocli/4.5.2 · package-list path (used for javadoc generation -link option) https://javadoc.io/doc/info.picocli/picocli/4.5.2/package-list ·
🌐
Baeldung
baeldung.com › home › java › create a java command line program with picocli
Create a Java Command Line Program with Picocli | Baeldung
January 11, 2024 - In this tutorial, we’ll approach the picocli library, which allows us to easily create command line programs in Java.
🌐
InfoQ
infoq.com › articles › java-native-cli-graalvm-picocli
Build Great Native CLI Apps in Java with Graalvm and Picocli - InfoQ
March 7, 2020 - GraalVM can compile your Java applications to single native images, but it has some limitations. Picocli is a modern library for writing CLI apps on the JVM which can help tackle GraalVM’s limitations including on Windows.
🌐
Maven Repository
mvnrepository.com › artifact › info.picocli › picocli
Maven Repository: info.picocli » picocli
April 19, 2025 - Home » info.picocli » picocli · Java command line parser with both an annotations API and a programmatic API. Usage help with ANSI styles and colors. Autocomplete. Nested subcommands. Easily included as source to avoid adding a dependency. LicenseApache 2.0 ·
Find elsewhere
🌐
Quarkus
quarkus.io › guides › picocli
Command Mode with Picocli - Quarkus
A Picocli command line application is a standard Quarkus application and as such can be published as a JAR in various packaging formats (e.g. fast-jar, uber-jar). In the context of a command line application, building an uber-jar is more practical ...
🌐
INNOQ
innoq.com › en › blog › 2022 › 01 › java-cli-libraries
Libraries for command-line applications — Processing arguments and options in Java – INNOQ
January 23, 2022 - Because picocli not only processes options and arguments, but we also use it to define commands that picocli can now also execute, the implementation of multiple commands in one application is even easier than with JCommander. As can be seen in Listing 7, we define in our application the available commands and implement them in their own class annotated with @Command.
🌐
Google Translate
translate.google.com › translate
Build a simple Java CLI app in minutes with Picocli | by Rostyslav Ivankiv | Medium
April 22, 2023 - But with new technologies it seems not to be a problem anymore. In this article, we’ll introduce you to Picocli, a lightweight and easy-to-use Java framework for building CLI applications.
🌐
Adam Gamboa G
blog.adamgamboa.dev › picocli-easiness-for-cli-arguments-in-java
Picocli - Easiness for CLI arguments in Java
October 28, 2021 - Picocli, defines itself as the easiest way to create a rich cli application for JVM and no JVM environments.
🌐
Google Translate
translate.google.com › translate
Guía rápida
Google's service, offered free of charge, instantly translates words, phrases, and web pages between English and over 100 other languages.
🌐
GitHub
github.com › remkop › picocli › blob › main › picocli-examples › src › main › java › picocli › examples › Example.java
picocli/picocli-examples/src/main/java/picocli/examples/Example.java at main · remkop/picocli
Picocli is a modern framework for building powerful, user-friendly, GraalVM-enabled command line apps with ease. It supports colors, autocompletion, subcommands, and more. In 1 source file so apps can include as source & avoid adding a dependency.
Author   remkop
🌐
Medium
jxausea.medium.com › spring-boot-integration-picocli-quick-start-demo-6cca220758e3
Spring Boot Integration Picocli Quick Start Demo | by Harries | Medium
May 16, 2024 - Picocli is a single-file command-line parsing framework that allows you to create command-line applications with little to no code. use @Option or @Parameters Comment on the fields in your app, and Picocli will populate them with command line ...
🌐
Tum
owl.model.in.tum.de › owl-21.0-javadoc › picocli › CommandLine.html
CommandLine (owl 21.0 API)
Returns whether the parser should trim quotes from command line arguments. The default is read from the system property "picocli.trimQuotes" and will be true if the property is present and empty, or if its value is "true".