ContextActionService Only Firing Enum.UserInputState.End?

I’m simply trying to make it possible to do a slide while running, but it doesn’t work, when holding down Shift the function in charge of doing the slide only receives Enum.UserInputState.End and nothing else, what’s wrong with my code?

local ContextActionService = game:GetService("ContextActionService")

local function slide(actionName, inputState, inputObject)
	if inputState == Enum.UserInputState.Begin then
		print("Slide On")
	elseif inputState == Enum.UserInputState.End then
		print("Slide Off")
	end
end

local function run(actionName, inputState, inputObject)
	if inputState == Enum.UserInputState.Begin then
		print("Run On")
	elseif inputState == Enum.UserInputState.End then
		print("Run Off")
	end
end

ContextActionService:BindAction("Slide", slide, false, Enum.KeyCode.C)
ContextActionService:BindAction("Run", run, false, Enum.KeyCode.LeftShift)

(Local script in StarterCharacterScripts)

The MouseLockController of the default player camera scripts sinks Begin inputs for LeftShift. Instead of BindAction, you need to use BindActionAtPriority with a higher priority number than Enum.ContextActionPriority.Medium (2000) or disable mouse lock entirely.