Invalid configuration: schedules.ps1

Product: PowerShell Universal
Version: 5.6.9

We push our scripts and schedules to production via Github. We are running 4 production servers. Whenever we push a new script+schedule to production. GitSync is configuration , PSU notifies about an error in the configuration

Invalid configuration: schedules.ps1
Script ‘.ps1’ not found
I belief this to be because the schedules.ps1 is reloaded, before the script file is in place. A reload of the configuration files fixes it. However, just on the 1 server I’m connected to. I’m having to do this on all the servers. That’s kinda silly for an automation tool, isn’t it?

Am I missing anything?

You are not alone. I am facing the exact same issue on PSU 5.6.13 (and now 2026.1.2) on Linux.

It’s a Race Condition during the Git Sync cycle: PSU validates schedules.ps1 before the script indexing is complete.

As a workaround, we are currently using a ‘Staged Commit’ approach:

  1. Push the new script file first (without touching schedules.ps1).

  2. Wait a few minutes for PSU to index the new file.

  3. Push the update to schedules.ps1 in a second commit.

This avoids the ‘Script not found’ error because the metadata is already there when the schedule is validated. It’s a bit of a manual process for an automation tool, but it’s the only way to keep the schedules from disappearing and to avoid error notification

Bugs happen, and this sounds like one. Have you raised it here: Issues · ironmansoftware/powershell-universal ?

I cant say I’ve seen this issue, but only because I persist my schedules to my database (SQL) and so they all use the same config outside of git. Thats how I keep my prod and dev instances separated so it’s not in code (though you can now also use branches for that).