# NousResearch/hermes-agent · Cron manual run cancels next scheduled occurrence

## Open now

- 0 issues, 1 PR open on GitHub.
- PR #105956: fix(cron): require explicit manual run marker

These issues and pull requests concern a bug where triggering a cron job manually off its scheduled tick incorrectly stamps or overwrites the next scheduled occurrence, causing it to be silently cancelled. Multiple fixes and approaches to preserving the next occurrence after a manual run are represented.

## TL;DR

- 5 member(s): 0 open issue(s), 1 closed issue(s), 1 open PR(s), 1 merged PR(s), 2 PR(s) closed without merging.
- A fix was merged to main in PR #106306. Verify it addresses your case.
- **Recommended:** read PR #106306 (and any competing PRs below) before filing. Confirm the merged change covers your symptom.

## Maintainer resolution verdict

- Internal-tracker verdict over this cluster's issue members: `unresolved`. This is distinct from the fix status above. Weigh it yourself.

## How this cluster was grouped

- Link evidence (`STRUCTURAL_SPANNING`): every member is connected by structural evidence: shared changed files, or a closing/superseded reference.
- Pairwise link density `0.40`: the share of member pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36. `1.00` means every pair is linked.

## Closed / duplicate issues

- #105690: cron: an off-tick manual run stamps the NEXT scheduled occurrence and silently cancels it

## Prior & competing PRs

- **#106306: fix(cron): an off-tick "run now" no longer cancels the job's next scheduled run (#104790, #105690, #106166; salvage #105704)**. merged to main · fix tier `verified`
  - maintainer direction: category `merged`
  - files: `contributors/emails/12981632+philmossman@users.noreply.github.com`, `cron/jobs.py`, `cron/scheduler_provider.py`, `hermes_cli/web_server_cron.py`, `tests/cron/test_claim_job_for_fire.py`, `tests/cron/test_scheduler_provider.py`, `tests/hermes_cli/test_web_server_cron_profiles.py`, `tests/tools/test_cronjob_run_background.py`, `tests/tools/test_cronjob_run_immediate.py`, `tools/cronjob_tools.py`
- **#105704: fix(cron): don't stamp the next occurrence on an off-tick manual run**. closed without merge
  - maintainer direction: category `implemented_elsewhere`; implication `superseded`; refs `a73b750391`, `#106306`
- **#105939: fix(cron): preserve next occurrence after manual run**. closed without merge
  - maintainer direction: category `superseded_by_pr`; implication `superseded`; refs `#105948`
- **#105956: fix(cron): require explicit manual run marker**. open
  - maintainer direction: category `duplicate_of`; implication `duplicate`; refs `ead7e91dabf1e963796ec834b196984a2fa44ff4`, `#103097`
  - files: `apps/desktop/electron/remote-liveness.test.ts`, `apps/desktop/electron/remote-liveness.ts`, `cron/jobs.py`, `tests/cron/test_jobs.py`

## Fix status

- Merged to main in PR #106306 (cited above). No release data is tracked. Verify downstream.
- Fix last verified (merged) `2026-09-09`.
- Subsystem: `cron`
