Discover, install, and configure shell plugins with Fig Plugin Store →

Zsh Extend History

Zsh plugin to record command history with more context

9 stars

Contextual shell history - Zsh Plugin


  • Antigen: antigen bundle xav-b/zsh-extend-history
  • ZPlug: zplug "xav-b/zsh-extend-history"
  • oh-my-zsh:
$ git clone ~/.oh-my-zsh/custom/plugins/extend-history

And add extend-history to plugins in .zshrc.


# file to write history
# default to `$HOME/.zsh_extended_history`
export ZSH_EXTEND_HISTORY_FILE="/tmp/my-zsh.history"

# print history collected on stdout instead of file


Just source the file everytime you test changes =)

Something like that can help: tail -f $ZSH_EXTEND_HISTORY_FILE | ./


  • vim and other long-lasting commands is an issue for the start and end hooks (other commands will probably happen in the meantime). We should instead compute a unique id that the end can refer too, and use it to retrieve the start stored in a temporary place (/tmp/gi/{this-id}.cmd).

  • the end command sometimes appear on a seperate line (most probably related)

  • option to ignore "boring commands" (ls, cd, …)

  • command to nicely display in the terminal? (or put that in gi)

  • session id

  • Deduplicate

  • Only search/display history per directory/git project