Which directory is the real location that `brew cask install` uses?

Furthermore, apart from what @Subhash Bhushan explained, if you want to know where exactly a formula has been installed you can use the command info

brew info --cask <formula>

For example for atom:

brew info --cask atom

atom: 1.32.2 (auto_updates)
https://atom.io/
/usr/local/Caskroom/atom/1.32.2 (64B)
From: https://github.com/Homebrew/homebrew-cask/blob/master/Casks/atom.rb
==> Name
Github Atom
==> Artifacts
Atom.app (App)
/Users/username/Applications/Atom.app/Contents/Resources/app/apm/bin/apm (Binary)
/Users/username/Applications/Atom.app/Contents/Resources/app/atom.sh -> atom (Binary)

In this example, the artifact is installed in ~/Appplications.


You can find custom commands for each application amongst available Casks, but generally, brew cask install just retrieves the configured version of the executable file and moves it to the specified application directory (~/Applications by default).

/usr/local/Caskroom contains the list of casks installed, and .metadata folder in each cask mentions the cask file used during installation.

The app directory you see in ~/Applications is not a symlink. If it is so, check that app's cask file and it should contain clues to the real location.