He killed him because he was already on alert from his expectation this "MIGHT" have been a suspect police were looking for, a firearm was present and the possessor of that firearm was either impaired or just slow to process and when the cop became alarmed he continued fumbling with something the officer believed to be the weapon.
Yes, the officer drove by the guy, made eye contact (which apparently is a "tell"), and noticed that Castile had a "wide nose".
The officer only knew of the firearm
because Castile told him. Had he not told him, and the cop shot him after finding it in his pocket, I'm sure you'd be the first in line to claim he should have told the officer out of respect and courtesy.
The fact is, Castile interacted with the officer in a calm and polite manner. He had no problems following instructions prior to being shot (but the argument from you seems to be that he didn;t do it fast enough?). He handed over his insurance card as instructed. He was reaching for his wallet (which the officer told him to do) when he told the officer he was carrying a concealed firearm (to which the officer said, "ok") To me, you're excusing the officer killing an innocent person because he didn't react quick enough. Respectfully, that's asinine. Especially since the short time frame was the exact justification for the shooting.
The officer never said "let me see your hands", he never told Castile to stop. He instead said "Don't pull it out", to which both the driver and passenger said "I'm/he's not". Right after, the officer pulled his gun, screamed "Don't pull it out" and fired seven rounds into the car, with a 4 year old in the back seat. The fault lies with the officer. He never instructed Castile to do anything he didn't do. He assumed this was a robbery suspect on shaky terms, didn't clearly communicate what he wanted Castile to do, didn't follow procedure like telling him to put his hands on the dash (something you'd think he'd do if he suspected he was a robbery suspect), and went from 0-100 in an instant. Castile did everything he thought he should do (and what officers say you should do, i.e. disclosure of having a firearm regardless of being in a duty to inform state) and was killed for it.
Could Castile have done things different on his end, like don't tell him about the gun? Remain motionless? Sure, but claiming Castile could have been more keen to the officer's nervousness doesn't, and shouldn't equate to a justified shooting. The officer initiated the encounter. The officer did not remain calm. The officer did not communicate clearly.
At this point, we're arguing that Castile was doing what he thought was best, and what is asked by police agencies across the country, and that somehow outweighs the obvious recklessness and failures of the officer.