Neo-tree.nvim is a Neovim plugin for browsing the file system and other tree-like structures with flexible display options including sidebars, floating windows, and netrw-style layouts.
The plugin addresses the need for a reliable, polished file explorer within Neovim by providing multiple viewing modes that adapt to different workflows. It renders trees using the nui.nvim library for UI components and plenary.nvim for filesystem operations, allowing users to switch between sidebar, floating window, and split-style presentations. The tool includes features like automatic file watching via libuv, intelligent file following that keeps the tree synchronized with the current buffer, cross-instance clipboard syncing, and proper gitignore respect.
Neo-tree suits developers who want a file explorer that behaves predictably without the quirks common to Neovim sidebars. It works well for users who value stability and smooth interaction over frequent feature additions. The plugin distinguishes itself through careful attention to user experience details: it prevents other buffers from hijacking its window, maintains proper scroll position, avoids requiring manual refresh, and intelligently manages focus. The tool requires Neovim 0.8 or later and depends on nui.nvim and plenary.nvim as core dependencies.
The project maintains a strict policy against breaking changes, offering opt-in branches when major updates are necessary rather than forcing users into disruptive upgrades. Development prioritizes stability and intuitive behavior, with the maintainers explicitly inviting issue reports for anything that feels janky, slow, broken, or unintuitive. The codebase is written in Lua and actively maintained with attention to the details that distinguish a polished plugin from a merely functional one.