
skills.create_dir: Make New Skills Land Where Your Config Says — Not Where the Prompt Gets Ignored
Telling your agent 'create skills in /opt/brain/skills' in a prompt is a suggestion; the skill_manage tool writes to ~/.hermes/skills/ and no system prompt can out-argue a file path. The new skills.create_dir config key (PR #100377, merged Sep 1) routes agent-created skills to any directory — and every instruction string, tool schema, and doc that names the creation path dynamically renders your configured directory, so config, tool, and prompt finally agree.
Read more
Your Cron Jobs Died Silently? One Command Gives the Whole Fleet a Checkup
Your scheduled jobs may have been quietly dead for days without you knowing — cron list and cron status both look "normal". The new hermes cron doctor command checks every job in one pass: failed runs, failed deliveries, overdue next_run_at, missing scripts, and dead workdirs, exiting 1 when anything needs action. Merged August 31 (PR #99479), currently on main only.
Read more
Multi-Profile Cron Finally Stops Cross-Talking: Every Profile Delivers via Its Own Bot
If you run Hermes with multiple profiles, you may have seen it: profile B's cron result arrives from profile A's bot — or fails with "Bot not in chat" entirely. A fix merged August 31 (PR #99375) makes delivery identity follow the job's owning profile: each profile sends via its own bot, its own credentials, and its own home chat, and hermes -p X cron status stops lying.
Read more
Status Bar Upgrade: Cache-Hit Rate, Latency, and Tokens/sec at a Glance
Hermes' CLI status bar gained three new metrics: prompt-cache hit rate (◎), rolling average latency (◷), and output tokens per second (↑) — and every field can be toggled via display.status_bar.fields. The cache-hit rate is a direct line to your API bill: more hits, much lower cost. Merged August 30 (PR #98250), currently on main only.
Read more
"Session Not Found"? state.db Now Detects, Quarantines, and Heals Itself
Hermes stores all session history in state.db. In the past, when the database got corrupted you only saw a baffling "session not found" — and the system kept writing into the broken database, making the damage worse. A batch of fixes merged August 30-31 (PR #99513 and siblings) teaches Hermes to handle corruption properly: detect it, quarantine the bad file, heal what can be healed, and fail loudly instead of pretending everything is fine.
Read more
Search Every Hermes Command and Skill in Telegram: The @botname Inline Picker Bypasses the 60-Slot Menu Cap
Telegram hard-caps the / command menu (100 per scope, ~4KB payload; Hermes defaults to 60 slots), so skill commands fall off once you install enough of them. A feature merged August 30 bypasses the cap entirely: type @yourbotname + a keyword in any chat and get a live, searchable picker over every command and installed skill — computed per keystroke, paginated 50 at a time, one tap sends the command into the chat.
Read more
No More 5-Minute Approval Stalls for Unattended Hermes: The New approvals.unattended_mode Key
Webhook, msgraph_webhook, and api_server sessions used to block for the full 60-300s approval timeout when they hit a dangerous command — because no human exists to answer /approve on those surfaces. A fix merged August 30 adds approvals.unattended_mode (default deny) so those sessions fail instantly with a clear reason instead of stalling, plus single_query_mode for hermes chat -q one-shot sessions.
Read more
Long-Lived Sessions Finally Catch Up: Compaction Now Always Rebuilds the System Prompt
Hermes used to restore a long-lived session's system prompt byte-for-byte from its snapshot at every compaction — so guidance improvements, new prompt blocks, and tool renames never reached a session that ran for months. A change merged August 30 (PR #98426) makes the compaction commit always run the live prompt builder: byte-equal output keeps the original object (prefix caches intact), a drifted output wins and logs the diff.
Read more
Context Compression Gets 5x Faster: One Auxiliary Request Instead of 19
Old lean compaction called the auxiliary model once per history chunk to build digests — up to 28 sequential calls on a big session, turning compaction into 7-11 minute stalls on slow auxiliary routes. A change merged August 30 (PR #98628) deletes the digest loop: one auxiliary request per compaction attempt. Measured on a real 500K-token transcript: 196.5s to 39.6s, and ~11K fewer tokens after compaction.
Read more
Give Hermes a time machine: search the web as it was with BackSearch
Imagine asking an LLM to predict next month’s news and realizing it peeked at today’s headlines. BackSearch by General Reasoning freezes the news archive so searches only return documents crawled on or before a date you choose. An official standalone Hermes plugin (NousResearch/hermes-plugin-backsearch, v1.0.0, announced Aug 29) adds two tools — backsearch and backfetch — gated on OPENREWARD_API_KEY, with zero tool footprint when the key is absent. This post covers the concept, install steps, tool reference, and use cases for leak-free forecasting backtests.
Read more
Three new model providers: Ramp Router, Nebius Token Factory, and Tencent TokenPlan
On August 29 Hermes merged three new model providers: Ramp Router (router.com) — one OpenAI Responses-compatible endpoint that routes to many upstreams with server-side fallbacks and spend controls; Nebius Token Factory — Nebius pay-as-you-go inference; and Tencent TokenPlan — the Tencent Cloud Hunyuan token-plan subscription on an Anthropic-compatible endpoint, which also brings the hy4-preview model into the official catalog. PRs #97915/#97916/#97917 are on main, not yet in a release.
Read more
Three new official optional skills: questionnaires, setup wizards, and a plan interrogation
On August 29 Hermes landed three new optional skills at once: decision-questionnaire turns a decision only one person can make into an async questionnaire, setup-wizard-generator produces interactive bash wizards for human-only setup steps, and grill-me v2.0.0 upgrades to frontier-rounds interviewing that interrogates every unexamined assumption in your plan. All three are Hermes-native ports from the 240k-star mattpocock/skills repo, installable with a single hermes skills install.
Read more
Task lists can nest now: Hermes todo grows subtasks
When you hand Hermes a complex job, it keeps a todo list in the session to track its own progress. That list used to be flat — "package the release" and "make sure tests pass" could only sit side by side. PR #97921 (merged Aug 29) adds a parent field to todo items: tasks can nest into trees, surfaces render the indentation automatically, and the whole feature costs only ~45 tokens on the cached tool schema.
Read more
Need to ask a question mid-task? /btw answers it right now, without interrupting
You used to have two bad options when a question popped up mid-run: interrupt the agent, or open a fresh session that knows nothing about the conversation. PR #97937/#97974 (merged Aug 29) turns /btw into a real side-question command: it answers from the current conversation with full context at cache-read prices — no interruption, no pollution, no extra spend. /background retires in the same change; /bg becomes the canonical background-task command.
Read more
One Command Opens a Whole Session: hermes chat -q Now Stays Interactive on a TTY
hermes chat -q "question" used to answer once and exit; getting an interactive session meant running it, saving the session file, then resuming — a clunky two-step dance. The change merged on August 28 (PR #97121) makes -q seed a live interactive session on a real TTY, with the first message submitted literally — never parsed as a slash command or shell escape.
Read more
Hermes Stops Guessing Your Context Size: Usage Anchoring Aligns Compression Thresholds with Real Numbers
Hermes used to re-estimate the whole conversation's token count every turn with heuristics (chars/4, flat 1500-token images), compounding error as history grew — causing surprise compressions and 413 payload-too-large errors. The change merged on August 28 (PR #97206) anchors context accounting on provider-reported usage, shrinking the estimation window from the whole transcript to a single turn.
Read more