Routine repository checks are easy to overlook between coding sessions. A scheduled task in Codex runs a saved prompt against a selected local project without waiting for a new chat message.
The ChatGPT desktop app can start a separate chat for each run, keeping recurring results apart from an interactive conversation. The project must already be added to Codex with its test tools available on the computer, and the recurring prompt should have a clear reporting scope.
Local scheduled tasks need the computer awake and the app running. They use the app's default permissions, which can allow command execution and file changes. A reporting-only prompt does not enforce read-only access.
Steps to create a Codex scheduled task:
- Select the intended local project in a Codex chat.

- Open Scheduled using the clock icon on the app's left navigation rail.

- Select New task.

- Enter the recurring task prompt in Instructions.
Run python3 -m unittest -v in this project. Report the test count, result and working directory. Do not edit project files or access other projects.
The test command must match the selected project.
- Choose the required cadence in Repeat.

- Set the required run time in Time.
The time is interpreted in the time zone shown beside it.
- Expand Advanced.
The default Model and Effort settings can remain unchanged.
- Enable Run on this computer if it is off.
The app's default permissions must allow the chosen test command to complete unattended.
- Enable Start each run in new chat.
With Archive successful runs off, successful runs remain available in the task's run list.
- Select the intended project in Project.
- Select Create.

- Check the saved task under Active for the expected next run.
The app generates the task name from its instructions.
- Open the saved task's ellipsis menu.

- Select Run now to test the saved task immediately.
This triggers the saved task without waiting for its scheduled time.
- Open the new child run beneath the scheduled task.

- Confirm the run reports the expected test result and project directory.
A passing run reports the chosen command and expected test count in the intended folder. A failed test or a different working directory needs correction before unattended runs.