Membre du Parti socialiste jusqu’en 2017, député de la deuxième circonscription de l’Ardèche, élu le 17 juin 2007, il est le benjamin de l’Assemblée nationale pendant la XIIIe législature. Réélu en juin 2012, il est membre de la commission des lois constitutionnelles, de la législation et de l’administration générale de la République.
Alors qu’il s’inscrivait dans l’opposition au second gouvernement Édouard Philippe, il est nommé secrétaire d’État en novembre 2017 dans ce même gouvernement. En 2020, il est nommé ministre délégué chargé des Comptes publics dans le gouvernement Jean Castex.
Avec d’autres anciens socialistes, il fonde en 2020 le parti Territoires de progrès qui vise à rassembler l’aile gauche de la majorité, et prend sa présidence en 2021.
Du 20 mai 2022 au 11 janvier 2024, il est ministre du Travail, du Plein emploi et de l’Insertion dans le gouvernement Élisabeth Borne. Il est réélu député dans sa circonscription le 19 juin 2022 sous l’étiquette Ensemble.