<!-- 1. If you have a question and not a bug/feature request please ask it at http://forum.serverless.com 2. Please check if an issue already exists so there are no duplicates 3. Check out and follow our Guidelines: https://github.com/serverless/serverless/blob/master/CONTRIBUTING.md 4. Fill out the whole template so we have a good overview on the issue 5. Do not remove any section of the template. If something is not applicable leave it empty but leave it in the Issue 6. Please follow the template, otherwise we'll have to ask you to update it --> # This is a Bug Report ## Description When using `${var, default}` syntax, if the default is a string with an "=" in it, the whole `${}` construct will just be returned literally. For example (this is in env variable section, for ease of demonstration) but it seems to apply anywhere) serverless.yml: provider: environment: TEST1: ${self:does_not_exist, "This_is_fine"} TEST2: ${self:does_not_exist, "this=not_fine"} shell: $ sls package -s dev $ cat .serverless/cloudformation-template-update-stack.json | grep TEST "TEST1": "This_is_fine", "TEST2": "${self:does_not_exist, \"this=not_fine\"}", I would expect `TEST2` to have a value of `this=not_fine` ## Additional Data * Serverless 1.28.0 * Mac OSX