ansible.builtin.env – Read the value of environment variables


This module is part of ansible-base and included in all Ansible installations. In most cases, you can use the short module name env even without specifying the collections: keyword. Despite that, we recommend you use the FQCN for easy linking to the module documentation and to avoid conflicting with other collections that may have the same module name.

New in version 0.9: of ansible.builtin


  • Allows you to query the environment variables available on the controller when you invoked Ansible.


Parameter Choices/Defaults Configuration Comments
string / required
Environment variable or list of them to lookup the values for.



  • The module returns an empty string if the environment variable is not defined. This makes it impossbile to differentiate between the case the variable is not defined and the case the variable is defined but it contains an empty string.

  • The default filter requires second parameter to be set to True in order to set a default value in the case the variable is not defined (see examples).


- name: Basic usage
    msg: "'{{ lookup('env', 'HOME') }}' is the HOME environment variable."

- name: Example how to set default value if the variable is not defined
    msg: "'{{ lookup('env', 'USR') | default('nobody', True) }}' is the user."

Return Values

Common return values are documented here, the following are the fields unique to this lookup:

Key Returned Description
list / elements=string
Values from the environment variables.


  • Jan-Piet Mens (@jpmens) <jpmens(at)>