Skip to content

improve UX on CLI syntax error #1643

@hohwille

Description

@hohwille

Feature idea

$ ide update --skip-updates

No matching property found
Invalid arguments: "update" "--skip-updates"
__       ___ ___  ___
\ \     |_ _|   \| __|__ _ ____ _
 > >     | || |) | _|/ _` (_-< || |
/_/ ___ |___|___/|___\__,_/__/\_, |
   |___|                       |__/

Current version of IDE is 2025.12.001-12_03_02-SNAPSHOT
Usage: ide [option]* update
Pull your settings and apply updates (software, configuration and repositories).
To update your IDE (if instructed by your ide-admin), you only need to run the following command: 'ide update'.

Values:

Options:
--force-plugins       force plugin (re)installation.
--force-pull          force pull of settings even for code repository.
--force-repositories  force setup of repositories to even clone inactive and pull existing ones.
--locale              the locale (e.g. '--locale=de' for German language).
--no-colors           disable colored log messages.
--skip-repositories   skip the setup of repositories.
--skip-tools          skip the installation/update of tools.
--skip-updates        disables tool updates if the configured versions match the installed versions.
-b | --batch          enable batch mode (non-interactive).
-d | --debug          enable debug logging.
-f | --force          enable force mode.
-o | --offline        enable offline mode (skip updates or git pull, fail downloads or git clone).
-p | --privacy        enable GDPR-compliant console output.
-q | --quiet          disable info logging (only log success, warning or error).
-t | --trace          enable trace logging.

Hint: Use 'icd' command to easily navigate between your IDE home, projects, and workspaces. Type 'icd --help' for more details.

Error: IDEasy failed with exit code 1

This is very confusing for the user.

  1. he should have called ide --skip-updates update instead (see improve help output #1642)
  2. the automatic help output is long and hiding away the important informations about the error.
  3. the important error information is not very helpful: Invalid arguments: "update" "--skip-updates"

Instead we should have:

Option "--skip-updates" not found for commandlet "update".
To see the available options and arguments call the following command:
ide update help

Error: IDEasy failed with exit code 1

Another example:

$ ide set-edition intellij --cfg=config
Invalid CLI argument 'config' for property '--cfg' of commandlet 'set-edition'

No matching property found
Invalid arguments: "set-edition" "intellij" "--cfg=config"
__       ___ ___  ___
\ \     |_ _|   \| __|__ _ ____ _
 > >     | || |) | _|/ _` (_-< || |
/_/ ___ |___|___/|___\__,_/__/\_, |
   |___|                       |__/

Current version of IDE is 2025.12.001-12_03_02-SNAPSHOT
Usage: ide [option]* set-edition <tool> <edition>
Set the edition of the selected tool.
This will set the according tool edition variable in your configuration file. If you want to roll out such change and share it with your team, you can commit and push your settings git repository.
By default these changes are saved in the project specific settings. Use --conf --home or --workspace to specify otherwise.

Values:
<edition>  The tool edition.
<tool>     The tool commandlet to select.

Options:
--cfg           Selection of the configuration file (settings | home | conf | workspace).
--locale        the locale (e.g. '--locale=de' for German language).
--no-colors     disable colored log messages.
--skip-updates  disables tool updates if the configured versions match the installed versions.
-b | --batch    enable batch mode (non-interactive).
-d | --debug    enable debug logging.
-f | --force    enable force mode.
-o | --offline  enable offline mode (skip updates or git pull, fail downloads or git clone).
-p | --privacy  enable GDPR-compliant console output.
-q | --quiet    disable info logging (only log success, warning or error).
-t | --trace    enable trace logging.

Hint: Use 'icd' command to easily navigate between your IDE home, projects, and workspaces. Type 'icd --help' for more details.

Error: IDEasy failed with exit code 1

I would rather expect:

$ ide set-edition intellij --cfg=config
Invalid CLI argument 'config' for property '--cfg' of commandlet 'set-edition'
Did you mean "--cfg=conf"?
To see the available options and arguments call the following command:
ide set-edition help

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    CLIIDEasy command-line-interface (parsing args, etc.)enhancementNew feature or request

    Projects

    Status

    🆕 New

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions