PD controller oscillating

Whenever I try to tune my PD controller (and yes I mean PD because there is no integral), no matter what my kP value is, the robot just keeps on oscillating once it turns toward the point, and it never stops. How can I fix this?

Sounds like you need a better exit condition for your PD loop. What is your current exit condition?

if (std::abs(error) <= 2 && std::abs(derivative) <= .2){
pros::delay(250);
break;
}