배중손(裵仲孫)의 뒤를 이어 삼별초의 반란군을 지휘했던 김통정(金通精)의 조카이다.
1266년(원종 7) 시어사(侍御史)로 있을 때, 통교를 목적으로 일본에 가던 몽골의 사신 흑적(黑的)·은홍(殷弘)을 안내하기 위해 추밀원부사 송군비(宋君斐)와 함께 일본으로 떠났으나, 거제도 송변포(松邊浦)에서 풍랑을 만나 되돌아왔다.
1270년 개경 환도에 반대하면서 반란을 일으킨 삼별초군이 고려와 원나라의 연합군에 쫓겨 1271년에 김통정의 지휘 아래 탐라로 들어가자, 이듬해 김찬은 이소(李邵)·오인절(吳仁節)·환문백(桓文伯) 등과 함께 탐라로 가 항복할 것을 설득하였으나 도리어 그 곳에서 억류되었으며 나머지는 모두 삼별초군에 의해 살해되었다.