A terminal UI for removing commands from your shell history. Supports bash, zsh, and fish. Detects the active shell from $SHELL, reads the corresponding history file, and writes it back after you confirm deletions.
go install github.com/Lexographics/typo@latestOr build from source:
git clone https://github.com/Lexographics/typo.git
cd typo
go build -o typo .Add the binary to your PATH
typoLaunches an interactive picker over your history. Use the filter field to search.
| Key | Action |
|---|---|
| ↑ / ↓ | Move selection |
| Tab | Toggle selection on the current line |
| Enter | Delete selected entries and exit |
| Esc | Exit without changes |
Shows each distinct command once, ordered from most recent. Deleting a command removes all occurrences of it from the history file.
typo --singleLists every history entry individually. Zsh and fish entries include a timestamp prefix when available. Use this when you want to remove specific runs without deleting every occurrence of the same command.
- Changes are written directly to your history file. There is no undo.
- Avoid running typo while another shell session is writing to the same history file.
- Fish history uses a structured format; zsh uses extended timestamp lines. typo preserves the on-disk format expected by each shell.
- Requires
$SHELLto point at a supported shell. Other shells are rejected with an error.