Terminal file manager for browsing directories, picking files, and running file actions or plugins from the shell.
$brew install nnn
AI Analysis
nnn is a fullscreen terminal file manager for browsing local directories, selecting files, and triggering file actions or plugins from one keyboard-driven interface. It also exposes picker and shell-handoff paths that let scripts feed in candidate files or capture the resulting selection.
What It Enables
- Browse directory trees, filter and sort entries, inspect file details, and perform copy, move, rename, delete, archive, and open workflows from one terminal UI.
- Feed a scripted list of NUL-separated paths on stdin, then pick one or more results back out to stdout or a file with
-pfor shell wrappers and editor integrations. - Trigger plugins or shell commands against hovered or selected files for previews, diffs, uploads, mounts, clipboard actions, and other local file tasks.
Agent Fit
- It can participate in inspect-select-act loops through stdin listings, picker output,
NNN_TMPFILEquit-to-cd integration, andNNN_FIFOnotifications for the hovered path. - Exported state is plain text or NUL-delimited paths, and most useful actions still happen inside the fullscreen TUI rather than stable non-interactive subcommands.
- Best fit is a shared human-agent file workspace or interactive picker, not a headless replacement for core shell file utilities.
Caveats
- Plugin power depends on external tools and trusted scripts; many bundled plugins are wrappers around other CLIs.
- Most functionality assumes an interactive terminal session, and there is no JSON output mode for unattended parsing.