SCHED_S_TASK_HAS_NOT_RUN (0x00041303) fix
SCHED_S_TASK_HAS_NOT_RUN just means the task hasn't triggered yet. Check the trigger config and last run time — the fix is usually adjusting the schedule or forcing a run.
Quick Answer
This isn't a real error — it's just Task Scheduler telling you the task hasn't run yet. Right-click the task and hit 'Run' to force it, or check the trigger settings if it's supposed to run automatically.
What's Actually Going On
You'll see 0x00041303 when you check a task's status in Task Scheduler and it hasn't been triggered even once. This happens all the time with newly created tasks, tasks with a future start time, or tasks whose trigger conditions haven't been met yet (like 'on idle' or 'at system startup' if the system hasn't restarted).
The culprit here is almost always a misconfigured trigger. People set a task to run daily at 3 PM, then check it at 2:30 PM — of course it hasn't run. Or they pick 'on idle' and wonder why it never fires on a busy server that never goes idle.
Fix Steps (in order)
- Force the task to run now. Open Task Scheduler, find the task, right-click and select 'Run'. If it runs without issues, your task is fine — the trigger just hadn't fired yet.
- Check the trigger settings. Double-click the task, go to the 'Triggers' tab. Look for:
- Start time — is it in the past or future?
- Repeat interval — if it's set to 'one time' and already passed, it won't run again.
- Conditions like 'on idle' or 'at logon' — make sure the system actually meets those.
- Verify the task history. Enable Task Scheduler history (Actions menu > 'Enable All Tasks History'), then check under the 'History' tab. If you see event IDs 100 (task started), 102 (task action completed), or 107 (task triggered), the task ran. The status code 0x00041303 will clear after the first run.
- Set the task to run immediately for testing. Go to the 'Settings' tab, check 'Run task as soon as possible after a scheduled start is missed'. Then set a trigger one minute in the future. Wait — the task should fire. If it doesn't, you've got a permissions or corruption issue.
If the Main Fix Doesn't Work
Case 1: Task still shows 'Not Run' after forcing it. Look at the 'Last Run Result' column. If it shows 0x1 (the task is running), 0x41306 (the task is disabled), or 0x80070005 (access denied), you've got a different problem. For access denied, check the task's 'Run with highest privileges' box and verify the user account has 'Log on as a batch job' rights.
Case 2: The trigger is set correctly but the task never fires. Common on Windows Server 2016 and 2019 where the Task Scheduler service itself gets stuck. Run this from an admin command prompt:
net stop schedule
net start schedule
schtasks /run /tn "your task name"Case 3: Task shows 'Ready' but status is 0x00041303. This happens when the task hasn't started yet but is queued. Wait a few seconds, then re-check the 'Last Run Time' column.
Prevention Tip
Before you panic about this error, always check the 'Next Run Time' column in Task Scheduler. If it shows a date in the future, the task is fine — it just hasn't come due yet. For critical tasks, add a one-minute offset from the current time during setup and test it immediately. Saves you from chasing ghosts.
And for the love of God, don't set tasks to run 'when user logs on' on a server that stays logged in for months. Use 'at system startup' or a fixed schedule instead.
Was this solution helpful?