showcase.mp4
embedded-terminal.mp4
preview.mp4
animation.mp4
- Mouse: click, rubber-band select, right-click menus, drag and drop.
- Browse files in grid or list view.
- Sidebar with places, bookmarks, drives, trash, recent, starred.
- Search as you type, including inside subfolders.
- Sort by name, size, date.
- Copy, move, paste, duplicate, rename.
- Bulk rename multiple files at once.
- New file / new folder inline.
- Drag and drop between panes and from other apps.
- Trash, restore, delete forever, empty trash.
- Undo / redo file operations.
- Notifications that grow with the message — click a cut one to read the rest.
- Preview text, code, images, videos, folders.
- Open files + Open With app picker.
- Properties dialog with permissions editing.
- Tabs + dual pane.
- Connect to network servers.
- Extract and compress archives.
- Browse inside archives (tar, zip, 7z, rar) as folders.
- Eject USB drives safely; plug and unplug detected live.
- Set tfm as your default file manager.
- Embedded terminal.
- Clipboard copy/paste with other apps.
- Open privileged files with sudo prompt.
- Command palette to search and run any action.
- Customizable themes, settings GUI, keybinds.
- Plugin support with hot reload (source builds only — see Plugins).
- …and many more.
- Linux.
- Any terminal (need image support for the full experience).
- Everything below is optional.
xdg-open(opening files)magick(extra photo thumbnails)gio(starred files and servers)udisksctl(USB drives)ffmpeg(video thumbnails)wl-clipboard/xclip(copy and paste with other apps)tar/unzip/zip/7z(zip files and archives)
curl -fsSL https://raw.githubusercontent.com/clarkarch/tfm-tui/main/install.sh | bashThe main branch, built on your machine — needs git and Bun 1.4 or newer:
curl -fsSL https://raw.githubusercontent.com/clarkarch/tfm-tui/main/source.sh | bashOr manually build from source:
git clone https://github.com/clarkarch/tfm-tui.git
cd tfm-tui
bun install --frozen-lockfile
bun run check && bun test
bun run compile && cp dist/tfm ~/.local/bin/tfm runs a patched OpenTUI fork. It is
published to npm as @clarkarch/opentui-fork
and pulled in as a normal dependency — there is nothing extra to clone or build.
esc → About or:
tfm updatetfm uninstallenteropen ·f2rename ·backspace/alt+upup ·alt+homehome ·escapemenu ·f1help ·ctrl+pcommand palettectrl+c/x/v/dcopy/cut/paste/duplicate ·ctrl+z/yundo/redotabswitch focused pane ·f5/f6copy/move to the other pane (dual pane)ctrl+t/wnew/close tab ·ctrl+tabswitch tab (per pane)deletetrash ·alt+enterproperties ·ctrl+qquitctrl+aselect all ·spacetoggle ·shift+arrowsextend selectionalt+left/righthistory back/forward ·ctrl+shift+n/ctrl+alt+nnew folder/filectrl+shift+ddual pane ·ctrl+=/-zoom ·ctrl+rreload places ·ctrl+alt+rrestarttfm updateinstalls the newest release (esc→ About → Update checks on demand)ctrl+hhidden ·ctrl+lpath bar ·ctrl+ggrid/list ·f3preview ·ctrl+\``/f4terminal ·ctrl+shift+s` connect to serverarrowsmove ·pageup/pagedownpage ·home/endfirst/last
Everything is remappable: esc → Settings → keys.
esc → Settings or:
TFM_CONFIG=/custom/path/config.toml tfmSee config.example.toml.
esc → Plugins or:
tfm plugins search
tfm plugins add <url|id>
tfm plugins new my-pluginSee docs/plugins.md.
The release binaries are compiled ahead of time without
--aot-allow-code-from-disk, so tfm does not offer plugins there:tfm pluginssays so and the plugin commands are off. A build from source (below) still has plugins. The reason is a policy, not a limit of the binary — see docs/aot-evaluation.md.
- Cross-app drag & drop is kitty-only.
- Mouse on the Linux console (TTY) needs
gpmrunning. - Custom kitty themes can misbehave.
