[{"data":1,"prerenderedAt":966},["ShallowReactive",2],{"blog-post-hermes-update-failed":3,"related-posts-hermes-update-failed":942},{"id":4,"title":5,"author":6,"body":11,"category":919,"date":920,"description":921,"extension":922,"featured":923,"hideToc":923,"image":924,"imageAlt":925,"imageHeight":925,"imageWidth":925,"itemList":925,"lang":925,"meta":926,"navigation":927,"noindex":923,"path":928,"readingTime":929,"redirected":923,"relatedSlugs":925,"seo":930,"seoTitle":931,"stem":932,"subtitle":925,"tags":933,"updatedDate":920,"__hash__":941},"blog/blog/hermes-update-failed.md","Hermes Update Failed or Broke Your Setup? Fix It and Roll Back",{"name":7,"role":8,"avatar":9,"bio":10},"Shabnam Katoch","Growth Head","/img/avatars/shabnam-profile.jpeg","Shabnam leads growth at BetterClaw and has spent the past three years building organic distribution for AI-native products. She writes about no-code agent builders, content strategy, and what it actually takes to grow without an ads budget.",{"type":12,"value":13,"toc":906},"minimark",[14,18,25,28,33,40,43,102,105,111,119,126,130,136,139,146,152,167,173,179,190,196,200,207,213,216,231,259,262,266,269,301,312,316,322,346,352,355,361,368,395,402,406,409,412,459,470,480,484,490,493,496,539,546,550,555,619,625,629,635,638,680,689,695,698,723,727,733,815,823,827,837,856,867,886,902],[15,16,17],"p",{},"The update hung, failed, or finished and now something is missing. Here's how to recover, roll back to the last working version, and update safely next time.",[19,20,22],"callout",{"type":21},"quick-fix",[15,23,24],{},"Hermes protects itself during an update. It snapshots your config first, rolls the code back if the new version can't even start, and disables plugins that don't fit instead of failing. So most \"the update broke everything\" moments are a config, plugin or process problem, not a dead install. Read the update log first, then jump to the fix that matches what you see.",[15,26,27],{},"Checked against Hermes v0.22.5 on 27 October 2026.",[29,30,32],"h2",{"id":31},"before-anything-else-check-what-happened","Before anything else: check what happened",[15,34,35],{},[36,37],"img",{"alt":38,"src":39},"Four commands to run before fixing a Hermes update: tail the update log, hermes doctor, hermes --version, hermes gateway status","/img/blog/hermes-update-failed-check-commands.jpg",[15,41,42],{},"Four commands tell you almost everything. Run them in this order.",[44,45,50],"pre",{"className":46,"code":47,"language":48,"meta":49,"style":49},"language-bash shiki shiki-themes github-light","tail -f ~/.hermes/logs/update.log    # or: hermes logs update -f\nhermes doctor\nhermes --version\nhermes gateway status\n","bash","",[51,52,53,74,83,91],"code",{"__ignoreMap":49},[54,55,58,62,66,70],"span",{"class":56,"line":57},"line",1,[54,59,61],{"class":60},"s7eDp","tail",[54,63,65],{"class":64},"sYu0t"," -f",[54,67,69],{"class":68},"sYBdl"," ~/.hermes/logs/update.log",[54,71,73],{"class":72},"sAwPA","    # or: hermes logs update -f\n",[54,75,77,80],{"class":56,"line":76},2,[54,78,79],{"class":60},"hermes",[54,81,82],{"class":68}," doctor\n",[54,84,86,88],{"class":56,"line":85},3,[54,87,79],{"class":60},[54,89,90],{"class":64}," --version\n",[54,92,94,96,99],{"class":56,"line":93},4,[54,95,79],{"class":60},[54,97,98],{"class":68}," gateway",[54,100,101],{"class":68}," status\n",[15,103,104],{},"The update log is the important one. Hermes mirrors every line of the update into it, so even if your terminal died halfway, the log shows whether the update finished and whether the gateway came back.",[15,106,107,110],{},[51,108,109],{},"hermes --version"," prints the release and how it was installed. Ours read:",[44,112,117],{"className":113,"code":115,"language":116},[114],"language-text","Hermes Agent v0.22.5 (2026.9.24) · stable · local bf0203a794a0\nInstall method: git\n","text",[51,118,115],{"__ignoreMap":49},[15,120,121,122,125],{},"Every update also writes a receipt to ",[51,123,124],{},"~/.hermes/logs/update_receipts/latest.json",": what it planned, each step, what it skipped and why, and whether each gateway restarted. If the log and the receipt disagree with what you see, trust the receipt.",[29,127,129],{"id":128},"fix-1-the-update-is-stuck-or-hangs","Fix 1: the update is stuck or hangs",[15,131,132],{},[36,133],{"alt":134,"src":135},"Four reasons a Hermes update looks stuck: draining the gateway, another update running, terminal dropped, or a locked file on Windows","/img/blog/hermes-update-failed-stuck-reasons.jpg",[15,137,138],{},"A \"stuck\" update is usually waiting on purpose. There are three common reasons, and the log tells you which.",[15,140,141,145],{},[142,143,144],"strong",{},"It's draining the gateway."," Hermes won't cut off a running job. Before restarting the gateway, it waits for in-flight chats and cron jobs to finish, for up to 30 minutes by default, and prints what it's waiting on every 30 seconds:",[44,147,150],{"className":148,"code":149,"language":116},[114],"→ hermes-gateway: draining (up to 1875s)...\nwaiting on 1 active work unit(s):\n• cron job 6ba19dab68df (nightly-scout) ...\n",[51,151,149],{"__ignoreMap":49},[15,153,154,155,158,159,162,163,166],{},"Let the job finish, stop it, or lower ",[51,156,157],{},"agent.restart_after_turn_timeout"," in ",[51,160,161],{},"config.yaml"," (",[51,164,165],{},"0"," restarts immediately).",[15,168,169,172],{},[142,170,171],{},"Another update is already running."," Two at once would corrupt the install, so Hermes refuses:",[44,174,177],{"className":175,"code":176,"language":116},[114],"✗ Another Hermes update is already running (started 4m 12s ago, process 81234).\n",[51,178,176],{"__ignoreMap":49},[15,180,181,182,185,186,189],{},"Usually the Desktop app or a ",[51,183,184],{},"/update"," from chat started it. Wait for it (watch ",[51,187,188],{},"hermes logs","), or close the window that started it, then try again.",[15,191,192,195],{},[142,193,194],{},"Your terminal dropped."," That doesn't kill the update. Hermes ignores a closed SSH session and keeps going, so reconnect and read the log before you kill anything. Only Ctrl+C cancels it on purpose.",[29,197,199],{"id":198},"fix-2-could-not-resolve-the-stable-source-channel","Fix 2: \"Could not resolve the stable source channel\"",[15,201,202,203,206],{},"When we ran ",[51,204,205],{},"hermes update --check"," on a network that blocks GitHub's API, it stopped straight away:",[44,208,211],{"className":209,"code":210,"language":116},[114],"→ Update channel: stable\n✗ Could not resolve the stable source channel: api.github.com answered HTTP 403.\n",[51,212,210],{"__ignoreMap":49},[15,214,215],{},"Hermes asks GitHub for the latest release before it updates. Anonymous requests are limited to 60 per hour per network address, shared with everyone behind the same connection, so offices and shared servers hit it often. When that's the cause, Hermes says \"GitHub API rate limit reached\" and tells you when it resets.",[15,217,218,219,222,223,226,227,230],{},"The fix is a GitHub token. Hermes checks ",[51,220,221],{},"GITHUB_TOKEN",", then ",[51,224,225],{},"GH_TOKEN",", then the ",[51,228,229],{},"gh"," CLI's login:",[44,232,234],{"className":46,"code":233,"language":48,"meta":49,"style":49},"export GITHUB_TOKEN=ghp_your_token\nhermes update\n",[51,235,236,252],{"__ignoreMap":49},[54,237,238,242,246,249],{"class":56,"line":57},[54,239,241],{"class":240},"sD7c4","export",[54,243,245],{"class":244},"sgsFI"," GITHUB_TOKEN",[54,247,248],{"class":240},"=",[54,250,251],{"class":244},"ghp_your_token\n",[54,253,254,256],{"class":56,"line":76},[54,255,79],{"class":60},[54,257,258],{"class":68}," update\n",[15,260,261],{},"That moves you onto your token's 5,000-an-hour budget. If the message says the connection failed instead, it's a firewall or proxy, not a limit.",[29,263,265],{"id":264},"fix-3-windows-says-hermes-is-still-running","Fix 3: Windows says Hermes is still running",[15,267,268],{},"Windows locks files that a running program has open, so an update can't replace them while the Desktop app, a gateway or another terminal is using them.",[270,271,272,276,283,294],"ul",{},[273,274,275],"li",{},"Quit Hermes Desktop and close any other Hermes terminals.",[273,277,278,279,282],{},"Stop the gateway: ",[51,280,281],{},"hermes gateway stop",".",[273,284,285,286,289,290,293],{},"See exactly what's holding the files: ",[51,287,288],{},"hermes update --list-venv-holders",". It prints the processes as a list and exits with ",[51,291,292],{},"3"," while any remain.",[273,295,296,297,300],{},"Stop only those processes, then run ",[51,298,299],{},"hermes update"," again.",[15,302,303,304,307,308,311],{},"Don't kill every process named Python or Hermes. And skip ",[51,305,306],{},"--force"," and ",[51,309,310],{},"--force-venv",": Hermes keeps them for compatibility, but its own docs say they're \"not normal update instructions\" and can leave the install half-updated.",[29,313,315],{"id":314},"fix-4-settings-or-plugins-missing-after-the-update","Fix 4: settings or plugins missing after the update",[15,317,318,319,321],{},"New releases add config options. ",[51,320,299],{}," asks you about them as it runs; if you skipped the prompt, check and add them now:",[44,323,325],{"className":46,"code":324,"language":48,"meta":49,"style":49},"hermes config check\nhermes config migrate\n",[51,326,327,337],{"__ignoreMap":49},[54,328,329,331,334],{"class":56,"line":57},[54,330,79],{"class":60},[54,332,333],{"class":68}," config",[54,335,336],{"class":68}," check\n",[54,338,339,341,343],{"class":56,"line":76},[54,340,79],{"class":60},[54,342,333],{"class":68},[54,344,345],{"class":68}," migrate\n",[15,347,348,351],{},[51,349,350],{},"config check"," shows your config version and lists anything missing. Ours reported \"Config version: 51 ✓\" on v0.22.5.",[15,353,354],{},"If a tool or integration disappeared, look for a disabled plugin first. A plugin that doesn't fit the new version never fails the update. Hermes switches it off and prints a warning instead:",[44,356,359],{"className":357,"code":358,"language":116},[114],"⚠ Disabled plugin '\u003Cname>' in \u003Chome>: \u003Creason>\n",[51,360,358],{"__ignoreMap":49},[15,362,363,364,367],{},"Check ",[51,365,366],{},"hermes plugins list",", then turn it back on once the plugin ships a compatible version:",[44,369,371],{"className":46,"code":370,"language":48,"meta":49,"style":49},"hermes plugins enable \u003Cname>\n",[51,372,373],{"__ignoreMap":49},[54,374,375,377,380,383,386,389,392],{"class":56,"line":57},[54,376,79],{"class":60},[54,378,379],{"class":68}," plugins",[54,381,382],{"class":68}," enable",[54,384,385],{"class":240}," \u003C",[54,387,388],{"class":68},"nam",[54,390,391],{"class":244},"e",[54,393,394],{"class":240},">\n",[15,396,397,398,401],{},"For a memory plugin, the update also clears ",[51,399,400],{},"memory.provider",", so set that again too.",[29,403,405],{"id":404},"fix-5-your-local-code-edits-disappeared","Fix 5: your local code edits disappeared",[15,407,408],{},"If you edit Hermes's own source files, the update stashes your changes first. In a terminal it then asks whether to put them back. From the Desktop app it never puts them back; they stay parked so they can't break the new version.",[15,410,411],{},"To get them back:",[44,413,415],{"className":46,"code":414,"language":48,"meta":49,"style":49},"cd ~/.hermes/hermes-agent\ngit stash list --format='%gd %H %s'\ngit stash apply stash@{0}\n",[51,416,417,425,442],{"__ignoreMap":49},[54,418,419,422],{"class":56,"line":57},[54,420,421],{"class":64},"cd",[54,423,424],{"class":68}," ~/.hermes/hermes-agent\n",[54,426,427,430,433,436,439],{"class":56,"line":76},[54,428,429],{"class":60},"git",[54,431,432],{"class":68}," stash",[54,434,435],{"class":68}," list",[54,437,438],{"class":64}," --format=",[54,440,441],{"class":68},"'%gd %H %s'\n",[54,443,444,446,448,451,454,456],{"class":56,"line":85},[54,445,429],{"class":60},[54,447,432],{"class":68},[54,449,450],{"class":68}," apply",[54,452,453],{"class":68}," stash@{",[54,455,165],{"class":64},[54,457,458],{"class":68},"}\n",[15,460,461,462,465,466,469],{},"Look for the entry named ",[51,463,464],{},"hermes-update-autostash",". If you'd committed changes directly on main, the update saves them under ",[51,467,468],{},"refs/hermes-update-backups/"," before resetting, and prints the ref name.",[15,471,472,473],{},"Updates shouldn't break your agent. On BetterClaw, we update the platform and your agents keep running. ",[474,475,479],"a",{"href":476,"rel":477},"https://betterclaw.io",[478],"nofollow","Start your first agent.",[29,481,483],{"id":482},"fix-6-roll-back-to-the-last-working-version","Fix 6: roll back to the last working version",[15,485,486],{},[36,487],{"alt":488,"src":489},"Hermes rollback: code plus data in the right order — check out the tag, restore the pre-update snapshot, then start the gateway","/img/blog/hermes-update-failed-rollback.jpg",[15,491,492],{},"This is where most old guides are now wrong. In current releases, rolling back the code alone can be refused, because newer gateways change the session database in ways older releases can't read. Hermes stops instead of corrupting your history.",[15,494,495],{},"So a rollback is code plus data, in this order:",[497,498,499,503,515,522,533],"ol",{},[273,500,278,501,282],{},[51,502,281],{},[273,504,505,506,222,509,222,512,282],{},"Check out the older release: ",[51,507,508],{},"cd ~/.hermes/hermes-agent",[51,510,511],{},"git tag --sort=-version:refname",[51,513,514],{},"git checkout v0.22.4",[273,516,517,518,521],{},"Prepare that version's dependencies: ",[51,519,520],{},"python -m pm.cli install"," from the checkout.",[273,523,524,525,528,529,532],{},"Restore your data from before the update: ",[51,526,527],{},"/snapshot restore \u003Cid>"," inside hermes chat, or ",[51,530,531],{},"hermes import \u003Cbackup.zip>"," for a full backup.",[273,534,535,536,282],{},"Start the gateway again and run ",[51,537,538],{},"hermes config check",[15,540,541,542,545],{},"Two warnings. Sessions created after the update aren't in the snapshot. And the old ",[51,543,544],{},"uv pip install -e \".[all]\""," step no longer works: since v0.21.6, Hermes runs only on Python 3.14 with its own dependency manager, and a plain pip install gives you a package with no dependencies.",[29,547,549],{"id":548},"fix-7-docker-nix-and-app-installs","Fix 7: Docker, Nix and app installs",[15,551,552,554],{},[51,553,299],{}," only updates a source checkout. Everything else uses its own updater:",[556,557,558,571],"table",{},[559,560,561],"thead",{},[562,563,564,568],"tr",{},[565,566,567],"th",{},"Install type",[565,569,570],{},"How to update or roll back",[572,573,574,589,603,611],"tbody",{},[562,575,576,580],{},[577,578,579],"td",{},"Docker image",[577,581,582,585,586,588],{},[51,583,584],{},"docker pull nousresearch/hermes-agent:latest",", then recreate the container with the same data mount. ",[51,587,299],{}," refuses inside an image on purpose",[562,590,591,594],{},[577,592,593],{},"Nix",[577,595,596,599,600],{},[51,597,598],{},"nix profile upgrade hermes-agent","; roll back with ",[51,601,602],{},"nix profile rollback",[562,604,605,608],{},[577,606,607],{},"macOS or Windows app",[577,609,610],{},"The Update button in the app",[562,612,613,616],{},[577,614,615],{},"Microsoft Store",[577,617,618],{},"Store updates",[15,620,621,622,624],{},"If ",[51,623,299],{}," says \"This Hermes checkout's git data is damaged\", run the installer again. It moves the broken checkout aside (nothing is deleted) and your config and sessions stay put.",[29,626,628],{"id":627},"update-safely-next-time","Update safely next time",[15,630,631],{},[36,632],{"alt":633,"src":634},"Six steps and three safety nets for a safe Hermes update: check, plan, backup, then update one machine at a time","/img/blog/hermes-update-failed-safe-update.jpg",[15,636,637],{},"Hermes already takes a quick snapshot of your config, cron jobs and credentials before every update. For anything you'd hate to lose, take a full one too:",[44,639,641],{"className":46,"code":640,"language":48,"meta":49,"style":49},"hermes update --check   # what would change, nothing applied\nhermes update --plan    # which gateways restart, and how\nhermes update --backup  # full backup, then update\n",[51,642,643,656,668],{"__ignoreMap":49},[54,644,645,647,650,653],{"class":56,"line":57},[54,646,79],{"class":60},[54,648,649],{"class":68}," update",[54,651,652],{"class":64}," --check",[54,654,655],{"class":72},"   # what would change, nothing applied\n",[54,657,658,660,662,665],{"class":56,"line":76},[54,659,79],{"class":60},[54,661,649],{"class":68},[54,663,664],{"class":64}," --plan",[54,666,667],{"class":72},"    # which gateways restart, and how\n",[54,669,670,672,674,677],{"class":56,"line":85},[54,671,79],{"class":60},[54,673,649],{"class":68},[54,675,676],{"class":64}," --backup",[54,678,679],{"class":72},"  # full backup, then update\n",[15,681,682,683,158,686,688],{},"To make full backups the default, set ",[51,684,685],{},"updates.pre_update_backup: full",[51,687,161],{},". We did, then took a manual snapshot to see what it saves:",[44,690,693],{"className":691,"code":692,"language":116},[114],"State snapshot created: 20261027-103816-before-update\nRestore with: /snapshot restore 20261027-103816-before-update\n",[51,694,692],{"__ignoreMap":49},[15,696,697],{},"A few habits that save the most time:",[270,699,700,703,706,713],{},[273,701,702],{},"Read the release notes before you update.",[273,704,705],{},"Update one machine first if you run several.",[273,707,708,709,712],{},"Write down the tag that works, like ",[51,710,711],{},"v0.22.5",", so a rollback is one checkout away.",[273,714,715,716,718,719,722],{},"Since v0.21.7, ",[51,717,299],{}," follows stable releases only. If you need a fix that's only on main, use ",[51,720,721],{},"hermes update --channel main"," for one run rather than switching for good.",[29,724,726],{"id":725},"version-by-version-update-notes","Version-by-version update notes",[15,728,729],{},[36,730],{"alt":731,"src":732},"A safe Hermes update routine: read the release notes, update one machine first, note the working tag, use --backup for full backups","/img/blog/hermes-update-failed-routine.jpg",[556,734,735,748],{},[559,736,737],{},[562,738,739,742,745],{},[565,740,741],{},"Version",[565,743,744],{},"Released",[565,746,747],{},"What matters when you update",[572,749,750,760,771,782,793,804],{},[562,751,752,754,757],{},[577,753,711],{},[577,755,756],{},"22 Oct 2026",[577,758,759],{},"Current stable. Config version 51",[562,761,762,765,768],{},[577,763,764],{},"v0.22.3 and v0.22.4",[577,766,767],{},"21 Oct 2026",[577,769,770],{},"Gateway owns every local session. Rolling back past this needs a pre-update snapshot",[562,772,773,776,779],{},[577,774,775],{},"v0.22.0",[577,777,778],{},"13 Oct 2026",[577,780,781],{},"Minor release line begins",[562,783,784,787,790],{},[577,785,786],{},"v0.21.7",[577,788,789],{},"11 Oct 2026",[577,791,792],{},"Source installs follow stable releases only, not every commit",[562,794,795,798,801],{},[577,796,797],{},"v0.21.6",[577,799,800],{},"8 Oct 2026",[577,802,803],{},"Python 3.14 only, managed dependencies. pip and uv pip installs stop working",[562,805,806,809,812],{},[577,807,808],{},"v0.21.5 (2026.9.24)",[577,810,811],{},"24 Sep 2026",[577,813,814],{},"Last release before the Python 3.14 switch",[15,816,817],{},[142,818,819,820],{},"Bring your skills and model keys, leave the maintenance. BetterClaw: always-on agents, 500+ apps. ",[474,821,479],{"href":476,"rel":822},[478],[29,824,826],{"id":825},"frequently-asked-questions","Frequently Asked Questions",[15,828,829,832,833,836],{},[142,830,831],{},"Why did my Hermes update fail?"," The most common causes are a GitHub API limit when Hermes looks up the latest release, another update already running, Windows files locked by a running Hermes process, or a damaged git checkout. The update log at ",[51,834,835],{},"~/.hermes/logs/update.log"," names the cause.",[15,838,839,842,843,846,847,849,850,852,853,855],{},[142,840,841],{},"How do I roll back a Hermes update?"," Stop the gateway, check out the older release tag in ",[51,844,845],{},"~/.hermes/hermes-agent",", run ",[51,848,520],{},", then restore your pre-update snapshot with ",[51,851,527],{}," or ",[51,854,531],{},". From v0.22.3, an older release refuses to run on data the newer gateway has written, so restoring the data matters.",[15,857,858,861,862,864,865,282],{},[142,859,860],{},"Hermes update is stuck: what should I do?"," Check ",[51,863,835],{}," before killing anything. Most stuck updates are waiting for a running job to finish before restarting the gateway, which can take up to 30 minutes by default. Finish or stop the listed job, or lower ",[51,866,157],{},[15,868,869,875,876,879,880,883,884,282],{},[142,870,871,872,874],{},"Does ",[51,873,299],{}," back up my config?"," Yes. By default it saves a quick snapshot of your config, ",[51,877,878],{},".env",", credentials, pairing data and cron jobs before every update. For a full backup of your whole Hermes home, run ",[51,881,882],{},"hermes update --backup"," or set ",[51,885,685],{},[15,887,888,891,892,307,894,222,897,307,899,282],{},[142,889,890],{},"Why are my tools or settings missing after a Hermes update?"," Plugins that don't fit the new version are disabled rather than failing the update, and new config options need adding. Run ",[51,893,366],{},[51,895,896],{},"hermes plugins enable \u003Cname>",[51,898,538],{},[51,900,901],{},"hermes config migrate",[903,904,905],"style",{},"html pre.shiki code .s7eDp, html code.shiki .s7eDp{--shiki-default:#6F42C1}html pre.shiki code .sYu0t, html code.shiki .sYu0t{--shiki-default:#005CC5}html pre.shiki code .sYBdl, html code.shiki .sYBdl{--shiki-default:#032F62}html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .sD7c4, html code.shiki .sD7c4{--shiki-default:#D73A49}html pre.shiki code .sgsFI, html code.shiki .sgsFI{--shiki-default:#24292E}",{"title":49,"searchDepth":76,"depth":76,"links":907},[908,909,910,911,912,913,914,915,916,917,918],{"id":31,"depth":76,"text":32},{"id":128,"depth":76,"text":129},{"id":198,"depth":76,"text":199},{"id":264,"depth":76,"text":265},{"id":314,"depth":76,"text":315},{"id":404,"depth":76,"text":405},{"id":482,"depth":76,"text":483},{"id":548,"depth":76,"text":549},{"id":627,"depth":76,"text":628},{"id":725,"depth":76,"text":726},{"id":825,"depth":76,"text":826},"Troubleshooting","2026-10-28","Hermes update failed, stuck or broke your config? Back up first, read the update log, migrate config, roll back to a working version. Every fix.","md",false,"/img/blog/hermes-update-failed.jpg",null,{},true,"/blog/hermes-update-failed","10 min read",{"title":5,"description":921},"Hermes Update Failed or Broke Something? How to Fix It","blog/hermes-update-failed",[934,935,936,937,938,939,940],"hermes update failed","hermes update not working","hermes update stuck","hermes update hangs","hermes agent update command","roll back hermes agent version","hermes update broke config","Wit_C3SjcPieW9kt_Qhx7cQolVDFW8V_hpe4dMIaxFU",[943,951,959],{"stem":944,"title":945,"description":946,"date":947,"image":948,"category":919,"redirected":923,"author":949,"readingTime":950},"blog/hermes-agent-not-working","Hermes Agent Not Working? Couldn't Start, Backend Exited and Every Other Fix (v0.22.5)","Find your Hermes error in one table: error 400, provider auth failed, backend exited, Docker install, Ollama tools not working. Updated for v0.22.","2026-06-08","/img/blog/hermes-agent-not-working.jpg",{"name":7,"role":8,"avatar":9,"bio":10},"13 min read",{"stem":952,"title":953,"description":954,"date":955,"image":956,"category":957,"redirected":923,"author":958,"readingTime":950},"blog/hermes-agent-docker-install","Hermes Agent Docker Install: Setup, Compose, and Troubleshooting (2026)","Install Hermes Agent in Docker with the official image: docker run and Compose files, ports 8642 and 9119, volume permissions, updates, Portainer and Synology.","2026-05-15","/img/blog/hermes-agent-docker-install.jpg","Guides",{"name":7,"role":8,"avatar":9,"bio":10},{"stem":960,"title":961,"description":962,"date":963,"image":964,"category":919,"redirected":923,"author":965,"readingTime":929},"blog/hermes-response-truncated-fix","Hermes \"Response Truncated (finish_reason='length')\": 5 Causes and Fixes (v0.21.5)","Hermes or Pi says the response was truncated before completion, or remained truncated after 4 continuation attempts? 5 causes and the fix for each.","2026-05-19","/img/blog/hermes-response-truncated-fix.jpg",{"name":7,"role":8,"avatar":9,"bio":10},1793257085928]