Terminal Upgrades for CLI Development
The terminal tools I use alongside Claude and other CLI agents
For many of us, starting to work with Claude Code, Codex, Gemini CLI, or other terminal-based AI agents has been an opportunity to rediscover the terminal as a working environment. Like most developers, I never really left the terminal — it was always one of the ways I interact with the computer — but over time it gave way to more work via the IDE, the browser, and desktop applications.
After starting to work with Claude and other CLI-based agents, I found myself spending more and more time in my terminal. Over time, I started adding various tools to make working in the terminal more convenient. Here are a few I’m using.
Just
Just is a tool I learned about from Isaac. It is an upgraded replacement for make, which means you can use it to run complex commands, including inheritance between commands and passing parameters to them.
I have a global justfile that lives at ~/.justfile for general-purpose tasks, including invoking AI agents to do simple tasks in the terminal. I can also include project-specific justfiles with project-specific commands.
Bat
Bat is a tool I discovered recently and like a lot. It is like cat but with wings. If you need to quickly view a text file, cat is the traditional way of doing this, but bat is much nicer. It has syntax highlighting and great formatting, and I find it convenient for looking at Markdown files, source code, or other text files when I need to view them quickly.
Eza
Eza is a fancy replacement for ls. It has nice color highlighting, shows icons for different file types, and can display files in trees or tables. I have aliases set up with ll as my default way of viewing files in a directory (replacing ls -la) and lt for viewing files in a tree. Eza has many options and is a useful tool to have around in the terminal.
alias ll=’eza -lah --git --group-directories-first --icons’
alias lt=’eza -l --tree --level=2 --git --icons’Yazi
When listing files or using commands is not enough, it is nice to have a file manager. Yazi is a fully-featured file manager with viewers for different file types (including images on terminals that support that), easy navigation between directories, and a multi-column view.
It launches quickly, is highly configurable, and is a good tool for working in the terminal in complex directory structures. One thing I often do when working with a coding agent is open a split terminal window with the agent on one side and Yazi on the other. I can see how files are changing, similar to how I would in an IDE or with a desktop file manager.
Micro
I usually use Visual Studio Code for editing files, but when working in the terminal it is often convenient to quickly edit a file with a terminal-based editor. I never got around to using Vi or Vim. I’ve used Emacs for many years, but it is slow to load, so not practical for quick edits.
I tried various editors including Nano and MSEdit (the rebooted terminal-based editor from Microsoft), but the one I settled on is Micro. Micro is a modern terminal-based editor written in Go. It is configurable, supports themes and syntax highlighting, and has all the standard keyboard shortcuts we’re used to.
Kudos — In addition to Isaac, who always has great tips, I also want to give a shout-out to Vincent D. Warmerdam from the CalmCode project and Marimo. I learn a lot from him about different tools and things I can use for programming, and I recommend following his tutorials.







This is really useful! Thanks for sharing. I'm going to try some of these out!
The split terminal setup with Yazi alongside the AI agent is clever. I've been doing someting similar but hadn't thought to use a proper file manger for it. The real-time visibility into file changes without constantly running ls commands would definitely save time. Do you find Yazi responsive enough for larger projects or does it start to lag when navigating directory trees with thousnds of files?