Law enforcement officers outside Perry High School in Perry, Iowa, after a school shooting on Thursday. (Joshua Lott/The Washington Post)

PERRY, Iowa — It was the first day back after winter break, and students at Perry High School were streaming into class just before sunrise.

Some were eager to see their friends after spending the holidays apart. Others could barely keep their eyes open after a couple of weeks of sleeping in. No one knew one of their classmates had posted a TikTok video that morning posing with a blue duffel bag, ominously captioned: “Now we wait.”

Then gunshots rang out at 7:35 a.m., and everyone started running. On this 30-degree morning, before some families in this town of roughly 8,000 had taken down their Christmas trees, America’s first school shooting of 2024 had begun.

Cameron Ketelson, a 15-year-old sophomore, was still in the parking lot when he heard the blasts. He didn’t think. He just grabbed his younger stepsister, Chloe, and guided her away.

Their parents ran a body shop across the street. They could take cover there.

“It was chaos,” he said Thursday, huddling with his family by the auto garage. From the window, they could see police cars, lights ablaze, closing off the surrounding streets. A sheriff’s SUV rolled by. So did an ambulance.

“Everyone was yelling,” his stepsister, 14-year-old Chloe Buck, said.

It was hard to believe that a teenage gunman — someone they said they knew — had opened fire in the high school connected to the middle school, killing a sixth-grader from a nearby middle school and wounding five others — four students and the school principal — before turning the firearm on himself.

Police identified the shooter as Dylan Butler, whom fellow students identified as the sender of the troubling TikTok post. Earlier, police had converged at Butler’s rural home. They said later that he carried two weapons and an improvised explosive device into the school.

Police said one sixth grader died and five students and administrators were wounded after a school shooting in Perry, Iowa, on Jan. 4. (Video: AP)

Now students were texting each other, “Are you safe?” They’d trained for this in active shooter drills. They’d been hearing about school shootings since they were old enough to understand such things — not that they understood it now. Not really.

The emotions coming up: Blankness. Numbness. As though none of this was real.

“We’re in shock,” said Chloe’s mom, Jill Ketelson, drawing the girl close. They were waiting in the body shop for other family members to arrive. Their first instinct had been to come together.

Ketelson’s sister-in-law, a school employee, had been in the building when gunfire erupted. She was working in the main office when the vice principal ran in, urging her to hide in a safe room.

After they emerged, she told Ketelson, there was blood on the counselor’s office door. There were shells on the ground.

“It’s heartbreaking,” Ketelson said, “and it’s sickening and scary.”

Down the street, people who lived next to Perry High School — who could see from their porches the children flocking in each morning — stood in their driveways, hands stuffed into coat pockets, talking to their neighbors.

Jason Spence, a 46-year-old Marine veteran, had heard the shots when he was walking his chocolate Labrador, a service dog named Hershey. His wife worked at the nearby elementary school. She called him in a panic. They were reuniting at home when a friend called. The friend’s children had just fled the school and needed somewhere to go.

Spence opened his door for the boy and girl. He’d been shot in the leg during a 2009 tour of Iraq. The booms had stirred up a familiar dread. Those children, he thought, will need help. Some kind of counseling after this, perhaps. A lot of support.

“You wouldn’t think this would happen here,” he said, “in a little town.”

Next door, a brother and sister who’d fled the violence stood below their basketball hoop, responding to check-in texts from their friends. The adrenaline was still flowing. They couldn’t sit down, but they weren’t sure what to do, aside from attending a candlelight vigil later that evening.

Joseph, a 13-year-old eighth-grader, had just finished a 5:30 a.m. basketball practice when he heard screaming. A lunch lady saw him and started shouting, “Run! Run! Run!”

From active shooter drills, he knew the students should have been moving in a certain direction, but everyone was sprinting in different directions. Fear was taking over.

He recalled the scene as his mother fought tears. Their sense of security had been shattered, she said. A school employee, she spoke on the condition that her name be withheld and that only the first names of her children were published, citing “weirdos out there” and concern for their safety.

“I’ve been shaking for two hours,” Joseph said.

His sister, Mercedes, a 16-year-old junior, had been running late that morning and hadn’t left their house yet when the attack began.

“It’s just shocking,” she said.

Even spookier: Just the other day, she’d wondered what to do if a gunman ever stormed one of her wrestling meets. The state match, for example, was a huge affair. Were they safe crammed into a gymnasium like that?

A girl in Mercedes’s math class, she’d heard, had been among those shot early Thursday and was at the hospital in critical condition. Another boy she knew had been hit in the arm.

The boy who’d made the TikTok, the one police identified as the gunman, had been in a class with Mercedes called Connections, which was meant to help students build social skills.

He’d seemed friendly, she said. He sat near her and had a tendency to perform silly raps.

On any other day, she would have been happy to see him in the hallways. She and Joseph had been looking forward to going back to school and seeing all their friends.

“Now I don’t want to go back,” Mercedes said.

Soon the sky darkened, and people streamed toward the city’s recreation center, which had served eight hours earlier as a family reunification base and now was the scene of a vigil.

Kathryn Pentico, a 66-year-old retired insurance agent, tried to shelter herself from the evening chill under a brick gazebo, watching volunteers pass out candles.

She smiled at a woman approaching her with a cane — a stranger, but a neighbor.

“Has anybody heard about the principal?” the woman asked.

“Yes,” Pentico replied. “I think he’s still alive.”

What a thing to say, she thought: “I think he’s still alive.” How could he not be? She’d just seen the principal around town, friendly as ever.

“I sound like a broken record, but it’s true,” she said. “He’s an amazing person.”

She played volleyball with his wife.

“Right over there,” Pentico said, “at the recreation center.”

Before it became the family reunification base. Before the people all around her clutched their candles and wept.