Have you checked this post about collisions between instances with pathfinding?
And there’s always the Boids Movement extension that may help:
If those aren’t satisfactory, you could try checking for collision between characters, and when that happens, stop the characters and calculate a new path. It’s not ideal though and may cause a slight slowdown in character movement.
