Your defining CFrame incorrectly. CFrame contains both position and orientation.
ex.
1 | local CFrame = CFrame.new(position, orientation) |
In addition when defining information like position you need to do so as a Vector3, which are their own data type.
ex.
1 | Part.Position = Vector 3. new( 10 , 15 , 20 ) |
In your case, I would suggest editing the position of the tool rather than its CFrame, this is just cause personally I'm not too experienced and I don't understand some of the more nuanced functions of CFrame. But if your dead set on using CFrame I would suggest looking online for some more on how to use CFrame such as:
AlvinBlox CFrame Video -
https://www.youtube.com/watch?v=VxgNleUdmmg
Roblox Dev site -
https://developer.roblox.com/en-us/articles/Understanding-CFrame
DevKing CFrame Video -
https://www.youtube.com/watch?v=9YqN8_VERps
Let me know if my explanation makes sense, or if you need some clarification.