[[using-shell-options-basics-registration]] [[using-shell-options-basics-programmatic]] = Programmatic :page-section-summary-toc: 1 ifndef::snippets[:snippets: ../../test/java/org/springframework/shell/docs] Programmatic way with `CommandRegistration` is to use `withOption` to define an option. [source, java, indent=0] ---- include::{snippets}/OptionSnippets.java[tag=option-registration-longarg] ---- `CommandRegistration` can be defined as a bean or manually registered with a `CommandCatalog`. NOTE: Check below sections for other option types, i.e. short format.