ConfigsJul 25, 2026·3 min read

Joshuto — Ranger-Like Terminal File Manager Written in Rust

A ranger-like terminal file manager written in Rust. Joshuto provides a fast, keyboard-driven multi-pane file browser with Vim-like keybindings, file previews, and extensive customization through TOML configuration files.

Agent ready

Ready-to-run agent install

This asset can be installed after the agent chooses its runtime, checks the plan, and runs the matching command.

Native · 98/100Policy: allow
Agent surface
Any MCP/CLI agent
Kind
Skill
Install
Single
Trust
Trust: Established
Entrypoint
Joshuto File Manager Guide
Direct install command
npx -y tokrepo@latest install e09d331c-8805-11f1-9bc6-00163e2b0d79 --target codex

Run after dry-run confirms the install plan.

Introduction

Joshuto is a terminal file manager written in Rust, inspired by the popular ranger file manager. It provides a three-pane Miller columns interface for navigating the filesystem with Vim-style keybindings. Joshuto aims to deliver the same workflow as ranger with improved performance through Rust's native speed and memory safety, while offering extensive configuration through TOML files.

What Joshuto Does

  • Provides a three-column Miller layout showing parent, current, and child directories simultaneously
  • Supports Vim-like keybindings for navigation, selection, and file operations
  • Previews files and directories in the third pane using configurable external tools
  • Handles bulk file operations including copy, move, delete, and rename with queued workers
  • Offers tab support for working with multiple directories in the same session

Architecture Overview

Joshuto is built entirely in Rust using the crossterm library for terminal rendering, making it cross-platform without ncurses dependency. The architecture follows an event-driven model where user input is mapped to commands through a configurable keymap. File operations run in background worker threads to keep the UI responsive during large copy or move operations. Configuration is split across multiple TOML files covering keybindings, theming, mimetype associations, and file previews.

Self-Hosting & Configuration

  • No server setup needed; Joshuto runs as a standalone terminal application
  • Keybindings are configured in keymap.toml with full support for custom command mappings
  • File previews are configured in preview.toml specifying external tools per file type
  • Theming and colors are defined in theme.toml for customizing the visual appearance
  • Mimetype-based file opening rules are set in mimetype.toml for launching external programs

Key Features

  • Written in Rust for fast startup time and efficient memory usage compared to Python-based alternatives
  • Asynchronous file operation workers that process copy, move, and delete jobs in the background
  • Tab support allowing multiple directory views within a single terminal instance
  • Highly configurable through separate TOML files for keybindings, themes, previews, and mimetypes
  • Bulk rename support using external editors for batch file renaming workflows

Comparison with Similar Tools

  • ranger: Python-based terminal file manager; Joshuto offers similar UX with faster performance through Rust
  • lf: Go-based terminal file manager; Joshuto provides a more ranger-like experience with Miller columns
  • nnn: Minimalist C file manager focused on speed; Joshuto offers a richer three-pane interface
  • Yazi: Newer Rust terminal file manager with async I/O; Joshuto is more established with ranger-style workflow
  • Midnight Commander: Two-pane orthodox file manager; Joshuto follows the Miller columns paradigm instead

FAQ

Q: Can I migrate my ranger configuration to Joshuto? A: Not directly, as Joshuto uses TOML configuration files with a different format. However, the keybinding concepts are similar enough to translate manually.

Q: Does Joshuto support image previews in the terminal? A: Yes, Joshuto can display image previews using protocols like Kitty graphics protocol or sixel, depending on your terminal emulator.

Q: Is Joshuto a drop-in replacement for ranger? A: Joshuto aims for a similar workflow but is not a drop-in replacement. Some ranger features may differ or be absent.

Q: Does Joshuto support mouse input? A: Mouse support is limited. Joshuto is designed primarily for keyboard-driven navigation.

Sources

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets