I was thinking that in current file it is impossible to use an alias – only should work in sourced sub-script. So: alias q=pushd # Expected to not work q # Expected to work source ./using-q.zsh The script is fine to use q. Is that the truth? Because I'm using aliases in the same file, only if it is at some proximity from definition. What are the rules here? -- Best regards, Sebastian Gniazdowski