nnn CLI
nnn manages files in a terminal with selection, batch renaming, disk analysis, bookmarks and optional plugin extensions.
- 22,110 ★ on the repository
- Last commit
- BSD-2-Clause
Extended access
Why this level
- Bulk file actions and plugins can alter or delete data with user permissions.
Install
Manual install
Use the primary binary-installation guide. Do not present the Quickstart shell-function generator as an nnn installer; agree on bulk actions separately.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- Bulk file actions and plugins can alter or delete data with user permissions.
This is third-party code. Review the repository files before installing.
What it does
nnn opens a keyboard-driven terminal file manager. Users select files across directories, copy or move them, rename batches and inspect disk usage. Multiple contexts keep different directories accessible. Plugins add previews, comparisons and uploads, while picker mode passes paths to another program. nnn can execute commands and spawn a shell. It is a manual tool alongside an editor or agent; the main repository does not expose a dedicated MCP server.
Who it is for. Codebase maintainers selecting files across project directories and performing bulk operations manually in a terminal.
Good fit when
- Select files across several directories.
- Rename a set of files in a batch.
- Find directories consuming disk space in a project.
- Pick a file and return its path to an editor.
Not a fit when
- You need a ready-made file-management API for an agent.
- Plugins must never execute external commands.
- Operations must run without interactive human selection.
Example request
Explain manually selecting files across nnn directories and reviewing the list before moving them.Limitations
Install the binary separately using instructions for your system; the README Quickstart script creates a shell function and is not a binary installer. Rich previews and remote connections need dependencies for the selected plugins. Configuration often uses environment variables and shell integration, so carry it with the working environment. Deletion, moves and custom commands use current-user permissions; review the selected files before bulk operations.
How to disable. Quit nnn and remove any shell function you no longer need. Review plugins and environment settings separately.
FAQ
Does the Quickstart script install nnn?
No. It generates a configured shell function. Install nnn for your OS first.
Where are shortcuts listed?
Press `?` inside nnn, then start with navigation and current-context checks.
Can I select files across directories?
Yes. Review the collected selection before copying or moving it.
Are previews available?
Directories and text have built-in previews; plugins add formats with their own dependencies.
What are contexts?
Each context holds a working directory. Press `Tab` to cycle between them.
Discussion
No questions or reviews yet.
Related
CLI toolsClifm is a file manager that opens a batch of filenames in an editor and asks for confirmation before renaming them.
The terminal file manager helps users preview and organize project files before selecting material for an agent to work on.
superfile brings a file manager to the terminal with directory navigation, file operations, themes and configurable keys.
broot is a terminal file manager that calculates directory sizes in the background to show large folders before cleanup.
termscp is a terminal transfer client that opens remote configuration in your usual editor and synchronizes changes back.
An MCP server that lets an agent read files, search code and run commands in a workspace
README in short
File-picker mode and Vim/Neovim integrations are available. Plugins are separate from the main binary.