Attempting to take something held or worn by another character gives strange responses, such as blank is not on or inside another object!
I suspect that a restriction in the take object tasks from the library isn't accounting for this. I would have expected to see something like "Name of Character doesn't want to give that to you" or something else instead.
This would need a new specific task "Take objects from character (Lazy)" that was another override for "Take objects (Parent task)".
This would have restrictions that the object must be worn by or held by any character and would output a message like "%CharacterName[%ParentOf[%object%]%]% doesn't want to give %TheObject[%object%]% to you"
The restrictions should not contain a failure message as that would prevent the next override task in the chain from executing.