He had a recurring role as Howard Aucker on The Young and the Restless. He played Brian McGuire on Better Days, which lasted for five weeks before being canceled. In 2011, he first appeared in Once Upon a Time, playing the dual roles of Archie Hopper, a therapist, and his fairy tale counterpart, Jiminy Cricket from Pinocchio. In 2013, he played Larry Hermann on Chicago Fire. He played Inspector David Molk, a philosophizing SFPD homicide inspector, on TNT's 2014 series, Murder in the First. In 2016, he made a cameo appearance as the deceased father of Jimmy McGill on the television series Better Call Saul.