A modern, mouse-first file manager with places sidebar, grid view, drag & drop, image thumbnails and more, right inside your terminal.
Experimental vibecoded software, expect rough edges. Don't test on files you can't afford to lose. If you want to test safely, use Podman: podman run --rm -it archlinux bash
This is still a terminal UI running inside your terminal, expect some visual/behavioral anomalies.
- Click, rubber-band select, right-click menus, inline rename.
- Drag files between folders (ctrl+drag), out to other apps, or in from outside. Cross-app drag is kitty-only.
- Places sidebar, GTK bookmarks, recent files, XDG trash with restore, clipboard.
- Network locations: connect to
sftp://,smb://, WebDAV, FTP… shares through gvfs (sidebar or right-click → Connect to Server…); saved connections live in your GTK bookmarks. Credentials are prompted in-app (passwords masked); ssh keys/agent work without prompting. - Embedded terminal (right-click → Open Terminal Here).
- Auto-hide panes: sidebar/preview/terminal collapse to the edge and slide back (animated) when the mouse nears them.
- Extract and compress archives (right-click).
- Image/video thumbnails, text syntax highlighting, folder sizes.
- Type-to-search, tabs, undo/redo, 30+ themes.
- Linux.
- Image thumbnails need the kitty graphics protocol (kitty, ghostty, WezTerm, Konsole…). Without it you get Nerd Font glyphs. Cross-app drag needs kitty.
- Optional tools (the installer lists what's missing):
rsvg-convert(icons and SVG thumbnails)magick(raster image thumbnails)ffmpeg(video thumbnails)gio(starred files, network locations)xdg-open(open files in their default app)udisksctl(mount/eject drives)wl-clipboard/xclip(clipboard with GUI apps)tar/unzip/zip/7z(archives)
curl -fsSL https://raw.githubusercontent.com/clarkarch/tfm-tui/main/install.sh | bashOr build from source:
bun install --frozen-lockfile
bun run check && bun test
bun run compile && cp dist/tfm ~/.local/bin/enteropen ·f2rename ·backspaceup ·escapemenuctrl+c/x/v/dcopy/cut/paste/duplicate ·ctrl+z/yundo/redoctrl+t/wnew/close tab ·ctrl+tabswitch tabdeletetrash ·alt+enterproperties ·ctrl+qquitctrl+hhidden ·ctrl+lpath bar ·ctrl+ggrid/list ·f9preview ·f4terminal ·ctrl+shift+sconnect to server
Everything is remappable: esc → Settings → keys.
~/.config/tfm/config.toml, see config.example.toml.
Override the path with TFM_CONFIG; XDG homes are honored. --debug writes a log.
TypeScript plugins in ~/.config/tfm/plugins/<name>/<name>.ts with full trust,
hot reload, commands/keybinds, context menus, previews, events, pre-op veto
hooks, and UI slots (render OpenTUI widgets into the statusbar / sidebar
footer). Install from a git URL in esc → Plugins, or:
tfm plugins search
tfm plugins add <url|id>
tfm plugins new my-pluginSee docs/plugins.md.
- Linux only.
- Thumbnails need the kitty graphics protocol; tmux hides them unless
allow-passthroughis on. - Cross-app drag & drop is kitty-only.
- Custom kitty themes can misbehave.

0 comments
log in to comment.