Skip to main content

CmdFinder

CmdFinder is a handy terminal-based user interface (TUI) that lets you fuzzy-search, browse, and execute commands from your shell history. It’s built with Textual and RapidFuzz.

Img

CmdFinder search view

Features

  • 🔍 Fuzzy Search: Quickly find commands even if you don’t remember the exact syntax.
  • 🐚 Shell Support:
    • Zsh: ~/.zsh_history
    • Bash: ~/.bash_history
  • ⚡ Instant Execution: Pick a command and run it straight away in your shell.
  • 🧭 Vim-like Navigation: Move around with j / k.
  • 🕒 Timestamps: Toggle timestamps on or off.
  • 🎨 Modern Interface: Built with Textual for a clean look.

Requirements

  • Python 3.10+
  • Bash/Zsh or compatible shell
  • Read access to history files

Installation

1. Install via pip

pip install cmdfinder

2. Setup Background Service (One-time)

Run this after installation:

cmdfinder-setup

3. Run the App

cmdfinder

or simply:

cf

Troubleshooting

If your system can't find cmdfinder or cf, add ~/.local/bin to your PATH.

Bash:

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

Zsh:

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

Install from Source

git clone https://github.com/pranav5127/CmdFinder.git
cd cmdfinder

Optional: Create Virtual Environment

python -m venv .venv
source .venv/bin/activate

Install in Editable Mode

pip install -e .

After installing from source, run:

cmdfinder-setup

Usage

Start the TUI with:

cmdfinder

Key Bindings

Key Action
j Move down
k Move up
↓ / ↑ Move cursor
Ctrl+s Focus search
l / Ctrl+l Focus list
t Toggle timestamps
Enter Run selected command
q Quit

License

CmdFinder is released under the MIT License. Enjoy!

Metadata

Release files for cmdfinder 2.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cmdfinder 2.3.0
File Size Uploaded
cmdfinder-2.3.0.tar.gz 11.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cmdfinder 2.3.0
File Interpreter ABI Platform
cmdfinder-2.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 24.2 kB

Release files / cmdfinder-2.3.0.tar.gz

Download URL cmdfinder-2.3.0.tar.gz
Size 11.4 kB
Tags Source
SHA-256 checksum
How to use checksums
0bab90460bafa96068930689b4fce24b3885a51baba471f6586fc22497a25f08
BLAKE2b-256 checksum
How to use checksums
79e7ac69cdb1ad5bb942c02471080d06d60c034ce44d9ed10ea13badd09d2b25
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.12

Release files / cmdfinder-2.3.0-py3-none-any.whl

Download URL cmdfinder-2.3.0-py3-none-any.whl
Size 12.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4b72a17bf5bcba95a4be450098b98a1ff3b39153b8e4dc4051d0860b47fa921a
BLAKE2b-256 checksum
How to use checksums
eff49171def86eddc4b191e8aa5b05052573a84c818448677f3ec701fb21c6ab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.12

Release history Release notifications | RSS feed

This release

2.3.0 This release

2 release files

2.2.2

2 release files

2.2.1

2 release files

2.2.0

2 release files

2.1.0

2 release files

2.0.0

2 release files

1.1.0

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page