| separator | Split character for output strings. | no | "" |
| include_all_old_new_renamed_files | Include `all_old_new_renamed_files` output. Note this can generate a large output See: #501. | no | false |
| old_new_separator | Split character for old and new filename pairs. | no | , |
| old_new_files_separator | Split character for old and new renamed filename pairs. | no | "" |
| files_from_source_file | Source file(s) used to populate the `files` input. | no | "" |
| files_from_source_file_separator | Separator used to split the `files_from_source_file` input. | no | "" |
| files | File and directory patterns used to detect changes (Defaults to the entire repo if unset).
NOTE: Multiline file/directory patterns should not include quotes.
| no | "" |
| files_separator | Separator used to split the `files` input | no | "" |
| files_yaml | YAML used to define a set of file patterns to detect changes | no | "" |
| files_yaml_from_source_file | Source file(s) used to populate the `files_yaml` input. Example: https://github.com/tj-actions/changed-files/blob/main/test/changed-files.yml | no | "" |
| files_yaml_from_source_file_separator | Separator used to split the `files_yaml_from_source_file` input | no | "" |
| files_ignore_yaml | YAML used to define a set of file patterns to ignore changes | no | "" |
| files_ignore_yaml_from_source_file | Source file(s) used to populate the `files_ignore_yaml` input. Example: https://github.com/tj-actions/changed-files/blob/main/test/changed-files.yml | no | "" |
| files_ignore_yaml_from_source_file_separator | Separator used to split the `files_ignore_yaml_from_source_file` input | no | "" |
| files_ignore | Ignore changes to these file(s). NOTE: Multiline file/directory patterns should not include quotes. | no | "" |
| files_ignore_separator | Separator used to split the `files_ignore` input | no | "" |
| files_ignore_from_source_file | Source file(s) used to populate the `files_ignore` input | no | "" |
| files_ignore_from_source_file_separator | Separator used to split the `files_ignore_from_source_file` input | no | "" |
| sha | Specify a different commit SHA or branch used for comparing changes | no | — |
| base_sha | Specify a different base commit SHA or branch used for comparing changes | no | — |
| since | Get changed files for commits whose timestamp is older than the given time. | no | "" |
| until | Get changed files for commits whose timestamp is earlier than the given time. | no | "" |
| path | Specify a relative path under `$GITHUB_WORKSPACE` to locate the repository. | no | . |
| quotepath | Use non-ASCII characters to match files and output the filenames completely verbatim by setting this to `false` | no | true |
| diff_relative | Exclude changes outside the current directory and show path names relative to it. NOTE: This requires you to specify the top-level directory via the `path` input. | no | true |
| dir_names | Output unique changed directories instead of filenames. NOTE: This returns `.` for changed files located in the current working directory which defaults to `$GITHUB_WORKSPACE`. | no | false |
| dir_names_max_depth | Limit the directory output to a maximum depth e.g `test/test1/test2` with max depth of `2` returns `test/test1`. | no | — |
| dir_names_exclude_current_dir | Exclude the current directory represented by `.` from the output when `dir_names` is set to `true`. | no | false |
| dir_names_include_files | File and directory patterns to include in the output when `dir_names` is set to `true`. NOTE: This returns only the matching files and also the directory names. | no | "" |
| dir_names_include_files_separator | Separator used to split the `dir_names_include_files` input | no | "" |
| dir_names_deleted_files_include_only_deleted_dirs | Include only directories that have been deleted as opposed to directory names of files that have been deleted in the `deleted_files` output when `dir_names` is set to `true`. | no | false |
| json | Output list of changed files in a JSON formatted string which can be used for matrix jobs. Example: https://github.com/tj-actions/changed-files/blob/main/.github/workflows/matrix-example.yml | no | false |
| escape_json | Escape JSON output. | no | true |
| safe_output | Apply sanitization to output filenames before being set as output. | no | true |
| fetch_depth | Depth of additional branch history fetched. NOTE: This can be adjusted to resolve errors with insufficient history. | no | 25 |
| skip_initial_fetch | Skip initially fetching additional history to improve performance for shallow repositories.
NOTE: This could lead to errors with missing history. It's intended to be used when you've fetched all necessary history to perform the diff.
| no | false |
| fetch_additional_submodule_history | Fetch additional history for submodules. | no | false |
| since_last_remote_commit | Use the last commit on the remote branch as the `base_sha`. Defaults to the last non-merge commit on the target branch for pull request events and the previous remote commit of the current branch for push events. | no | false |
| write_output_files | Write outputs to the `output_dir` defaults to `.github/outputs` folder. NOTE: This creates a `.txt` file by default and a `.json` file if `json` is set to `true`. | no | false |
| output_dir | Directory to store output files. | no | .github/outputs |
| output_renamed_files_as_deleted_and_added | Output renamed files as deleted and added files. | no | false |
| recover_deleted_files | Recover deleted files. | no | false |
| recover_deleted_files_to_destination | Recover deleted files to a new destination directory, defaults to the original location. | no | "" |
| recover_files | File and directory patterns used to recover deleted files,
defaults to the patterns provided via the `files`, `files_from_source_file`, `files_ignore` and `files_ignore_from_source_file` inputs
or all deleted files if no patterns are provided.
| no | "" |
| recover_files_separator | Separator used to split the `recover_files` input | no | "" |
| recover_files_ignore | File and directory patterns to ignore when recovering deleted files. | no | "" |
| recover_files_ignore_separator | Separator used to split the `recover_files_ignore` input | no | "" |
| token | GitHub token used to fetch changed files from Github's API. | no | ${{ github.token }} |
| api_url | Github API URL. | no | ${{ github.api_url }} |
| use_rest_api | Force the use of Github's REST API even when a local copy of the repository exists | no | false |
| fail_on_initial_diff_error | Fail when the initial diff fails. | no | false |
| fail_on_submodule_diff_error | Fail when the submodule diff fails. | no | false |
| negation_patterns_first | Apply the negation patterns first. NOTE: This affects how changed files are matched. | no | false |
| matrix | Output changed files in a format that can be used for matrix jobs. Alias for setting inputs `json` to `true` and `escape_json` to `false`. | no | false |
| exclude_submodules | Exclude changes to submodules. | no | false |
| fetch_missing_history_max_retries | Maximum number of retries to fetch missing history. | no | 20 |
| use_posix_path_separator | Use POSIX path separator `/` for output file paths on Windows. | no | false |
| tags_pattern | Tags pattern to include. | no | * |
| tags_ignore_pattern | Tags pattern to ignore. | no | "" |