nnn

21k

Terminal file manager for browsing directories, picking files, and running file actions or plugins from the shell.

$brew install nnn
Language
C
Stars
21,367
Agent
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 -p for 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_TMPFILE quit-to-cd integration, and NNN_FIFO notifications 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.