Harvey made his IndyCar debut at the 2017 Indianapolis 500, driving for Michael Shank Racing in association with Andretti Autosport. He finished 31st after contact with debris from Conor Daly's car on lap 65. Later in the 2017 IndyCar season, Harvey replaced Sebastián Saavedra (who himself had replaced Mikhail Aleshin) at Schmidt Peterson Motorsports for the final two races of the season.