User Input Prompts

Click supports prompts in two different places. The first is automated prompts when the parameter handling happens, and the second is to ask for prompts at a later point independently.

This can be accomplished with the prompt() function, which asks for valid input according to a type, or the confirm() function, which asks for confirmation (yes/no).

Option Prompts

Option prompts are integrated into the option interface. See Prompting for more information. Internally, it automatically calls either prompt() or confirm() as necessary.

Input Prompts

To manually ask for user input, you can use the prompt() function. By default, it accepts any Unicode string, but you can ask for any other type. For instance, you can ask for a valid integer:

value = click.prompt('Please enter a valid integer', type=int)

Additionally, the type will be determined automatically if a default value is provided. For instance, the following will only accept floats:

value = click.prompt('Please enter a number', default=42.0)

Confirmation Prompts

To ask if a user wants to continue with an action, the confirm() function comes in handy. By default, it returns the result of the prompt as a boolean value:

if click.confirm('Do you want to continue?'):
    click.echo('Well done!')

There is also the option to make the function automatically abort the execution of the program if it does not return True:

click.confirm('Do you want to continue?', abort=True)