canido.dev
Projects/sharkdp / fd

fd

A simpler, faster alternative to find

Get it on GitHub
Unclaimed

Built by @sharkdp on GitHub. This page was written by @iluxav from public sources, last updated for v10.5.0 (2026-08-26), and may lag behind new releases.

Maintain fd? Claim it
v10.5.0 / 2026-08-267 things you can do8 changes to know before upgradingFollow (Atom feed)

Find files and directories by name with a short command, skipping hidden and .gitignore'd files by default, and run commands on the results.

What you can do with it

Find files and directories whose names match a pattern, skipping hidden and .gitignore'd files by default.

Present at v8.7.1

Include hidden files or files your ignore rules exclude when you need them.

Present at v8.7.1

Limit results to a file extension or a type such as files, directories, symlinks or executables.

Present at v8.7.1

Find files changed within a time span or of a given size.

Present at v8.7.1

Run a command on every result, in parallel, or once with all results.

Present at v8.7.1

Print each result with a template, for example just the file name or the path without its extension.

Since v10.1.0

Before you upgrade

Newest first
v10.5.02026-08-26

A placeholder is no longer accepted as the executable for `--exec-batch`; name the command explicitly (it is still allowed for `--exec`).

Action requiredAffects: Scripts that use a placeholder such as `{}` as the program for `-X/--exec-batch`
Read the evidence
v10.5.02026-08-26

Control characters and bidirectional override characters in file names are sanitized when output goes to a terminal.

Behavior changedAffects: Users with unusual characters in file names
Read the evidence
v10.4.22026-03-10

`--print0` with `--exec` now prints a `\0` after each entry's command output.

Behavior changedAffects: Scripts combining `--print0` with `--exec`
Read the evidence
Show 5 older
v10.3.02025-08-26

Months and years now follow the calendar instead of a fixed number of seconds.

Behavior changedAffects: Users of month and year spans in time filters
Read the evidence
v10.1.02024-05-08

Building now needs Rust 1.77.2 or newer.

Action requiredAffects: People building fd from source
Read the evidence
Release history 7
v10.5.02026-08-26

Find a file by its exact name, without substring matches.

Details

New `--exact` matches the whole file name literally and `--ignore-parent` overrides `--no-ignore-parent`; control characters in file names are sanitized on terminal output; a placeholder is refused as the program for `--exec-batch`.

v10.5.0.

Improved: Find files and directories whose names match a patt…Action required: Run a command on every result, in parallel, or once…Behavior changed: Find files and directories whose names match a patt…

Seeded by @iluxav with Claude Code (canido)

Read the evidence
v10.4.22026-03-10

Skip cache directories by the marker file they contain.

Details

New `--ignore-contain NAME` skips directories that contain an entry such as `CACHEDIR.TAG`; `--print0` with `--exec` separates each entry's output with `\0`. Groups v10.4.0 to v10.4.2.

v10.4.2; building needs Rust 1.90.0+, and Intel Macs and Windows 7 are no longer fully supported.

Improved: Include hidden files or files your ignore rules exc…Behavior changed: Run a command on every result, in parallel, or once…Action required

Seeded by @iluxav with Claude Code (canido)

Read the evidence
v10.3.02025-08-26

Run fd on Windows on ARM from the release binaries.

Details

Date parsing for `--changed-within` and `--changed-before` moved to a new library: `M` no longer means month, and months and years follow the calendar. aarch64 Windows binaries; `--mindepth` alias.

v10.3.0.

Action required: Find files changed within a time span or of a given…Behavior changed: Find files changed within a time span or of a given…

Seeded by @iluxav with Claude Code (canido)

Read the evidence
v10.2.02024-08-22

Click results to open them, with hyperlinks in supporting terminals.

Details

New `--hyperlink` option adds OSC 8 hyperlinks; Debian packages include an `fdfind` symlink.

v10.2.0; needs a terminal with hyperlink support.

Added: Turn results into clickable hyperlinks in terminals…

Seeded by @iluxav with Claude Code (canido)

Read the evidence
v10.1.02024-05-08

Print each result with your own template, such as only the file name or a path without extension.

Details

New `--format` template for output; `--strip-cwd-prefix` takes `always`, `never` or `auto`; `-t dir` alias; `@seconds` dates in time filters. Groups v10.0.0 and v10.1.0.

v10.1.0; building from source needs Rust 1.77.2+.

Added: Print each result with a template, for example just…Behavior changed: Include hidden files or files your ignore rules exc…Improved: Find files changed within a time span or of a given…Action required

Seeded by @iluxav with Claude Code (canido)

Read the evidence
v9.0.02023-12-19

Search large directory trees several times faster.

Details

Full traversals are 6 to 13 times faster; `-t c` and `-t b` find character and block devices; `.git/` is skipped with `--hidden`.

v9.0.0.

Improved: Find files and directories whose names match a patt…Improved: Limit results to a file extension or a type such as…Behavior changed: Include hidden files or files your ignore rules exc…

Seeded by @iluxav with Claude Code (canido)

Read the evidence
v8.7.12023-10-20
Starting point

Find files by name with `fd PATTERN` instead of a long `find` command.

Details

State as of v8.7.1: regex or glob patterns, smart case, colored output, and hidden and gitignored files skipped by default.

Prebuilt binaries and distribution packages (`fd-find`, command `fdfind` on Debian and Ubuntu).

Added: Find files and directories whose names match a patt…Added: Include hidden files or files your ignore rules exc…Added: Limit results to a file extension or a type such as…Added: Find files changed within a time span or of a given…Added: Run a command on every result, in parallel, or once…

Seeded by @iluxav with Claude Code (canido)

Read the evidence