I recently ran into an issue with scheduled tasks after migrating an Adobe ColdFusion 2021 server to ColdFusion 2023. The server-level scheduled tasks were present in the ColdFusion Administrator, but none of them could be edited.
Every attempt to save a task resulted in this error:

Troubleshooting the Error
I found an old Adobe Community thread describing the same error. In that case, the scheduled task was supposed to save its output as an HTML file. The suggested solution was to stop ColdFusion, back up neo-cron.xml, add the desired extension to its list of allowed output-file extensions, and restart ColdFusion.
That solution made sense for a task that was intentionally producing a file, but none of my scheduled tasks were configured to save their output.
I also found a more recent discussion about scheduled tasks not saving changes in ColdFusion 2021. That thread covers an additional security requirement: when a scheduled task is configured to save its output to a file, the output directory may need to be whitelisted under schedulerexecutionpaths in pathfilter.json.
Again, since I was not generating output, this was a dead end.
The original neo-cron.xml backup still contained the task definitions I needed, so I tried another approach. I cleared the scheduled tasks on the new server in the ColdFusion Administrator and used CommandBox’s CFConfig module to import only the scheduled-task settings:
cfconfig import from=cf2021-export.json to=cf2023-server includeList=scheduledTasks
The includeList limited the import to the scheduled tasks. They were recreated, but I still could not edit them.
I created a new test task and confirmed that I could save and edit it. That worked, but recreating all of the scheduled tasks manually would have been tedious and would have made it easy to miss a URL, schedule, credential, proxy setting, or paused state.
A New Tool: Scheduled Task Repair
I wanted a safer way to inspect the backup, compare it with the current scheduler, and choose exactly which tasks to rebuild.
I put together a small utility called Scheduled Task Repair to do exactly that.
Instead of importing the scheduler configuration back into ColdFusion, the utility reads the task definitions and rebuilds the selected tasks using <cfschedule>.
What It Does
Scheduled Task Repair provides a browser-based interface for uploading and reviewing a neo-cron.xml file.
The utility can:
- Parse and validate server-level scheduled tasks
- Display the tasks before making any changes
- Select individual tasks to restore
- Preserve supported authentication, proxy, publication, retry, and paused-state settings
- Show the currently configured server tasks
- Identify possible matches by group and task name
- Compare current and imported settings side by side
- Optionally clear the existing tasks before rebuilding them
Uploading the file is read-only. Nothing is created, updated, paused, or deleted until the tasks have been reviewed and submitted.
Clearing the existing tasks is also optional and requires an additional confirmation.
Requirements
The utility requires:
- Adobe ColdFusion 2023 or 2025 (both tested)
- The Adobe ColdFusion Scheduler package
- Permission to manage server-level scheduled tasks
- A browser with cookies enabled
The interface uses Bootstrap from jsDelivr, so the browser also needs access to the CDN.
Installation
Download scheduled-task-repair.zip from the latest Scheduled Task Repair release.
Extract the archive into a temporarily accessible ColdFusion webroot and open the directory in a browser.
By default, access is restricted to:
127.0.0.1
::1
To access it from another workstation, add the appropriate workstation or VPN address to this.allowedRemoteAddresses in Application.cfc.
The utility does not provide its own authentication system. It should be protected using an existing web server, reverse proxy, VPN, or application authentication layer.
Using the Utility
Before beginning, back up the current ColdFusion scheduler configuration.
Open the utility and confirm that it can list the current server tasks. Upload the neo-cron.xml backup and review the parsed results.

Tasks marked Valid contain the required fields and supported values needed to attempt restoration. This does not guarantee that a task URL is reachable or that the task will run successfully.
A task marked Possible Match has the same group and task name as an existing task. Clicking the badge displays the current and imported settings side by side.

Select the tasks to restore and submit the form. If a task was paused in the original backup, the utility pauses it again after restoration.
A Few Security Notes
A real neo-cron.xml file may contain internal URLs, usernames, passwords, and proxy credentials. Do not commit one to source control or include it in a public release.
Scheduled Task Repair performs privileged scheduler operations. It should only be available for the duration of the repair and removed from the webroot afterward.
The source code, installation package, and additional documentation are available on GitHub.