Question: who plays captain hook once upon a time
Answer: Colin Arthur O'Donoghue ( born 26 January 1981 ) is an Irish actor and musician , best known for portraying Captain Killian `` Hook '' Jones on the TV show Once Upon a Time .