By default, shell hsitory is not persistent across VSCode remote container restarts. To persist, a local (in the container) `.zsh_history` file must be makked to a file on the host computer. To do this you need to select a unique name to map the local file to. Here is how I do it in my `.devcontainer` file (only relevant lines shown): ```json { "name": "AWS Development (aws-dev)", ^^^^ this will be the unique name of the history file on the local machine "mounts": [ "source=${env:HOME}${env:USERPROFILE}/.vscode-zsh-hists/aws-dev.zsh_history,target=/home/devboy/.zsh_history,type=bind" ^^^^ here's where the mapping occurs ] } ``` Before building the container for the first time, the local directory and file must exist: ```sh mkdir .vscode-zsh-hists touch .vscode-zsh-hists/aws-dev.zsh_history ```