If you don’t insist on passing something that looks like a list, but simply want to pass multiple variadic arguments, you can use the multiple
option.
From the click documentation
@click.command()
@click.option('--message', '-m', multiple=True)
def commit(message):
click.echo('\n'.join(message))
$ commit -m foo -m bar
foo
bar