In the first season of “Bosch: Legacy,” Maddie Bosch, portrayed by Madison Lintz, faced the terrifying experience of being buried alive. As the series progressed into the second season, the perpetrator met a violent end in prison. Now, in the third and final season, the focus shifts to the unresolved mystery surrounding Kurt Dockweiler, played by David Denman. There are suspicions that Hieronymous “Harry” Bosch, played by Titus Welliver, may have been involved in Dockweiler’s murder while he was in jail. This leads to questions about whether Bosch, a former detective turned private investigator, collaborated with inmates Preston Borders and Curtis Dignan from Wasco State Prison to seek retribution for what Dockweiler did to Bosch’s daughter. The LAPD brass has assigned Detective Santiago Robertson, played by Paul Calderón, the task of investigating these allegations, raising doubts about Bosch’s integrity and motives.
The decision to cancel “Legacy” did not sit well with fans and creators of the show. Reports suggest that the cancellation was driven by financial considerations rather than creative ones, making it a disappointing development especially considering the show’s popularity. As Season 3 unfolds, the backdrop of ongoing streaming service dynamics adds to the suspense. The series hints at a new spinoff within the Bosch Universe, featuring Harry’s encounters with Renée Ballard, portrayed by Maggie Q. Meanwhile, the final season of “Legacy” draws inspiration from Michael Connelly’s novels, “Desert Star” and “The Black Ice,” as it delves deeper into Bosch’s intricate world.
While Detective Robertson delves into his clandestine investigation, Harry Bosch finds himself embroiled in the tumultuous district attorney campaign led by Honey “Money” Chandler, played by Mimi Rogers. As the campaign turns acrimonious, Chandler faces attacks from the current District Attorney, Emmett Archer, who accuses her of past actions against corrupt policemen. In retaliation, Chandler holds press conferences accusing Archer of neglecting victims of violent crimes. Bosch is caught in the middle of this political strife, aware of Archer’s role in investigating Dockweiler’s murder and the complicated dynamics within the police force. With characters like John “Mank” Mankiewicz from the original “Bosch” series still active, Bosch navigates through a web of loyalties and betrayals in a high-stakes political landscape.
Well, parts of the rank and file. Maddie is also a cop, and she has bonded with Honey over their shared history of assault. And while being buried alive in a coffin in the desert would leave a mark on anybody, Maddie is determined to return to the beat. On patrol with her partner, Officer Reyna Vasquez (Denise G. Sanchez), they respond to the scene of a driveway robbery. It seems like itâs part of a trend, âfollow-homeâ attacks that net the gunmen cash, phones, jewelry â whatever they can grab fast and fence faster. That these guys are using a Honda CRV as a getaway vehicle is no help to Bosch and Vasquez. itâs one of the most common â and most stolen â vehicles in the country.
Chandler knows she needs the LAPDâs endorsement if she wants to win the election. But she canât even get them to consider her request for police presence at a campaign event in East Los Angeles, one that includes the mayor. And thatâs problematic, because another face from previous Bosch-ness has resurfaced in Legacy, and heâs disgruntled. Frank Sheehan (Jamie McShane), disgraced former detective and a former partner of Harryâs, appears at Chandlerâs campaign headquarters. He blames her for having a role in his dismissal, even though as Bosch later points out, it was Sheehan who dragged his own name and reputation.
Sheehanâs drugstore aviator sunglasses and drab workaday clothing scream Aggrieved Male, and vocalizing vague threats at Chandler â âIâll be watchingâ â isnât helping. And when Bosch and Maurice âMoâ Bassi (Stephen Chang) toss Frankâs apartment, they discover police manuals from his time on the job detailing LAPD response to mass casualty events. âEx-wife said he got rid of all his personal belongings,â Bosch says. Sheehan could be saying his goodbyes to what he lost in his own life, but planning to hurt Chandler â and the city â in general.
Bosch being not a detective but still close to law and order in the city allows him all kinds of leeway to operate. The in-between places are where heâs always thrived â even when he was in law enforcement. And in retirement, the freedom of movement he embraces also emphasizes exactly what grates on his rivals. Thatâs the two-way Legacy Bosch is working with. And since police brass are more interested in digging up dirt on him than doing the actual work of protecting people, itâs up to Bosch to recognize it and react when Sheehan puts his aggrieved plan into action.
At the campaign event at Plaza De La Raza, Bosch hustles Chandler to safety as Sheehan creates a distraction with explosive charges. Gun drawn, he tracks the escape route he knew Sheehan would take, through the plazaâs adjoining theater. But when he turns a corner to find his former partner just standing there, Bosch pauses. He doesnât want to hurt Sheehan, but nor does he want him to hurt anyone else.
âCome on, Frankie. Letâs walk out of here. The two of us.â Titus Welliver is so good at conveying Boschâs hardwired conviction. In fact, Boschâs conviction is so hardwired, itâs simultaneously his greatest asset and a liability, because it also drives some to see his motive in Dockweilerâs murder. We really thought it would work on Frank, too, his old colleague and friend. But no. After all his threats toward Chandler and his perception of a raw deal, Sheehan is laying his own burden down. He shoots himself right in front of Harry. In the final season of Bosch: Legacy, violence is already hitting home.
Johnny Loftus (@johnnyloftus.bsky.social) is a Chicago-based writer. A veteran of the alternative weekly trenches, his work has also appeared in Entertainment Weekly, Pitchfork, The All Music Guide, and The Village Voice.
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = “//connect.facebook.net/en_US/sdk.js#xfbml=1&appId=823934954307605&version=v2.8”;
fjs.parentNode.insertBefore(js, fjs);
}(document, ‘script’, ‘facebook-jssdk’));