Use forwardRef() on both sides of the circular dependency. However, the real fix is to refactor and extract the shared logic into a third provider to eliminate the cycle entirely.
Circular dependencies occur when Provider A depends on Provider B and Provider B depends on Provider A. NestJS cannot resolve these without a hint because neither can be instantiated first.
forwardRef() is a workaround, not a solution.
Prefer refactoring — extract the shared logic into a third, independent service.
Apply forwardRef() on both sides of the dependency.
Also applies at the module level when two modules import each other.