Not necessarily, but scripts starting with "alias" belong in remote.
You can make your script work in alias by taking "alias" off of it and adding a slash, like this:
/getDetails {
if ($active ischan) {
var %c = $active
window @getDetails 350 350 650 200
clear @getDetails
echo @getDetails Channel: %c
echo @getDetails $crlf $crlf
echo @getDetails Topic: $chan(%c).topic
echo @getDetails $crlf $crlf
echo @getDetails Modes: $chan(%c).mode
echo @getDetails $crlf $crlf
echo @getDetails Key: $iif($chan(%c).key,$v1,No key set)
}
}