W 1948 nawiązał kontakty z funkcjonariuszami UB. 29 marca 1949 został zarejestrowany jako współpracownik UB, początkowo nadano mu pseudonim „Jack”, funkcjonował też pod pseudonimami „Bliźni” i „Demagog”. W 1949 jako tajny agent prowadził pracę wywiadowczą w środowisku polskiej emigracji w Londynie i Paryżu. W Londynie jego działania nadzorował Marcel Reich-Ranicki.
W okresie 1950–1953 był redaktorem naczelnym „Słowa Powszechnego”. Pełnił funkcję sekretarza Komisji Intelektualistów i Działaczy Katolickich. Kierował pracą organizacyjną Stowarzyszenia „Pax” na terenie całego kraju, w latach 1976–1979 pełnił funkcję wiceprzewodniczącego zarządu głównego, a w latach 1979–1982 przewodniczącego.
Od 1981 do 1982 był członkiem Rady Państwa. 13 grudnia 1981 jako jedyny z 14 obecnych na posiedzeniu jej członków sprzeciwił się zatwierdzeniu uchwały o wprowadzeniu stanu wojennego i dekretu o stanie wojennym, za co został odwołany ze stanowiska. W latach 1965–1969 i 1980–1985 sprawował mandat posła na Sejm PRL IV i VIII kadencji, w okresie 1980–1982 przewodniczył Kołu Poselskiemu „Pax”. Jako reprezentant strony solidarnościowo-opozycyjnej był uczestnikiem obrad Okrągłego Stołu w zespole ds. reform politycznych.