# Ansible variable precedence Source: [http://docs.ansible.com/ansible/latest/playbooks_variables.html#variable-precedence-where-should-i-put-a-variable](https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html#variable-precedence-where-should-i-put-a-variable) ### From least to most important - command line values (for example, -u my_user, these are not variables) - role defaults (defined in role/defaults/main.yml) - inventory file or script group vars - inventory group_vars/all - playbook group_vars/all - inventory group_vars/* - playbook group_vars/* - inventory file or script host vars - inventory host_vars/* - playbook host_vars/* - host facts / cached set_facts - play vars - play vars_prompt - play vars_files - role vars (defined in role/vars/main.yml) - block vars (only for tasks in block) - task vars (only for the task) - include_vars - set_facts / registered vars - role (and include_role) params - include params - extra vars (always win precedence)