hermes - ✅(Solved) Fix [BUG] Update button in dashboard deletes all scheduled cron jobs [1 pull requests, 2 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
NousResearch/hermes-agent#25281Fetched 2026-05-14 03:47:34
View on GitHub
Comments
2
Participants
2
Timeline
8
Reactions
0
Author
Participants
Timeline (top)
labeled ×4commented ×2cross-referenced ×1referenced ×1

Root Cause

Likely one of the following:

  1. Cron job storage is in the same location as code that gets overwritten during updates
  2. The update process runs a migration that clears the cron table
  3. Cron data is stored in a file that gets deleted/replaced during update
  4. No backup of cron data is made before update runs

Fix Action

Fix / Workaround

The Hermes team continues to release code that destroys user data. Dangerous code is being shipped without addressing known issues. Cron jobs are a critical part of automation workflows and should NEVER be deleted by an update. This needs to be fixed permanently, not just patched over each time it happens.

PR fix notes

PR #25297: fix(profile): exclude cron from distribution payload on update

Description (problem / solution / changelog)

Summary

Fixes #25281 — "Update button in dashboard deletes all scheduled cron jobs"

The Bug

_copy_dist_payload() in profile_distribution.py copies a distribution's cron/ directory to the target profile during update. If the distribution ships an empty cron/ scaffolding directory, shutil.rmtree(dest) is called on the user's existing cron directory, and copytree then copies the empty staging dir — wiping all user cron jobs.

The Fix

Add "cron" to USER_OWNED_EXCLUDE alongside "memories", "sessions", "logs", etc. User-created cron jobs (cron/jobs.json) are now protected on update the same way other user data already is.

Root cause analysis

  • profile_distribution.py line 554-556: if dest.exists(): shutil.rmtree(dest) — called before copytree
  • cron/ was not in USER_OWNED_EXCLUDE (line 98)
  • Any distribution with a bundled cron/ directory (even empty) would wipe user crons on update
  • This explains why cron jobs kept disappearing on every update despite being reported before

Files changed

  • hermes_cli/profile_distribution.py — +5 lines to USER_OWNED_EXCLUDE
  • tests/hermes_cli/test_profile_distribution.py — +8 lines: extend test_update_preserves_user_data to cover cron/jobs.json

Tests

All 63 tests in test_profile_distribution.py pass.

Changed files

  • .pr-body.md (added, +39/-0)
  • gateway/platforms/telegram.py (modified, +10/-2)
  • hermes_cli/profile_distribution.py (modified, +5/-0)
  • tests/gateway/test_telegram_polling_conflict_retry.py (added, +177/-0)
  • tests/hermes_cli/test_profile_distribution.py (modified, +9/-0)
RAW_BUFFERClick to expand / collapse

Problem

Pressing the "Update Hermes" button in the dashboard completely wipes all scheduled cron jobs. This has happened multiple times. Every time an update is applied, all cron job configurations are destroyed.

What Should Happen

Cron jobs should be stored in a database or config file that persists across updates. The update process should NEVER touch user data — only Hermes core code should be updated.

What Actually Happens

  1. User clicks "Update Hermes" in the dashboard
  2. All scheduled cron jobs are deleted
  3. Every cron job configuration (schedule, prompt, name, settings) is gone
  4. User has to manually recreate all cron jobs from scratch

Impact

  • All scheduled tasks stop running — monitoring, scanning, and automation all halt
  • This is a recurring bug that has happened multiple times
  • User loses hours of work reconstructing cron job configurations
  • Production automation is disrupted

Root Cause

Likely one of the following:

  1. Cron job storage is in the same location as code that gets overwritten during updates
  2. The update process runs a migration that clears the cron table
  3. Cron data is stored in a file that gets deleted/replaced during update
  4. No backup of cron data is made before update runs

Expected Behavior

  • Cron job data MUST be preserved across updates
  • If database migrations are run, they should be additive only (never delete user data)
  • There should be a backup of user data before any update

User Context

This has happened multiple times. The same issue keeps occurring despite being reported before. The update process is destructive to user data and this is unacceptable for any software, let alone an agent framework running production workloads.

Complaint

The Hermes team continues to release code that destroys user data. Dangerous code is being shipped without addressing known issues. Cron jobs are a critical part of automation workflows and should NEVER be deleted by an update. This needs to be fixed permanently, not just patched over each time it happens.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

hermes - ✅(Solved) Fix [BUG] Update button in dashboard deletes all scheduled cron jobs [1 pull requests, 2 comments, 2 participants]