APTUI is a terminal user interface (TUI) written in Go for managing APT packages. Browse, search, install, remove and upgrade packages — all without leaving the terminal.
Built with Bubble Tea , Lip Gloss and Bubbles .
Scrollable
Browse all packages — lists every available APT package with version and size info loaded lazily
Search & filter — single bar for fuzzy search and structured filters (section, architecture, size, status and more) (docs )
Column sorting — sort packages by name, version, size, section or architecture (ascending/descending)
Tabs — switch between All , Installed and Upgradable views
Multi-select — mark multiple packages with space, then bulk install/remove/upgrade
Mouse support — click to select packages, click again to toggle selection, click column headers to sort
Parallel downloads — installs and upgrades use parallel downloads by default for faster operations
Transaction history — every operation is recorded; undo (z) or redo (x) past transactions
Fetch mirrors — detect your distro, test mirror latency, and apply the fastest sources
PPA management — list, add, remove, enable and disable PPA repositories (docs )
Cleanup — dedicated tab listing autoremovable packages; clean them all with c
Error log — all errors are captured and shown in a dedicated tab with source, timestamp and full message detail
Pin favorites — pin packages with F to keep them at the top of the list (📌); pins are persisted across sessions
Export / Import — export installed packages to a JSON file (E) and import from a file to restore your environment (I)
Inline detail panel — shows package metadata (version, size, dependencies, homepage, etc.)
curl -fsSL https://mexirica.github.io/aptui/public-key.gpg | sudo gpg --dearmor -o /usr/share/keyrings/aptui-archive-keyring.gpg
echo " deb [signed-by=/usr/share/keyrings/aptui-archive-keyring.gpg] https://mexirica.github.io/aptui/ stable main" | sudo tee /etc/apt/sources.list.d/aptui.list
sudo apt update && sudo apt install aptui
go install github.com/mexirica/aptui@latest
git clone https://github.com/mexirica/aptui.git
cd aptui
go build -o aptui .
sudo mv aptui /usr/local/bin/
# Run with sudo to allow package management operations (install, remove, upgrade)
sudo aptui
Key
Action
↑ / k
Move up
↓ / j
Move down
pgup / ctrl+u
Page up
pgdown / ctrl+d
Page down
tab
Switch tab (All → Installed → Upgradable → Cleanup → Errors)
Key
Action
/
Open search/filter bar
enter
Confirm search / apply filter
esc
Clear search / filter / go back
vim # fuzzy search for "vim"
section:editors vim # filter by section + fuzzy search combined
installed size>10MB # installed packages larger than 10 MB
section:utils order:name # packages in "utils" section, sorted A→Z
order:size:desc # all packages sorted by size, largest first
See the full search & filter documentation for all available options.
Key
Action
space
Toggle select current package
A
Select / deselect all filtered packages
click
Select a package (click again to toggle check)
Key / Mouse
Action
Click column header
Sort by that column (click again to reverse, third click to clear)
/ + order:name
Sort by name via query
/ + order:size:desc
Sort by size descending via query
Key
Action
i
Install package (or all selected)
r
Remove package (or all selected)
u
Upgrade package (or all selected)
G
Upgrade all packages (apt-get upgrade)
p
Purge package (or all selected)
c
Clean up all autoremovable packages
F
Pin / unpin package (or all selected)
E
Export installed packages to JSON file
I
Import packages from JSON file
U
Run apt-get update
ctrl+r
Refresh package list
Key
Action
t
Open transaction history
z
Undo selected transaction
x
Redo selected transaction
f
Fetch and test mirrors
Key
Action
P
Open PPA list
a
Add a new PPA
r
Remove selected PPA
e
Enable / disable selected PPA
esc
Back to package list
Key
Action
h
Toggle full help
q / ctrl+c
Quit