I use fish shell mainly from Rider IDE and iTerm2.
I've noticed that every task that implies saving something for future sessions will not operate transparently between the two aforementioned contexts. More precisely if I define a universal exported variable, or an alias, they'll be preserved from the "context" where they were defined and are absent from the other one.
For example, this is the output of
alias invoked from Rider IDE (Terminal View):
❯ alias alias br1 'brightness 1' alias cat bat alias cdg 'cd $(git rev-parse --show-cdup)./' alias l ls alias ll 'ls -l' alias ls lsd alias lt 'lsd -l --tree'
And this is the output of
alias invoked from iTerm2:
❯ alias alias br1 'brightness 1' alias cat bat alias ll 'ls -l' alias ls lsd
The same behaviour with environment variables.