ansible.builtin.fileglob – list files matching a pattern


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

New in version 1.4: of ansible.builtin


  • Matches all files in a single directory, non-recursively, that match a pattern. It calls Python’s “glob” library.


Parameter Choices/Defaults Configuration Comments
string / required
path(s) of files to read



  • Patterns are only supported on files, not directory/paths.

  • Matching is against local system files on the Ansible controller. To iterate a list of files on a remote node, use the ansible.builtin.find module.

  • Returns a string list of paths joined by commas, or an empty list if no files match. For a ‘true list’ pass wantlist=True to the lookup.


- name: Display paths of all .txt files in dir
  debug: msg={{ lookup('fileglob', '/my/path/*.txt') }}

- name: Copy each file over that matches the given pattern
    src: "{{ item }}"
    dest: "/etc/fooapp/"
    owner: "root"
    mode: 0600
    - "/playbooks/files/fooapp/*"

Return Values

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

Key Returned Description
list / elements=path
list of files


  • Michael DeHaan