Problem
When a cron job has a per-job model and provider override set, there is no way to reset them back to null (i.e., "use the default model from global config") via the cronjob tool's update action.
This means once you set a custom model for a cron job, you can never switch it back to the default without deleting and recreating the job — which loses job history (run count, last status, etc.).
Proposed Solution
Allow setting model=null and provider=null (or default?) via cronjob update to clear the per-job override and make the job fall back to the global default model.
Example via tool:
cronjob(action='update', job_id='<id>', model=null, provider=null)
Example via CLI:
hermes cron edit <job_id> --model null --provider null
After this, the job should use the default model from config.yaml.
Alternatives Considered
- Delete and recreate the job — works but loses job history (run count, last status, output files).
- Dedicated
clear_model flag — e.g., cronjob(action='update', job_id='<id>', clear_model=true). More explicit but adds a new parameter.
- Accept empty string as "reset" — e.g.,
model='', provider=''. Simpler but less explicit than null.
The proposed solution (null) is the most intuitive — it's the natural opposite of setting a value.
Reproduction Steps
- Create cron job with custom model:
cronjob(action='create', name='test', prompt='...', schedule='0 7 * * *', model='gemma4:e4b', provider='lmstudio')
- Verify model is set:
cronjob(action='list') → shows model: gemma4:e4b
- Try to reset:
cronjob(action='update', job_id='<id>', model=null, provider=null)
- Check again:
cronjob(action='list') → still shows model: gemma4:e4b (NOT reset)
Related Issues
Problem
When a cron job has a per-job
modelandprovideroverride set, there is no way to reset them back tonull(i.e., "use the default model from global config") via thecronjobtool'supdateaction.This means once you set a custom model for a cron job, you can never switch it back to the default without deleting and recreating the job — which loses job history (run count, last status, etc.).
Proposed Solution
Allow setting
model=nullandprovider=null(ordefault?) viacronjob updateto clear the per-job override and make the job fall back to the global default model.Example via tool:
Example via CLI:
After this, the job should use the default model from
config.yaml.Alternatives Considered
clear_modelflag — e.g.,cronjob(action='update', job_id='<id>', clear_model=true). More explicit but adds a new parameter.model='', provider=''. Simpler but less explicit than null.The proposed solution (null) is the most intuitive — it's the natural opposite of setting a value.
Reproduction Steps
cronjob(action='create', name='test', prompt='...', schedule='0 7 * * *', model='gemma4:e4b', provider='lmstudio')cronjob(action='list')→ showsmodel: gemma4:e4bcronjob(action='update', job_id='<id>', model=null, provider=null)cronjob(action='list')→ still showsmodel: gemma4:e4b(NOT reset)Related Issues