On Once Upon a Time Season 6 Episode 6, back during the dark curse, Nemo captured Killian and brought him onto his ship. Nemo recognized that Killian's heart is full of hate, and he wants to give Killian a chance to fill his heart with love and family again. Killian isn't too intrigued, but he joins Nemo on a mission to retrieve a treasure chest that has a key to the mysterious island aka the land of untold stories.
After the mission, Killian realizes that Nemo's first mate is his younger brother, Liam. You remember, Killian found his dad, who had moved on and had another family. Killian's dad named his new son Liam, and Killian killed his dad while Liam slept.
Nemo also recruited Liam because his heart was full of hatred, and once Liam realizes who Killian is, that hatred returns. Right before Killian can leave the ship, Liam comes for him, but instead of stabbing Killian, Liam stabs Nemo.
Back in Storybrooke, Liam kidnaps Killian and Henry. Henry's upset with Killian because the Evil Queen showed him that Killian didn't throw away the shears like Emma asked. Killian tells Henry everything about Liam, and Killian gets Henry off the ship right as Liam shows up for revenge. Luckily for Killian, Henry gets back on the ship and saves Killian's life.
Meanwhile, the Evil Queen asks Rumple for help. She provides him with the shears that Henry and Killian sent to the bottom of the ocean, and in exchange, she asks that Rumple help her retrieve Snow's heart.