Terminal file manager for navigating directories, selecting files, and running shell-integrated file actions.
$env CGO_ENABLED=0 go install -ldflags="-s -w" github.com/gokcehan/lf@latest
AI Analysis
lf is a fullscreen terminal file manager for browsing directories, marking files, previewing content, and handing paths back to the shell or other commands. It is aimed at keyboard-driven local filesystem work rather than headless automation.
What It Enables
- Browse large directory trees, jump between locations, mark files, and perform copy, move, rename, delete, and open workflows from one terminal UI.
- Return the last visited directory to the shell or export selected file paths, which makes lf usable as a
cdhelper or interactive file picker. - Send commands to running lf clients and query state such as visible files, history, jumps, mappings, or custom commands through the built-in server.
Agent Fit
- The command surface is stable and shell-friendly for wrapper workflows like
lf -print-last-dir,lf -print-selection, andlf -remotequeries. - All useful exported state is plain text, and the primary experience is a fullscreen TUI, so unattended parsing and control are limited.
- Best fit is paired workflows where an agent or script cooperates with a human-operated file manager session rather than replacing it.
Caveats
- Most functionality assumes an interactive terminal session; the headless server is mainly for coordinating clients and remote commands, not full standalone file automation.
- Shell
cdintegration depends on helper scripts frometc/rather than thelfbinary alone.