Terraform plan shows changes although there shouldn't be changes


We use terraform in a team and my colleague created all the infrastructure on AWS (Windows, Git Bash). Another colleague (Windows, Git Bash) checked out the latest code from GIT and runs terraform plan and no changes are detected. When I (MacOS) or another colleague (Windows, Linux Subsystem Ubuntu) runs terraform plan then changes are detected.

Here are some examples:

// ~ will be updated in-place 
// information will be known after apply 
// although it was already applied and the information 
// should be available
// this happens multiple times in multiple places (arn, id, name, ...)

resource "aws_autoscaling_group" "xxx" {
  ~ launch_configuration = "xxx" -> (known after apply)

resource "aws_launch_configuration" "xxx" {
  ~ arn = "xxx" -> (known after apply)
  ~ ebs_optimized = false -> (known after apply)

// +/- must be replaced
// somehow [] should be changed to null
// the vpc_classic_link_security_groups is not explicitly set
// setting it to [] or null doesn't change anything

resource "aws_launch_configuration" "xxx" {
  - vpc_classic_link_security_groups = [] -> null

Terraform v0.12.19
provider.aws v2.45.0
state in s3

Thanks in advance for the help!

I’ve seen things like this when the provider changes versions. Are you sure everyone is using the same aws provider versions? That is the only thing I can think of at the moment.

Yes we checked that we have the same version of terraform and the same version of the provider.

We found the issue and it is related to the line endings. The command terraform apply was executed with line ending CRLF. When I do terraform plan with LF then I see changes, if I switch to CRLF then it correctly detects no changes.