[Warning: The following contains spoilers for Season 4 of 13 Reasons Why. Read at your own risk!]
The fourth and final season of 13 Reasons Whyhit Netflix on Friday. In the final episodes, Clay (Dylan Minnette), Jessica (Alisha Boe), Alex (Miles Heizer), and the rest of the teens spend the season worried that the truth about who actually killed Bryce (Justin Prentice) will come out. But the season is also framed around yet another student's funeral, and viewers are left to wonder who didn't make it to graduation until the penultimate episode of the series.
In an emotional and upsetting turn of events, it is revealed that Justin (Brandon Flynn), whose mother died of an overdose halfway through the season, causing him to relapse. was HIV positive as a result of his own addiction and the time he spent as a sex worker. He collapses at the senior prom after reuniting with Jessica following a season spent apart, and in the finale, we find out his illness has progressed to AIDS. The episode follows his continued decline, death, and eventual funeral, with everyone who knew and loved him packing the hospital waiting room.
But Justin's death was only the final punctuation mark on a season full of emotional turmoil. Clay spends Season 4 suffering under the weight of the part he played in framing Monty (Timothy Granaderos) for Bryce's murder. However, his fragile mental state is actually the result of everything that has happened to him over the course of the series and his refusal to accept or process this trauma. As his mental health deteriorates and his guilt manifests as hallucinations of both Monty and Bryce -- which coincide with being pranked and harassed by the football team, whose members are eager to find out what really happened to Bryce and clear Monty's name -- a mystery person is also threatening Clay and the rest of the teens to come clean.
First, graffiti is spray-painted on the school that reveals Monty was framed. Then it appears that someone hacked Clay's email and sent a message saying he was going to reveal the truth during a senior camping trip. All season Clay suspects the threats are coming from Winston (Deaken Bluman), who is now a student at Liberty and was with Monty the night Bryce died; because of his relationship with Monty, he has a vested interest in figuring out what really happened. But at the end of Episode 8, after Clay suffers a mental breakdown during an active shooter drill, spends time in a psychiatric ward, and instigates a riot on campus, it is revealed Clay is the person behind it all. He was dissociating because of his trauma and had no memory of his actions. He eventually starts working to process his trauma at the end of the series before leaving for Brown.
Although Clay starts working through his issues and is no longer as worried about someone exposing the truth, Winston and the Evergreen sheriff's department are both still investigating Bryce's death until the finale. Winston thinks Jessica is behind it, but after Alex confesses he had been the one to push Bryce into the water, Winston decides not to turn him in because he had loved Alex too (the pair were briefly together earlier in the season before Alex began dating Charlie [Tyler Barnhardt]). In the finale, Sheriff Diaz (Benito Martinez) also decides to close the case after having a thinly veiled discussion with Alex's father (Mark Pellegrino) about how family comes before duty.
Elsewhere, the season also wraps up the ongoing storyline involving Tyler (Devin Druid) and the guns from his aborted school shooting in Season 2. After the police trace the bag the guns were in to Tyler, they offer him the opportunity to become an informant and help in sting operations to stop the trafficking of guns in exchange for no charges being brought against him. This comes out when Tony (Christian Navarro) and Clay witness Tyler attempting to buy guns from a dealer and, worried he is planning another attack, try to stop the operation.
The series finale ends with high school graduation, where Jessica and Clay, who was elected class speaker, give emotional speeches that sum up their time at Liberty High and the lessons they've taken from it. Several familiar faces return, including Ryan (Tommy Dorfman) and Courtney (Michele Selene Ang), who join Clay, Jessica, Alex, Tony, Tyler, and Zach (Ross Butler) in burying Hannah's (Katherine Langford) tapes in an effort to get closure on everything that has happened since Hannah's death.
13 Reasons Why is now streaming on Netflix.