A terminal UI editor for your shell PATH environment variable, built with
RatatuiRuby.
View every entry in your $PATH, see at a glance which directories are
missing or duplicated, add, remove, and reorder entries, then save the result
as a sourceable shell file that persists across sessions.
Visit Gumroad for details.
- Full-screen TUI built on RatatuiRuby
- Colour-coded entries: red = missing on disk, cyan = duplicate, normal = ok
- Persists edits to
~/.local/share/pathos/pathos.sh— loads that file on next launch - Add / delete / reorder entries interactively
- One-command deduplication
- Undo any edit (
u) - Unsaved-changes indicator and quit confirmation prompt
~and$VARexpansion for existence checks and saved output- Full-path detail popup for truncated entries (
p/Enter) pathos install— one-time shell integration setuppathos env— print current PATH forevalin the running shell
- Ruby 3.0+
After purchasing from Gumroad, do the following to to install Pathos CLI:
- Download
pathos-install.shscript. - Change script permissions to be executable:
chmod +x pathos-install.sh - Run the script:
./pathos-install.sh - Enter your license key (provided in the Gumroad email)
Run this once after installing to make saved changes take effect automatically in every new shell session:
pathos installThis appends the following line to your ~/.zshrc (or ~/.bashrc if no
.zshrc is found):
source ~/.local/share/pathos/pathos.shTo apply your saved PATH to the current shell without opening a new terminal:
eval "$(pathos env)"pathos # launch the TUI
pathos install # add source line to ~/.zshrc or ~/.bashrc
pathos env # print export PATH=... for eval
pathos version # print version
pathos help # print usage| Key | Action |
|---|---|
j / ↓ |
Move cursor down |
k / ↑ |
Move cursor up |
g g |
Jump to top of list |
G |
Jump to bottom of list |
| Key | Action |
|---|---|
n |
Add a new path entry (opens prompt) |
d |
Delete the selected entry |
x |
Remove all duplicate entries |
K |
Move selected entry up |
J |
Move selected entry down |
u |
Undo last edit |
| Key | Action |
|---|---|
p / Enter |
Show full path detail for selected entry |
? |
Toggle help screen |
| Key | Action |
|---|---|
s |
Save PATH to ~/.local/share/pathos/pathos.sh |
| Key | Action |
|---|---|
q |
Quit (prompts if unsaved) |
| Ctrl+C | Quit (prompts if unsaved) |
| Colour | Meaning |
|---|---|
| normal | Directory exists and appears only once |
| red | Directory does not exist on disk |
| cyan | Duplicate — already appears earlier in PATH |
pathos understands ~ and shell variables in path entries:
~/binis expanded to/Users/you/binfor existence checks and when saving$HOMEBREW_PREFIX/binand${HOMEBREW_PREFIX}/binare expanded using the current environment
The raw unexpanded string is always shown in the list and preserved in the detail view.
Any edit marks the title bar with [modified]. Pressing s saves and clears
the flag. If you press q with unsaved changes, pathos shows a confirmation
prompt — press y to quit without saving, or any other key to go back.
- On startup, pathos reads
~/.local/share/pathos/pathos.shif it exists; otherwise falls back to the current$PATH. - You edit the list interactively.
- Press
sto write~/.local/share/pathos/pathos.sh. - New shell sessions source that file automatically (after
pathos install).
Visit Gumroad for details.



