Strange. I just recently had an issue where debug calls in a thread that was created with user_error
pointing elsewhere wouldn’t show up. How is the predicate containing that debug being run?
Something I ended up doing to make it show up:
?- stream_property(S, alias(user_error)), debug(log > S)