Fuzzy by default.
Type a project name, path, or typo, then press Enter. Every word must match, but the order does not matter.

Local-first / inline project finder
Find your fucking Folder. WTFIS searches locally, handles fuzzy matches, and drops your shell into the folder you meant.
$ wtfis --help
Find your fucking Folder.
A local-first, inline folder finder for shells that should know where you work.
USAGE
wtfis QUERY Search immediately
cdd QUERY Short alias for wtfis
HELP CONTROLS
Up / Down, Page Up / Page Down, Home / End to scroll
q, Esc, or Enter to closeInstall the binary for your operating system, then load its wrapper once. The wrapper is what lets WTFIS change your current shell after you pick a folder.
Homebrew installs both the binaries and shell wrappers.
For Bash, source wtfis.bash from the same Homebrew directory in ~/.bashrc.
Download wtfis-linux-x86_64.tar.gz from the latest GitHub release, then install the binaries and Bash wrapper.
For Zsh, source ~/.local/share/wtfis/wtfis.zsh from ~/.zshrc.
Download wtfis-windows-x86_64.zip from the latest GitHub release, then extract it and load the PowerShell wrapper.
Add . "$install\shell\wtfis.ps1" to your PowerShell $PROFILE to load the wrapper in future sessions.
Run WTFIS on its own for recent projects. Pass a project name, path, typo, or command preset when you already know what you want.
Running wtfis with no query does not scan anything. It opens with up to five recent folders, then starts searching when you type.
These skip the selector when WTFIS already has enough context to act.
| Command | Action |
|---|---|
wtfis --set | Configure roots, depth, colors, and commands. |
wtfis --up | Recover a failed cd with a global home search. |
wtfis --prev | Return to the previous directory. Requires shell integration. |
wtfis --root | Go to a project root detected from .git or manifest files. |
wtfis --last | Return to the most recent project selected by WTFIS. |
wtfis --where | Print the detected project root without changing directory. |
wtfis --home | Go directly to your home directory. |
wtfis --recent | Open recent projects in the selector. |
wtfis --help | Show the inline command guide. |
Type a project name, path, or typo, then press Enter. Every word must match, but the order does not matter.
A clear match opens immediately. If more than one folder fits, WTFIS leaves the choice with you.
Matching stays on this machine. Paths and project data do not leave it. Semantic search is not here yet.
WTFIS checks every layer up to the depth you set. Shallow matches rank first.
Type / in the selector to browse command presets. Run one immediately, or attach it to a project for later.
| Input | Action |
|---|---|
/ | Browse configured command presets. |
/opencode | Enter the project and run opencode. |
/add | Attach a preset or custom command to a project. |
/exit | Leave command mode. |
/anything | Run any command after entering the project. |
| Control | Behavior |
|---|---|
Up / Down | Move through projects or commands. |
Enter | Open the selected project or run a command. |
Esc | Cancel, clear, or leave the current overlay. |
Mouse click | Select or open an item. |
Mouse wheel | Ignored inside the inline UI. |
Page Up / Page Down | Scroll the help guide. |
Home / End | Jump to the beginning or end of the help guide. |
q / Esc / Enter | Close the help guide. |
Run wtfis --set whenever you need to change roots, hidden folders, depth, colours, coffee reminders, or command presets.
exact_depth caps how far WTFIS looks. A value of 3 checks the first three layers below the root.
The wrapper keeps the selected path long enough to move your current shell after WTFIS exits. Homebrew installs it under share/wtfis and prints the setup command.
cat "$(brew --prefix wtfis)/share/wtfis/wtfis.zsh" >> ~/.zshrc source ~/.zshrc
cat "$(brew --prefix wtfis)/share/wtfis/wtfis.bash" >> ~/.bashrc source ~/.bashrc
If cd path fails, WTFIS suggests wtfis --up.