This article is from the ZTerm FAQ, by Les Jones firstname.lastname@example.org with numerous contributions by others.
Here's a shotgun blast of possibilities:
1. The file may not be in the right place. Login scripts must be
stored in the root level of the ZTerm folder. That is, scripts
should be inside the ZTerm folder, but not inside any other
2. The file may not have the correct name. Login scripts should
have the same name as the service, with the ".zts" extension on the
end. If the service is called " MacClique" (note the space), the
script should be called " MacClique.zts", with a space.
3. The script may not be in text only format. ZTerm can only read
text only files (files of type code text), such as TeachText files.
If you write the script with your word processor, be sure to use
the Save As command and select a text only format. If TeachText
can't open the file, it is not in text only format.
(One exception: TeachText can't open text files larger than 32K. Or
had I mentioned that already? If you have a working, useful script
larger than 32K, I'd like to shake your hand.)
4. The script may be an alias. ZTerm 0.9 doesn't recognize aliased
scripts. ZTerm 1.0 does.
5. There may be something wrong with your login script. To test
your script, connect to the service, select the Run Script command,
and tell ZTerm to use the login script. If the script doesn't work
when run manually, the script is faulty. Check spelling and syntax.