On Wednesday, that officer was charged with second-degree manslaughter following an investigation by prosecutors, who concluded that Jeronimo Yanez was wrong to use his weapon in the traffic stop, part of which was seen by millions after Castile's girlfriend streamed his final gruesome moments live on Facebook.
"No reasonable officer, knowing, seeing and hearing what officer Yanez did at the time, would've used deadly force under these circumstances," Ramsey County Atty. John Choi said.
Prosecutors believe Castile never tried to pull his handgun from his pocket, and Yanez's unreasonable fear did not justify the shooting, Choi said.
If convicted, the officer could face up to 10 years in prison.
Diamond Reynolds was sitting next to her boyfriend in the car. She said he was shot repeatedly as he reached for his ID after telling Yanez about the weapon and the gun permit.
The fatal shootings of black men and boys by police officers have come under heightened scrutiny since the 2014 death of
Yanez, who worked in the Minneapolis suburb of St. Anthony, was scheduled to make his first court appearance Friday.
His attorney, Tom Kelly, has said Yanez, who is Latino, was reacting to the presence of a gun. Kelly has also said that one reason Yanez made the stop was because he thought Castile looked like a possible match for an armed-robbery suspect.
Choi said Wednesday that Castile was not a suspect in that robbery. Castile's relatives have said they believe the 32-year-old elementary school cafeteria worker was racially profiled.
Kelly did not immediately return phone messages seeking comment Wednesday. Castile's mother, Valerie Castile, said her family was pleased with the charge.
"It is necessary for everyone to understand that we want peace," she said. "We don't want any protests to get outrageous."
Castile's shooting prompted numerous protests, including a weeks-long demonstration outside the governor's mansion and one protest that shut down Interstate 94 in St. Paul for hours. The interstate protest resulted in about 50 arrests and injuries to more than 20 officers, who were hit with cement chunks, bottles, rocks and other objects.
Choi resisted pressure to turn the case over to a special prosecutor, but he added one to his team to get an outside perspective. He said Wednesday that he reviewed the case himself instead of sending it to a grand jury, in the interest of transparency.
He gave a detailed account of the shooting, describing a routine traffic stop that turned frantic after Castile told the officer he was carrying a gun. He was not required to do so by law.
Yanez had his hand on his holster before Castile could finish his sentence and repeatedly shouted, "Don't pull it out," as Castile insisted he wasn't, Choi said.
Within a minute of the initial stop, Yanez unholstered his gun and fired seven shots at Castile.
There was no sign Castile had reached for a gun or posed any threat, Choi said.
Yanez's partner at the scene did not take out his own gun. Castile's weapon was later found deep in a front pocket of his shorts, with a loaded magazine but no bullet in the chamber.
"His dying words were in protest that he wasn't reaching for his gun," Choi said. "There simply was no objective threat posed to officer Yanez."
Squad car video captured the entire event, including audio and subsequent conversations Yanez had with other officers, Choi said. Prosecutors have no plans to release the video at this time because it is evidence in the case against Yanez.
Reynolds and her attorney recalled how quickly she pulled out her phone and began streaming, saying the video was a factor in Choi's decision.
"Without my recording," she said, "we wouldn't be here today."
3:09 p.m.: Updated throughout with additional background information.