My animation priority doesn't seem to work with custom character

So I have a skinned mesh as the StarterCharacter with an idle and walking animation, I’ll list the priorities below:

Idle - Idle Priority
Walking - Movement Priority
toolAnimation = Action2 Priority

And I have a tool animation which is set to Action2 which mean’s It’s supposed to overwrite the idle and walking & idle animation if i’m not wrong.

But in my case that doesn’t seem to happen, My tool animation doesn’t work because the Idle Animation is Interrupting it- How i know? Because when I remove the idle animation the tool animation seems to work.

So I need a solution to overcome this problem and Make the tool animation work over the idle animation.

Here’s my custom animation script for the starter character:

local character = script.Parent
local humanoid = character:WaitForChild("Humanoid")

local idleAnim = humanoid:LoadAnimation(script.IdleAnim)
local walkAnim = humanoid:LoadAnimation(script.WalkAnim)

idleAnim:Play()



humanoid:GetPropertyChangedSignal("MoveDirection"):Connect(function()

	if humanoid.MoveDirection.Magnitude > 0 then --player is moving

		if walkAnim and not walkAnim.IsPlaying then
			walkAnim:Play()
		end

		
	else --player stopped moving

		

		if walkAnim and walkAnim.IsPlaying then
			walkAnim:Stop()
		end


	end

end)