I have $N0=G20. When I start units are displayed in mm but it jogs

I have $N0=G20. When I start units are displayed in mm but it jogs in inches. When I click in/mm button is sends G20 but the display units stay at mm. Even if I send a G21 and then a G20 is stays as mm in the display.

That’s because your Gcode file is in inches, which is what the 3D viewer is showing. The jogging you are independently toggling. When you play your Gcode file you’ll throw your Grbl device into inches whether you like it or not.

That makes sense but how would I go about getting the display to match what I am jogging in?

Generate your Gcode in mm from your CAM program or write a macro in CP’s macro editor (see the example that loops thru your gcode file) that goes through each of your lines of Gcode and converts the units and then publish the macro here for all of us to enjoy (because that would be an amazing addition to CP)!