In OSX's terminal, I run the history command to find my recent commands. Often I notice recent commands will not show up, seemingly randomly. For example, I will log on one-day and notice my commands from the previous day are not showing in history (though they did they day before) but rather last week's commands are there. How do you troubleshoot this? Is it an error or I am understanding something incorrectly?

  • 3
    Do you ever have multiple terminals (shells) running at once? (By the way, with Catalina the default shell is zsh, not bash. So which shell are you running? What does echo $SHELL say?) Commented Jun 30, 2020 at 22:50

2 Answers 2


Try running history -a; history -n to:

  • load commands from the history file that were added from other open shells
  • append new commands from your current shell session to the history file

This effectively keeps any concurrenly open Termimal sessions "in sync". You can add this command to your PROMPT_COMMAND shell variable to have it automated on every prompt (after every command is executed).

A bit about PROMPT_COMMAND from man bash:

    If this variable is set, and is an array, the value of each set
    element is executed as a command prior to issuing each primary
    prompt.  If this is set but not an array variable, its value is
    used as a command to execute instead.

In other words, Terminal.app connects you to a certain shell, allowing you to access all sorts of them concurrently.

Run cat /etc/shells to see what shells are on your system.

I’m sure you’ve got Bash, ZSH, and a few others.

Then read up on configuring the history for your chosen shell, and try to make it a habit to always know which shell you’re using.

The fish shell, for instance, has an extensive and user friendly history browser, allowing you to see all commands you’ve run using fish.

With bash it’s a bit different.

Also Mac specific:

If you have apps that run maintenance and require administrative privileges, they likely run some of their tasks as simple shell scripts, and almost always using sh.

Think: Catalina Cache Cleaner, Cocktail and Onyx, to name a few.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .