# thefuck — Magnificent Command Corrector for Your Terminal > A CLI tool that corrects your previous console command by suggesting and running the right fix automatically. ## Install Save as a script file and run: # thefuck — Magnificent Command Corrector for Your Terminal ## Quick Use ```bash pip install thefuck # Add to ~/.bashrc or ~/.zshrc: eval $(thefuck --alias) # Then type a wrong command, and run: fuck ``` ## Introduction thefuck is a Python CLI app that listens for failed commands in your shell and proposes corrected alternatives. When you mistype a command, forget sudo, or use wrong flags, just type `fuck` and it will fix and re-run the command for you. ## What thefuck Does - Detects failed shell commands based on exit codes and stderr output - Matches failures against a library of built-in correction rules - Suggests the most likely corrected command automatically - Supports custom user-defined rules for project-specific workflows - Works across Bash, Zsh, Fish, PowerShell, and tcsh ## Architecture Overview thefuck intercepts the previous command's exit code and output via a shell alias. It then passes that context through a pipeline of rule matchers, each of which checks whether it can fix the error. Rules are plain Python modules with `match()` and `get_new_command()` functions. The highest-priority matching rule produces the corrected command, which is presented to the user or executed immediately based on configuration. ## Self-Hosting & Configuration - Install via pip: `pip install thefuck` or via Homebrew: `brew install thefuck` - Initialize the alias in your shell profile with `eval $(thefuck --alias)` - Configure settings in `~/.config/thefuck/settings.py` (timeout, rules, priority) - Set `require_confirmation = False` to auto-execute corrections without prompting - Add custom rules as Python files in `~/.config/thefuck/rules/` ## Key Features - Ships with 80+ built-in rules covering git, docker, pip, apt, cargo, and more - Learns from your corrections and adjusts rule priority over time - Supports instant mode for near-zero latency corrections - Custom aliases let you rename the command to anything you prefer - Extensible rule system with a simple two-function Python interface ## Comparison with Similar Tools - **ShellCheck** — static analysis for scripts; thefuck corrects interactive commands in real time - **zsh-autosuggestions** — suggests from history; thefuck actively fixes failed commands - **fuck (Ruby)** — earlier concept; thefuck has a much larger rule library and active maintenance - **pay-respects** — Rust alternative with faster startup but fewer built-in rules ## FAQ **Q: Does thefuck slow down my shell?** A: In normal mode the alias only activates when you explicitly type the trigger. Instant mode adds a small hook but is designed to stay under 100ms. **Q: Can I use a different trigger word?** A: Yes. Pass a custom name to the alias: `eval $(thefuck --alias fix)` and then type `fix` instead. **Q: Does it work with zsh and oh-my-zsh?** A: Yes. There is also a bundled oh-my-zsh plugin for convenience. **Q: Is it safe to auto-run corrections?** A: By default it asks for confirmation. You can enable auto-run, but review the rule list first to avoid surprises with destructive commands. ## Sources - https://github.com/nvbn/thefuck - https://github.com/nvbn/thefuck#installation --- Source: https://tokrepo.com/en/workflows/asset-b470ab44 Author: Script Depot