Prosecutors said the man, identified as Solomon Kahiviano Casperson, is accused of using a homophobic slur repeatedly and threatening to kill a hospital employee during an April encounter. In a second incident in June, officials said he threatened to return to the hospital with a gun to "shoot all the f****** at the hospital."
He faces three felony counts of making criminal threats in a sensitive area and one felony count of stalking.
The complaint also includes hate crime enhancements and an allegation of personal use of a deadly weapon.
Prosecutors said he was on supervised parole for second-degree robbery and on court probation for a recent vandalism conviction at the time of the alleged offenses.
MORE: Social worker dies after stabbed by patient at SF General Hospital; suspect arrested: authorities
This arrest follows a fatal stabbing of a hospital worker at the same hospital less than a year ago where 51-year-old Alberto Rangel, who worked as a social worker was stabbed multiple times in an attack by a patient.
Hospital staff say they have for years raised safety concerns.
The hospital received a record fine of $130,500 - the largest Cal/OSHA penalty in its history - for seven workplace-violence-prevention violations after the 2025 stabbing for lapses in security protection.
MORE: SF General strengthening security protocols after social worker fatally stabbed during attack
According to court documents, the April 4 incident began when Casperson allegedly became verbally aggressive with a healthcare worker.
After being asked to wait in the waiting room, he allegedly refused, used a homophobic slur multiple times, said he did not like gay people, and threatened to follow the worker to his car and kill him.
In the June 8 incident, prosecutors said Casperson returned to the hospital, again used homophobic slurs, and threatened to kill the same victim.
Another worker reported seeing him wave an umbrella aggressively near other patients.
As he left, he allegedly said, "I will bring my gun and shoot all the f****** at the hospital," and threatened to wait for the victim in the parking garage "to beat him down." Officials said he then stood outside the entrance making additional threats while swinging the umbrella.
The District Attorney's Office said it will seek to have Casperson held without bail pending trial and will move to revoke his parole. The San Francisco Police Department continues to investigate.
Anyone with information is asked to call the San Francisco Police Department Tip Line at 415-575-4444 or text TIP411 with SFPD.