Branch, Handoff, and Resume Hermes Sessions

A Hermes session stores conversation history, model configuration, source platform, title, and a snapshot of the system prompt. Long-running work benefits from explicit names and lineage: operators can resume the correct thread, explore an alternative without destroying the original, and move between CLI and messaging surfaces with a clear return path.

Official documentation: https://hermes-agent.nousresearch.com/docs/user-guide/sessions

Name work before it becomes ambiguous

Use /title to give important sessions a stable, descriptive name. Resume the newest matching lineage with /resume <name> or start Hermes with --resume. --continue resumes the most recent compatible session and is useful only when “most recent” is truly unambiguous.

Use /branch or /fork when an alternative approach should inherit current context but remain independently reversible. The branch should state what differs: a new architecture, riskier experiment, or client-facing rewrite. Avoid branching routine next steps because excessive lineages make retrieval harder.

Handoff checklist

  • Give the session a unique outcome-based title.
  • Record the current artifact path or external state before branching.
  • Branch only when alternatives need independent histories.
  • Use the supported cross-platform handoff flow instead of copying raw transcripts.
  • Confirm the destination surface shows the expected title and recent context.
  • Keep platform permissions and tool authority in mind after handoff.
  • Return with /resume <title> and choose the newest intended lineage.
  • Archive or rename abandoned experiments.

Context is not external state

Resuming restores conversation context, not a frozen world. Files may have changed, deployments may have advanced, and credentials may have expired. On resume, re-check the live repository, process, or service before continuing. A session’s system-prompt snapshot can also differ from current global configuration.

Common pitfalls

  • Using --continue in an environment with many recent test sessions.
  • Giving several sessions the same vague title.
  • Assuming a branch clones uncommitted external state.
  • Moving to a messaging surface without checking its toolset and authorization.
  • Treating the oldest lineage as the latest because titles look similar.
  • Deleting a session before exporting evidence needed for an audit.

Verification steps

  1. Title a neutral test session and send two messages.
  2. Branch it and make one clearly different decision.
  3. Resume the original by title and confirm the branch decision is absent.
  4. Resume the branch and confirm its independent history.
  5. Test one cross-platform handoff if the gateway is configured.
  6. Re-check the filesystem or service state before performing a resumed action.