Yazi is a terminal file manager written in Rust that prioritizes speed through asynchronous I/O and concurrent task handling.
The tool addresses the need for responsive file management in terminal environments by building on non-blocking async I/O, where all file operations run asynchronously and CPU-intensive tasks spread across multiple threads. This architecture enables real-time progress updates, task cancellation, and priority-based scheduling. The manager includes built-in image protocol support, code highlighting, and image decoding with preloading to accelerate file loading. It offers a concurrent plugin system using Lua for UI customization and functional extensions, a virtual filesystem layer for remote file management, and a data distribution service using a client-server model for cross-instance communication without requiring a separate server process.
Yazi suits developers and power users who spend significant time in terminal environments and want file management without leaving the command line. It integrates with common tools like ripgrep, fd, fzf, and zoxide. The tool provides vim-like keybindings and components, multi-tab support, bulk operations, visual mode, and a package manager for plugins and themes. Those accustomed to traditional GUI file managers will find familiar features like drag-and-drop, trash bin, and mouse support alongside terminal-native capabilities.
The project is in heavy development with breaking changes expected, though it is documented as suitable for daily use. Development activity shows ongoing work across multiple areas including core functionality, plugin ecosystem expansion, and documentation. The maintainers actively engage with the community through Discord and Telegram channels, indicating responsive communication around the tool's evolution.