'Arrow': How Roy Harper Returns in "Doppelganger" Revealed

Tonight's episode of Arrow saw the return of a fan-favorite -- but under circumstances that were probably surprising.

Spoilers for tonight's episode of Arrow, "Doppelganger", below!

The episode saw Team Arrow deal with the emerging threat of Ricardo Diaz (Kirk Acevedo), who cemented himself as a major villain by killing Cayden James (Michael Emerson) a few episodes back.

This ran concurrently with a few things: Laurel Lance/Black Siren (Katie Cassidy) publicly impersonating her Earth-1 counterpart, "New Team Arrow" continuing to go off on their own, and Oliver's FBI trial advancing even further.

The latter of those three things had a surprising twist when it was revealed that Star City's district attorney had a new witness -- Roy Harper (Colton Haynes).

That's right, after almost two years of Roy being missing in action from Arrow, his return is directly tied to whether Oliver gets unmasked as the Green Arrow. In a way, this does make sense, considering the fact that Roy sort of took the fall for Oliver and publicly donned the Arrow suit a few years back.

But as it turns out, there was an even further twist behind Roy's return, as Team Arrow found him being kidnapped and interrogated by SCPD officers. After a failed attempt to rescue Roy, Team Arrow learned that Diaz was actually pulling the strings, including getting these police officers to bring Roy into the fold.

So, where will things go from here with Roy? It's almost too early to tell. Even if Team Arrow is able to properly rescue Roy, that will potentially add another player into the fight against Diaz, something that is theorized to get messy as the rest of the season goes along.


But Haynes is expected to appear in a two-episode arc this season, leading to some assumption that Roy's business in Star City will conclude in the next episode, "The Thanatos Guild". Could that possibly signify Arrow saying goodbye to fan-favorite Thea (Willa Holland) as well? Fans will have to wait and see.

Arrow airs Thursdays at 9/8c on The CW.