Zsh shell history getting cleared automatically while using gnome-terminal(.zhistory)

I noticed that my .zhistory file doesn’t have the older commands I gave. It is just a 4.1KB file usually and has around 200lines after noticing the same repeating over some time. This really bugs me. As I always mess up trying to do somthing, this was a reliable source for me to trace my steps.The bashhistory was reliable in this manner( when I was on Ubuntu.)
I use a gnome-terminal on manjaro gnome DE.
My zshrc is at the default configuration.
Is there any way I can prevent this from happening?

Hi @Korosensei, and welcome!

I use ZSH myself and I am unable to find a .zhistory file. However, I did find ~/.zsh_history which is the gistory file, it seems. Might this also be the case there? Otherwise, it might be permissions, so here’s my history file’s permissions:

$ stat .zsh_history

File: .zsh_history
Size: 13606           Blocks: 32         IO Block: 4096   regular file
Device: 10302h/66306d   Inode: 5243630     Links: 1
Access: (0600/-rw-------)  Uid: ( 1000/mirdarthos)   Gid: ( 1000/mirdarthos)
Access: 2021-01-05 14:04:34.776337102 +0200
Modify: 2021-01-05 14:07:58.632729466 +0200
Change: 2021-01-05 14:07:58.632729466 +0200
Birth: 2021-01-05 14:04:34.776337102 +0200

I hope this helps.

Thanks for the reply. Actually I have got a bash_history file.
But the history files I got goes to .zhistory. I haven’t got the .zsh_history in /home.

I just checked again found and found ~/.zhistory. So it’s obvious that it was my mistake, not yours.

Double check that the $HISTFILE environment variable exists and is correct.


Then check if the file exists and it’s permissions are correct:

$ stat $(echo $HISTFILE)

File: /home/mirdarthos/.zhistory
Size: 12086           Blocks: 24         IO Block: 4096   regular file
Device: 10302h/66306d   Inode: 5285510     Links: 1
Access: (0600/-rw-------)  Uid: ( 1000/mirdarthos)   Gid: ( 1000/mirdarthos)
Access: 2021-01-13 08:56:31.657668465 +0200
Modify: 2021-01-13 09:11:08.767260716 +0200
Change: 2021-01-13 09:11:08.767260716 +0200
Birth: 2021-01-13 08:56:31.657668465 +0200

I just found this page regarding zsh history. According to that:

History accepts a range in zsh entries as [first] [last] arguments, so to get them all run history 0 .

To get the zsh help (at least with mind) type Alt-h over the history command and this will bring up the help for built-ins.

Thank you for reporting, I will look into this and try to fix it.


Have tried one:

But unfortunately does not make nice linebreaks for longer command lines

1 Like

doesn’t really seem to be a bug, more a function of zsh
See accepted answer:


I might be lost as lost as Alice here, but wouldn’t enlarging HISTSIZE and SAVEHIST from current values of 1000 and 500, to something like 10000, be kind of a solution to this?

I try to implement that and ask @Chrysostomus if He agree it

have done your suggested changes, but I think they need some testing

1 Like

Can tested here:

$ git clone -b 0.20 https://gitlab.manjaro.org/packages/community/manjaro-zsh-config.git

$ cd manjaro-zsh-config

$ makepkg -si
1 Like

Thank you, already testing it. But my .zhistory it’s at 600 entries yet, so it may take a while…

Okay, approval and push to master needs to be done by @Chrysostomus anyway.

So we will see…

In unstable

1 Like

Any update to this? I’m also seeing a ‘short’ history under zsh and Gnome.

It’s already there if you have your system updated, with latest manjaro-zsh-config. My .zhistory is over +2000 entries already, up to the potential 10K new limit.

This is my current version:

Is there something I need to enable to have the updated entrees kick-in?

I don’t think so. It should already be sourced from your /usr/share/zsh/manjaro-zsh-config, where if you look inside, you should see the new values


If you still wanna be sure, you can source them manually in your .zshrc, or maybe use other different values.

Hmm, it looks correct, but when I type history, I only see the last 20 entrees or so:

1 Like

That’s because in zsh, unlike in bash, the default history command it’s effectively like history -15 or so, to show last 15 entries.

history 1

Try that one instead. That’s like show all entries since first one.