唐蒲州虞乡(今山西永济东)人。隋末为景城县户曹,被窦建德所俘,几被杀,以县民请求得免。旋被用为黄门侍郎。入唐,授景城都督府录事参军。太宗即位后,召见访以治道。他劝以亡隋为戒,擢拜侍御史,迁给事中。贞观四年(630),极言直谏修洛阳宫殿,太宗因而停役。后为太子左庶子,屡谏太子承乾,不纳。后历任潮州、邓州刺史,永徽中致仕。