|Jared Gilmore plays Henry on Once Upon a Time.|
In Camelot, as Mary Margaret and David attempt to retrieve the Dark One dagger, Emma uses a dreamcatcher to look into the past to see how Merlin was transformed into a tree. Together, Emma and Regina figure out the critical ingredient they must acquire to free Merlin, but it's a race against Arthur, who does not want Merlin released. Meanwhile, with encouragement from his moms, Henry musters up the courage to ask Violet on a date. Back in Storybrooke, the heroes break into Emma's house hoping to locate Gold, but what they find will give them a glimpse of Emma's end game. Far from prying eyes, Merida sets about the mission Emma has tasked her with and begins molding Gold into the hero they need to draw Excalibur.
In the sneak peek below, when Henry sees his crush Violet's sadness over her missing horse, he turns to the one person he knows can help: Emma.
The Once Upon a Time cast includes Ginnifer Goodwin as Snow White/Mary Margaret, Jennifer Morrison as Emma Swan, Lana Parrilla as the Evil Queen/Regina, Josh Dallas as Prince Charming/David, Emilie de Ravin as Belle, Colin O’Donoghue as Hook, Jared S. Gilmore as Henry Mills, Sean Maguire as Robin Hood, Rebecca Mader as the Wicked Witch/Zelena and Robert Carlyle as Rumplestiltskin/Mr. Gold.
Guest stars in tonight's episode include Amy Manson as Merida, Elliot Knight as Merlin, Liam Garrigan as King Arthur, Joana Metrass as Guinevere, David-Paul Grove as Doc, Mig Macario as Bashful, Olivia Steele Falconer as Violet, Ryan Robbins as Sir Morgan and Guy Fauchon as Vortigan.