I'm trying to create a LocalScript where when the player holds the shift key, a run animation will play and their speed will be set. I also want it to stop playing when the shift key is unheld. Unfortunately, I cannot figure out how to get the animation to stop when the player is holding still, as the only method i know of (detecting Humanoid.Running) does not seem to work in this case. Here is the code that works fine but runs in place:

local UIS = game:GetService('UserInputService')
local player = game.Players.LocalPlayer
local character = player.Character
local running = false
local Humanoid = character:WaitForChild("Humanoid")


UIS.InputBegan:connect(function(input)
 if input.KeyCode == Enum.KeyCode.LeftShift then
  character.Humanoid.WalkSpeed = 23
  local Anim = Instance.new('Animation')
	Anim.AnimationId = 'rbxassetid://9127242458'
  PlayAnim = character.Humanoid:LoadAnimation(Anim)
  PlayAnim:Play()
  running = true
 end
end)


UIS.InputEnded:connect(function(input)
 if input.KeyCode == Enum.KeyCode.LeftShift then
  character.Humanoid.WalkSpeed = 16
  PlayAnim:Stop()
  running = false
	end
end)

I would greatly appreciate it if someone could tell me what I am supposed to use to detect when the player is not moving.