Warning: This story contains major spoilers from Thursday’s episode of Arrow. Read at your own risk!
Vigilante’s real identity was finally revealed during Thursday’s episode of Arrow — and it’s probably the last person viewers were expecting.
While Oliver (Stephen Amell) was off helping Slade Wilson (Manu Bennett) find his son, Team Arrow came face-to-face once again with Vigilante, the rogue anti-hero who kills criminals in cold blood and dogged the team last season. This time around, Vigilante was somewhat sloppy, with Dinah (Juliana Harkavy) unmasking him. Fitting since Vigilante is actually Dinah’s former CCPD partner and lover Vincent Sobel (Clayton Chitty).
As revealed in Dinah’s debut episode last season, Vincent was shot in the head in front of Dinah right when the S.T.A.R. Labs particle accelerator exploded. Then imbued with powers, Dinah set out on a quest for vengeance, which ultimately brought her into the orbit of Team Arrow. Obviously Vincent didn’t die, and set out on his own revenge campaign, one Dinah allows him to continue by willingly letting him escape. (Fun fact: Vigilante actually first appeared several episodes before Dinah did last season.)
Vigilante’s identity has been a mystery since the character’s debut, particularly because the moniker belongs to Adrian Chase in the comics. But in a twist on source material, Adrian (Josh Segarra) was revealed last season to be Prometheus, not Vigilante. Some other candidates to be under the mask included Adrian’s brother Dorian Chase, who has not actually appeared on the show, Quentin Lance (Paul Blackthorne), and even Curtis’ (Echo Kellum) estranged husband Paul (Chenier Hundal).
Arrow airs Thursdays at 9 p.m. ET on The CW.