Police say 30-year-old Leonard Thomas was despondent over the death of a friend when he called his mother, Annalesa Thomas, to come care for his 4-year-old son.
When Annalesa arrived, she said Leonard refused to hand the boy over and assaulted her, so she called 911.
"The grandmother, fearing for the child's safety, entered into the child's residence where she was assaulted," said Lt. Dave Woods of the Fiffe Police Department.
Police say Leonard had a drive-by shooting conviction from 2000 and an officer safety alert. When police arrived on scene, members of a SWAT team spent four hours trying to talk him out.
"He was actually holding the child as a shield, walking around the residence and at one point even holding the child out the second floor window," Woods said.
According to police, the man put his son on the porch early Friday morning, but then tried to pull the child back inside the house.
SWAT officers opened fire on the man, who was hit and later died at St. Joseph's Hospital.
Annalesa tells a different version of the story.
"I had begged them just prior, 'Please don't shoot my son. He is drunk and he is belligerent, but he is not armed.' (The officer) said, 'We've got to follow protocol,'" she said.
She said Leonard eventually sent his son, Elijah, out to police.
"He ran down the stairs. A policeman came and snatched him up, ran down the driveway and down the street the opposite way," Annelesa said. "Not even two seconds later they ran down the driveway, in the gate, ramrodded the door and then I heard two shots."
Woods said the incident is under investigation, but said the information he has contradicts Annalesa's description of the events.
Police claim Leonard told them he was armed, but no guns have been found. They say they also shot his dog because it acted aggressively toward them.