Integrated Terminal Setting Not Respected

No matter what setting I seem to choose, when the Codespace opens, it always starts with ‘sh’ as the default shell in the integrated terminal, despite the setting applied in devContainer.json as below to start a zsh shell session.

“settings”: {
“terminal.integrated.shell.linux”: “/bin/zsh”
}

This works fine when opening container locally in VSCode however. I can’t see any settings that would be overriding this in my user preferences either.

cli-microsoft365/.devcontainer at gh-codespaces · garrytrinder/cli-microsoft365 (github.com) folder for reference

What am I missing something?

There looks to be an issue here the team is still investigating. It should be if you click the plus button to create a new terminal your default is respected, but it isn’t on first open. That workaround should help in the meantime and we’ll circle back when this is resolved.

1 Like

Another workaround is to put the “terminal.integrated.shell.linux” setting in the “User” settings.json (i.e “/User/settings.json”). This seems to be stored somewhere on the browser itself rather than in the remote filesystem, because it persists from one codespace to another.

1 Like

Thanks, that is exactly the issue I’m seeing, I can confirm that workaround works as you mention :+1:t2: