Notification scripts will get different environments depending on if the workflow was submitted with pegasus-plan --submit or with pegasus-run. pegasus-plan is a shell script which sets up the PEGASUS_* environment variables and then later calls pegasus-plan with that environment. If the user choose to not submit at plan time, and the manually uses pegasus-plan, the users current environment is picked up (and the PEGASUS_* environment variables are missing). These environments are then inherited down to pegasus-monitord, which again just passes on the environment it was started with.
This is a problem as some notification scripts depend on the PEGASUS_* variables.
The fix will be to have pegasus-monitord set up a specific environment to make sure it is consistent regardless on how pegasus-monitord was launched.