I am using GRBL on my desktop lathe for more than a year. No problems, have a stepper on the spindle for threading, broaching, knurling, grinding etc.
I also will convert my mill to CNC using GRBL.
I use TB6600 drivers for my steppers so when needed, i can change the controller to connect to Mach or any thing else.
By the way, GRBL supports G41.1 dynamic tool offset on all axis and G49!
My program CNCL (microsoft store) does support toolchange and a tool library in the next release at the end of this month.
I found this tool, maybe you can use it https://github.com/zeevy/grblcontrol...-Documentation