Członek PZPR od 1968 r. W pierwszej połowie lat 70. był wiceszefem Zarządu Wojewódzkiego ZMW w Krakowie. W latach 80. pełnił funkcję I zastępcy szefa ZG ZSMP. Od lutego 1989 roku do stycznia 1990 roku był kierownikiem Sekretariatu Komisji Pracy w Środowiskach Inteligencji w KC PZPR. Od 1990 roku członek SdRP. W 1997 roku został sekretarzem generalnym Socjaldemokracji i pełnił tę funkcję do rozwiązania partii. Od 1999 roku jest sekretarzem generalnym SLD i najbliższym współpracownikiem Leszka Millera. Żonaty, jedno dziecko. Prowadził kampanię wyborczą Aleksandra Kwaśniewskiego w 1995 i 2000 roku.