Consider a serverless.yml
...
plugins:
- serverless-stack-ouput
- other-plugin
custom:
output:
file: stack-output.yml
...
where other-plugin processes stack-output.yml output by this file. As it's currently implemented, other-plugin will being processing before serverless-stack-output finished. The offending line is in the StackOutputPlugin#process method. If that method is changed to return a promise, everything works as expected.