A pretty wrapper for your shell history.
Answers the questions you actually ask yourself at the terminal.
Raw shell history is a wall of noise. CTRL+R gets you one command at a time.
history | grep is fine, but you have to already know what you're looking for.
whatdidido surfaces the right view for each question — ranked, filtered, highlighted, and ready to act on.
~/.whatdidido/config.plistwhatdidido runs this.cd history, deduplicated and clean.set, show, reset. Set a custom history path or toggle color output.Install via Homebrew on macOS or Linux — no cloning, no building, no PATH wrangling. Requires Swift 6.2 or later if building from source.
Shell and OS are auto-detected from your environment — you rarely need to pass --shell or --os manually.
| Shell | macOS | Linux | Windows |
|---|---|---|---|
| zsh | ✔ | ✔ | — |
| bash | ✔ | ✔ | — |
| fish | ✔ | ✔ | — |
| PowerShell | — | ✔ | ✔ |
brew tap link-coder100788/whatdidido brew install whatdidido # Or in one command: brew install link-coder100788/whatdidido/whatdidido
# Update brew update && brew upgrade whatdidido # Uninstall brew uninstall whatdidido brew untap link-coder100788/whatdidido
git clone https://github.com/link-coder100788/WhatDidIDo cd WhatDidIDo make install # Custom install prefix make install PREFIX=~/.local # Uninstall make uninstall
make / make build Debug build make release Optimised release build make install Release + install to /usr/local/bin make uninstall Remove the installed binary make clean Clean build artefacts make test Run the test suite
swift build -c release cp .build/release/whatdidido /usr/local/bin/
// swift-tools-version: 6.2 dependencies: [ .package( url: "https://github.com/apple/swift-argument-parser", from: "1.3.0" ) ]
whatdidido version whatdidido 1.3.5 whatdidido debug shell: zsh os: MacOS history: /Users/you/.zsh_history color: true
Config lives at ~/.whatdidido/config.plist and is created automatically on first use. All settings are optional — sensible defaults apply out of the box.
Point to a custom history file. Useful for non-standard shell setups or multiple profiles.
Enable or disable ANSI color output. Disable when piping output to files or scripts.
Inspect your current config or restore factory defaults in one command.
zsh · bash · fish · powershellmacos · linux · windowswhatdidido for git | grep "push"
whatdidido config set --color false whatdidido summary > standup.txt whatdidido config set --color true
whatdidido after "brew install" -w 10