James moved from Qatari club Al-Rayyan but details of the transfer were not immediately announced.
The Colombian is joining his fifth club since scoring six goals for his country at the 2014 World Cup in Brazil.
James has made 86 appearances for Colombia and scored 24 goals, but his club career has often failed to match his national team success. His 11-year run at major European clubs ended in 2021 with a lackluster spell in the Premier League at Everton.
Olympiakos, who are playing in the Europa League this season, are in third place in the Greek league with eight points, four behind leader Panathinaikos.