How to detect if tool is picked up from backpack or workspace?

When tools are being picked up by a player a remote event is sent to add that item to the player’s inventory by using character.ChildAdded event. But the problem is that this also happens when you have the tool in the backpack and equip it. How would I go about detecting if it was picked up from the workspace or from the backpack?

I don’t think you can check that, but can you try to add a debounce to check if the player already has the tool?

Use Instance | Roblox Creator Documentation and store the tools last parent in a variable.

I don’t think that would work because the player can have several of the same tool in their inventory.