12 Modern CLI Tools Every Developer Should Use in 2026
12 modern CLI tools that will transform your terminal workflow in 2026. From fzf to ripgrep, upgrade your command-line productivity.
NexaSphere Team
Author

Developers spend roughly 70% of their workday in the terminal. Yet many still rely on the same tools that shipped with Unix decades ago. The command line has quietly entered a renaissance—modern CLI tools are faster, more intuitive, and increasingly AI-powered.
These 12 tools will transform your terminal workflow in 2026. They're not just incremental improvements over classic commands—they fundamentally change how you interact with your file system, code, and development environment.
Quick Reference: Modern CLI Tools
| Tool | Replaces | Why It's Better |
|---|---|---|
| fzf | Ctrl+R, find | Fuzzy search everything |
| ripgrep (rg) | grep | 10x faster, better defaults |
| bat | cat | Syntax highlighting, Git integration |
| eza | ls | Icons, colors, Git status |
| fd | find | Simpler syntax, faster |
| zoxide | cd | Smart directory jumping |
| tmux | screen | Modern terminal multiplexer |
| lazygit | git CLI | Visual Git interface |
| htop/btop | top | Beautiful system monitoring |
| tldr | man | Practical command examples |
| delta | diff | Syntax-highlighted diffs |
| Claude Code | - | AI in your terminal |
File Navigation and Search
1. fzf - The Fuzzy Finder
fzf is perhaps the single most impactful CLI tool you can install. It's a general-purpose fuzzy finder that integrates with everything—your shell history, file system, Git branches, and any text input.
What it does: Type a few characters and fzf instantly filters thousands of items to find matches. Press Enter to select, and the result pipes to whatever command you're running.
Key use cases:
- Shell history: Press
Ctrl+Rand fuzzy search through every command you've ever run - File finding:
fzfin any directory shows all files recursively, filtered as you type - Git branches:
git checkout $(git branch | fzf)lets you pick branches visually - Process killing:
ps aux | fzf | awk '{print $2}' | xargs kill
Installation:
# macOS
brew install fzf
# Ubuntu/Debian
sudo apt install fzf
# Enable shell integration
$(brew --prefix)/opt/fzf/install
Why it matters: Once you use fzf, typing exact names feels primitive. Fuzzy matching is how our brains actually work.
2. ripgrep (rg) - Faster Than grep
ripgrep has become the de facto replacement for grep in modern development. VS Code uses it internally for search. It's so much faster than grep that benchmarks feel unfair.
What makes it better:
- Speed: Searches large codebases 10-100x faster than grep
- Smart defaults: Ignores .gitignore patterns, binary files, and hidden directories
- Familiar syntax: Same regex patterns you know, but with sensible flags
- Pretty output: Colored matches with line numbers by default
Common usage:
# Search for "TODO" in all files
rg TODO
# Search only in JavaScript files
rg "function" --type js
# Case-insensitive search
rg -i "error"
# Show context around matches
rg "import" -C 3
Installation:
# macOS
brew install ripgrep
# Ubuntu/Debian
sudo apt install ripgrep
3. fd - A Simpler find
The find command is powerful but its syntax is notoriously obtuse. fd provides a modern alternative with intuitive syntax and sensible defaults.
Comparison:
# Traditional find
find . -name "*.js" -type f
# fd equivalent
fd -e js
Key improvements:
- Simple syntax: Patterns work like you'd expect
- Speed: Uses parallel processing
- Smart ignoring: Respects .gitignore by default
- Colorized output: Easier to scan results
Common usage:
# Find all Python files
fd -e py
# Find directories named "test"
fd -t d test
# Find and delete all .log files
fd -e log -x rm
# Find files modified in last 24 hours
fd --changed-within 24h
4. zoxide - Smarter cd
zoxide learns which directories you visit most and lets you jump to them with partial names. After a few days of use, you'll never type full paths again.
How it works:
# First, visit directories normally
cd ~/Projects/nexasphere/content/posts
# Later, jump directly with partial match
z posts # Jumps to the most likely "posts" directory
z nex # Jumps to nexasphere
z proj # Jumps to Projects
Installation:
# macOS
brew install zoxide
# Add to your .zshrc or .bashrc
eval "$(zoxide init zsh)"
zoxide tracks "frecency" (frequency + recency), so directories you visit often and recently rank higher.
Better File Viewing
5. bat - cat with Wings
bat displays files with syntax highlighting, line numbers, and Git integration. It's a drop-in replacement for cat that makes reading code in the terminal pleasant.
Features:
- Syntax highlighting: Supports 100+ languages
- Line numbers: Always visible, easily referenced
- Git integration: Shows modifications inline
- Paging: Automatically pipes long output to a pager
Usage:
# View a file with highlighting
bat src/index.js
# Show all files matching a pattern
bat *.py
# Plain output (for piping)
bat -p file.txt | other_command
Pro tip: Alias cat to bat in your shell config:
alias cat="bat"
6. eza - A Modern ls
eza (formerly exa) replaces ls with a modern alternative featuring icons, colors, Git status indicators, and a tree view.
What it adds:
- Icons: File type icons for visual scanning
- Git status: Shows modified, staged, and untracked files
- Extended attributes: File sizes, permissions, dates in readable formats
- Tree view: Built-in recursive tree display
Common usage:
# Basic listing with icons
eza --icons
# Long format with Git status
eza -l --git
# Tree view
eza --tree --level=2
# All files including hidden
eza -a
Recommended aliases:
alias ls="eza --icons"
alias ll="eza -l --git --icons"
alias tree="eza --tree --icons"
Git and Version Control
7. lazygit - Git Visualization in Terminal
lazygit brings a visual Git interface to your terminal. No more memorizing complex Git commands—navigate with arrow keys and shortcuts.
What you can do:
- Stage files: Select individual files or hunks to stage
- Browse commits: Scroll through history with diffs
- Interactive rebase: Visual drag-and-drop reordering
- Branch management: Create, delete, merge branches visually
- Conflict resolution: Side-by-side diff views
Why it matters: Git's CLI is powerful but intimidating. lazygit provides the benefits of a GUI while keeping you in the terminal.
Installation:
# macOS
brew install lazygit
# Ubuntu
sudo add-apt-repository ppa:lazygit-team/release
sudo apt update
sudo apt install lazygit
8. delta - Beautiful Diffs
delta transforms Git diff output from walls of text into readable, syntax-highlighted comparisons. Once configured, all your git diff, git show, and git log -p commands look better.
Features:
- Syntax highlighting: Language-aware coloring
- Line numbers: Both sides visible
- Side-by-side view: Optional horizontal split
- Word-level highlighting: Shows exactly what changed within lines
Installation and setup:
# macOS
brew install git-delta
# Add to ~/.gitconfig
[core]
pager = delta
[interactive]
diffFilter = delta --color-only
[delta]
navigate = true
side-by-side = true
System and Process Management
9. htop / btop - System Monitoring
htop replaces the ancient top command with a beautiful, interactive process viewer. btop takes this further with even richer visualizations.
Improvements over top:
- Mouse support: Click to select, scroll, and sort
- Visual CPU bars: Easy load assessment
- Process tree: See parent-child relationships
- Intuitive controls: F-key shortcuts are visible on screen
btop extras:
- GPU monitoring: See graphics card usage
- Network graphs: Real-time bandwidth visualization
- Disk I/O: Storage activity tracking
Installation:
# macOS
brew install htop btop
# Ubuntu
sudo apt install htop
sudo snap install btop
10. tmux - Terminal Multiplexer
tmux lets you create multiple terminal sessions, split panes, and keep processes running even when you disconnect. Essential for remote development and long-running tasks.
Core concepts:
- Sessions: Independent terminal environments
- Windows: Tabs within a session
- Panes: Split views within a window
Essential commands:
# Start new session
tmux new -s project
# Detach (keeps running)
Ctrl+b d
# List sessions
tmux ls
# Reattach
tmux attach -t project
# Split horizontally
Ctrl+b %
# Split vertically
Ctrl+b "
Why it matters: SSH into a server, start a long process in tmux, disconnect, and reconnect later—your process kept running.
AI in the Terminal
11. Claude Code - AI-Powered CLI
Claude Code brings Anthropic's AI directly into your terminal. Unlike web-based chatbots, it runs locally and can read, edit, and create files in your project.
What it can do:
- Multi-file editing: Make coordinated changes across your codebase
- Git operations: Commits, branches, and diffs with AI assistance
- Explanations: Understand unfamiliar code without leaving terminal
- Refactoring: Describe what you want and watch it happen
Example workflow:
# Start Claude Code in your project
claude
# Then interact naturally
> Add error handling to all API routes
> Explain what the auth middleware does
> Create tests for the user service
Claude Code represents the future of CLI tools: AI that understands your project context and can execute complex tasks autonomously.
12. tldr - Practical man Pages
Traditional man pages are comprehensive but overwhelming. tldr provides community-maintained, practical examples for common commands.
Comparison:
# Traditional (pages of documentation)
man tar
# tldr (just what you need)
tldr tar
tldr output shows:
tar
Archiving utility.
Often combined with a compression method, such as gzip or bzip2.
- Create an archive from files:
tar cf target.tar file1 file2 file3
- Create a gzipped archive:
tar czf target.tar.gz file1 file2 file3
- Extract an archive in a target directory:
tar xf source.tar -C directory
Installation:
# macOS
brew install tldr
# Update the cache
tldr --update
Setting Up Your Modern Terminal
Here's a complete setup script to install all these tools on macOS:
#!/bin/bash
# Install Homebrew if needed
if ! command -v brew &> /dev/null; then
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
fi
# Install all tools
brew install fzf ripgrep fd bat eza zoxide git-delta htop btop tmux lazygit tldr
# Set up fzf shell integration
$(brew --prefix)/opt/fzf/install --all
# Initialize zoxide (add to .zshrc)
echo 'eval "$(zoxide init zsh)"' >> ~/.zshrc
# Configure Git to use delta
git config --global core.pager delta
git config --global interactive.diffFilter 'delta --color-only'
git config --global delta.navigate true
echo "Setup complete! Restart your terminal."
Recommended shell aliases (~/.zshrc):
# Modern replacements
alias ls="eza --icons"
alias ll="eza -l --git --icons"
alias la="eza -la --git --icons"
alias tree="eza --tree --icons"
alias cat="bat"
alias grep="rg"
alias find="fd"
# Shortcuts
alias lg="lazygit"
alias top="btop"
# fzf enhancements
alias preview="fzf --preview 'bat --color=always {}'"
Frequently Asked Questions
Are these tools compatible with my existing scripts?
Most modern tools are designed as drop-in replacements. However, scripts that parse exact output formats may need adjustment. Aliases work for interactive use but won't affect scripts unless explicitly changed.
Do I need to replace all my existing tools?
No. Start with one or two tools that address your biggest pain points. fzf and ripgrep deliver the most immediate impact. Add others as you get comfortable.
Will these tools work on Linux servers?
Yes. All tools mentioned work on Linux. Installation methods differ (apt instead of brew), but functionality is identical. Many are also available on Windows via WSL or native ports.
How do I remember all the new commands?
Start small. Install tldr and use it to learn one tool at a time. Aliases help muscle memory—if ls always runs eza, you don't need to remember new commands.
Do modern CLI tools have performance overhead?
Generally no. Tools like ripgrep and fd are actually faster than their classic equivalents. Visualization tools like btop use slightly more resources but the overhead is negligible on modern hardware.
Can I use these with my existing IDE?
Yes. Many IDEs (including VS Code) integrate with tools like ripgrep internally. Your terminal tools and IDE can coexist and complement each other.
Conclusion
The terminal doesn't have to feel stuck in the 1980s. Modern CLI tools bring the polish and intelligence of graphical applications to the command line while preserving the speed and scriptability that make terminals powerful.
Start with these three tools that deliver the biggest immediate impact:
- fzf - Fuzzy find everything
- ripgrep - Search code instantly
- bat - Read files with syntax highlighting
Install them today and you'll wonder how you ever worked without them. The modern terminal isn't just about nostalgia or minimalism—it's genuinely the fastest way to work once you have the right tools.
Related Articles
Want more developer productivity tips? Check these out:
- 15 Best VS Code Extensions for Developers in 2026 — Essential extensions for your editor
- AI Coding Assistants Compared: Cursor vs Copilot vs Codeium — Find the right AI coding tool
- Screenshot Tools for Developers in 2026 — Better tools for documentation and bug reports
- Building Chrome Extensions: A Beginner's Guide — Start building browser tools
Found this useful? Share it with a developer still using ancient CLI tools. And for visual content, check out Screenshot Beautifier to make your terminal screenshots look professional.
Related from NexaSphere: Building API integrations? API Dash is a REST and GraphQL client that lives inside Chrome DevTools. Free.
Get more insights like this
Join our newsletter for weekly deep dives on AI tools, Chrome extensions, and software engineering.