After the 1995 season, O'Brien became a free agent and signed with the Toronto Blue Jays on a two-year contract. He signed with the Chicago White Sox for the 1998 season in order to share the catching position with Chad Kreuter, but was traded to the Anaheim Angels for minor leaguers Brian Tokarse and Jason Stockstill in July 1998. The Angels released O'Brien on August 6, 1999, replacing him with Benjie Molina. Now 40, O'Brien signed with the Montreal Expos for the 2000 season, but his success at preventing stolen bases had diminished. The Expos released O'Brien on June 22, 2000.