In ZSH when I type history I'm only displayed the last 16 or so commands. I would like history to display all the existing commands in the history file.

When I look in my .zsh_history (my history file) I see all the 500 previous commands that should be there.

I looked in the man page, but I don't see anything that controls how many of the history items are listed. I also looked in my, env but don't see anything that could be controlling this.

Any help would be appreciated! thanks.


history 1 (or history 1 -1) will display all entries from 1 (first entry) to -1 (last entry). You can also use history 1 100 to display the first 100 entries or history -100 -1 to display the last 100 etc.

For more information see the section on fc in man zshbuiltins. (history is equivalent to fc -l).

  • alias history="history 1" in ~/.zshrc made my history behave as expected. – Lost Odinson Oct 11 at 18:30
  • This is the right answer. I don't know why zsh history doesn't behave like this by default, but when I accidentally deleted this fix in my .aliases file (and I should have my dotfiles in a private repo), it took me a while to find this fix again. – James O'Brien Nov 1 at 0:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.