import click import click_config_file import yaml def myprovider(file_path, cmd_name): with open(file_path) as config_file: return yaml.safe_load(config_file) @click.command() @click.option("--opt", default="from-default") @click_config_file.configuration_option( provider=myprovider, config_file_name="config.yaml", implicit=False ) def main(opt): print("opt", opt) if __name__ == "__main__": main(auto_envvar_prefix="FOO")