# Query Properties <span class="related-pages">#feature/scripting</span> > [!released] > > - Query Properties were introduced in Tasks 4.7.0. > - Their direct use in Custom Filters and Custom Groups, without the use of Placeholders, was introduced in Tasks 5.1.0. ## Introduction In a growing number of locations, Tasks allows programmatic/scripting access to properties of the file containing the search query: - [[Placeholders]] - [[Custom Filters]] - [[Custom Sorting]] - [[Custom Grouping]] This page documents all the available pieces of information in Queries that you can access. ## Values for Query File Properties <!-- placeholder to force blank line before included text --><!-- include: QueryProperties.test.query_file_properties.approved.md --> | Field | Type | Example | | ----- | ----- | ----- | | `query.file.path` | `string` | `'root/sub-folder/file containing query.md'` | | `query.file.pathWithoutExtension` | `string` | `'root/sub-folder/file containing query'` | | `query.file.root` | `string` | `'root/'` | | `query.file.folder` | `string` | `'root/sub-folder/'` | | `query.file.filename` | `string` | `'file containing query.md'` | | `query.file.filenameWithoutExtension` | `string` | `'file containing query'` | <!-- placeholder to force blank line after included text --><!-- endInclude --> 1. `query.file` is a `TasksFile` object. 1. You can see the current [TasksFile source code](https://github.com/obsidian-tasks-group/obsidian-tasks/blob/main/src/Scripting/TasksFile.ts), to explore its capabilities. 1. The presence of `.md` filename extensions is chosen to match the existing conventions in the Tasks filter instructions [[Filters#File Path|path]] and [[Filters#File Name|filename]]. 1. `query.file.pathWithoutExtension` was added in Tasks 4.8.0. 1. `query.file.filenameWithoutExtension` was added in Tasks 4.8.0. ## Values for Query Search Properties <!-- placeholder to force blank line before included text --><!-- include: QueryProperties.test.query_search_properties.approved.md --> | Field | Type | Example | | ----- | ----- | ----- | | `query.allTasks` | `Task[]` | `[... an array with all the Tasks-tracked tasks in the vault ...]` | <!-- placeholder to force blank line after included text --><!-- endInclude --> 1. `query.allTasks` provides access to all the tasks that Tasks has read from the vault. - If [[Global Filter|global filter]] is enabled, only tasks containing the global filter are included. - The [[Global Query|global query]] does not affect `query.allTasks`: all tasks tracked by the Tasks plugin are included. - See [[Task Properties]] for the available properties on each task. - `query.allTasks` was added in Tasks 6.1.0.