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.






