지증왕의 증손이다. 관등은 이찬(伊飡)이며, 580년(진평왕 2)에 병부령(兵部令)이 되었다.
진평왕이 사냥을 매우 좋아해 정사를 돌보지 않자 그는 이를 만류하였다. 그는 왕에게 “옛날의 임금은 하루에도 1만 가지 일을 보살피되 깊이 생각하고 염려하며, 좌우의 바른 선비의 직간을 받아들여 부지런히 힘쓰고 감히 평안히 놀지 않았으므로, 덕정(德政)이 순수하고 아름다워 국가를 보전할 수 있었다고 말하며, 이제 왕이 날마다 꿩과 토끼를 쫓아 산야를 달리는 일을 그만두지 않는 것은 마음을 방탕하게 하고 나라를 망하게 하는 것이니 반성해야 한다”고 하였다. 또 『노자(老子)』의 “사냥하며 치달리는 것은 사람의 마음을 미치게 한다.”라든가, 『서경』의 “안으로 여색에 빠지고 밖으로 사냥에 빠지면…… 그 중 하나만 있어도 혹 망하지 않음이 없다.”라는 말을 인용하면서 왕에게 간했으나 왕은 듣지 않았다.
뒤에 병으로 죽게 되었을 때, 세 아들에게 신하 된 몸으로 왕의 잘못을 바로잡지 못했으니, 죽더라도 반드시 왕을 깨우쳐 주리라 하고는 시체를 왕이 사냥 다니는 길가에 묻을 것을 유언해, 그 아들들이 그대로 하였다. 어느 날 왕이 사냥 나갈 때 길가에서 “가지 마시오.” 하는 듯한 소리가 들려 시종에게 물으니, 시종이 김후직의 묘에서 나는 소리라 하고 그가 임종할 때 한 말을 전하자 왕이 크게 뉘우치고 다시는 사냥을 가지 않았다고 한다.
김후직이 진평왕에게 간한 내용은 후대인들에게 신하 된 사람의 충간(忠諫)의 표본으로 여겨졌다. 또한 죽은 뒤 무덤 속에서까지 왕에게 했던 그의 충간을 사람들은 ‘묘간(墓諫)’이라 부르며 칭송하였다. 경주역에서 포항으로 가는 국도 옆에 그의 묘로 알려진 분묘가 있다.