If you have a custom character how would you make the player hold the tool?
When you normally use a Tool, I'm not sure if ROBLOX scans for "Right Arm" or something, then creates a weld on the tool but if you used your own Character that was not the ROBLOX rig, then you'd have to script the weld yourself. You can use Tools with the handle option off, although I don't know how Tools will work with a non-roblox rig but if the Handle option is off, creating your own weld to position the tool should work.
I had the same problem and after some experimenting on how a normal character is able to hold a tool, I managed to figure out what to do.
First, copy your character's arm or the body part you want the tool to be held in.
Set the copied arm to the same position as the real arm and set its transparency to 1.
Make sure the front of the arm you copied is facing forward, name the copied arm exactly as "Right Arm".
Then insert a MotorJoint into the torso and name it exactly as "Right Shoulder" then leave the joint's part1 to nil.
Finally, bind the real arm to the copied arm (this will be a bit hard as they are in the same position so resize one to make it easier).
If you want to move the grip of the tool, you can move the fake arm to where you want it and rebind the two parts together.