Skip to content

Releases: dodo-reach/hermes-desktop

Hermes Desktop v1.2.0

Choose a tag to compare

@dodo-reach dodo-reach released this 18 Jun 10:46

Hermes Desktop v1.2.0

Hermes Desktop 1.2.0 is the local Hermes release.

If Hermes Agent runs on your Mac, you can now choose This Mac and use the
whole Desktop workspace without setting up SSH to localhost. Sessions, Chat,
Workflows, Files, Skills, Usage, Cron, Kanban, and Terminal work directly
against your current macOS account's real Hermes installation.

The idea stays the same: Hermes Desktop does not create a second copy of your
Hermes state. It now meets Hermes where it already runs, whether that is this
Mac, a Raspberry Pi on your network, another Mac, a VPS, or a remote server.

What Changed

  • Connections now have an explicit This Mac or SSH Host mode.
  • This Mac needs only a connection name. There is no SSH alias, hostname,
    user, port, host-key setup, or passwordless SSH requirement.
  • Every main workspace surface supports local Hermes: Sessions and transcripts,
    the real Hermes TUI in Chat, Workflows, Files, Skills, Usage, Cron Jobs,
    Kanban, discovery, and Terminal.
  • The embedded Terminal opens a real local shell and uses the same Hermes
    profile, custom home, PATH preparation, and launch rules as the rest of the
    app.
  • Named profiles and custom HERMES_HOME paths work in both local and SSH
    mode.
  • Actions that edit files, skills, scheduler state, sessions, or Kanban make it
    clear when they are changing this Mac's real Hermes data.

Existing SSH Connections

Nothing about the remote workflow is being replaced. Existing saved
connections continue to load as SSH Host, keep the same workspace identities,
and retain the established SSH arguments, multiplexing behavior, retry path,
terminal environment, and profile scoping.

Direct-local mode is also intentionally separate from an SSH connection aimed
at localhost, so workflows, bookmarks, pinned sessions, and preferences do
not collide between the two.

Also Included

  • Saved connection loading is more resilient: malformed or future connection
    entries no longer prevent valid profiles from loading.
  • LAN SSH failures now point to the macOS Local Network permission when that is
    the likely blocker.
  • English, Simplified Chinese, and Russian copy now describes local and SSH
    operation accurately.

Requirements

  • macOS 14 or newer
  • python3 available on the machine where Hermes runs
  • Hermes data under ~/.hermes, a named profile, or a configured custom home
  • Chat, Terminal resume, and Workflows require the hermes CLI through the
    prepared shell PATH
  • SSH mode additionally requires non-interactive SSH authentication and an
    accepted host key

Distribution

  • universal macOS build for Apple Silicon and Intel
  • ad-hoc signed and not notarized by Apple
  • on most supported macOS versions, first launch may require right-click →
    Open / Open Anyway
  • release archive: HermesDesktop.app.zip
  • checksum: HermesDesktop.app.zip.sha256
  • manifest: HermesDesktop.app.zip.manifest.json

macOS 26.5.1 Gatekeeper note

On some Macs running macOS 26.5.1 (build 25F80), Gatekeeper may say that the
downloaded app "is damaged and can't be opened" and may not offer Open Anyway. This note applies only to that version and build when that exact alert
appears.

Before continuing, verify the v1.2.0 archive:

shasum -a 256 ~/Downloads/HermesDesktop.app.zip

The v1.2.0 result must be:

34ef72ea39e76659f81ceecbc1c42fd970ba1478bed9257d7f3e68306917057d

Do not continue if it differs. After extracting the verified zip and moving
the app into Applications, remove the browser quarantine from Hermes Desktop
only and open it:

xattr -dr com.apple.quarantine "/Applications/HermesDesktop.app"
open "/Applications/HermesDesktop.app"

This does not disable Gatekeeper globally and does not require sudo.

Alternatively, inspect the source and build locally. The resulting app does
not inherit browser download quarantine:

git clone https://github.com/dodo-reach/hermes-desktop.git
cd hermes-desktop
./scripts/build-macos-app.sh
open "dist/HermesDesktop.app"

Hermes Desktop v1.1.1

Choose a tag to compare

@dodo-reach dodo-reach released this 09 Jun 16:10

Hermes Desktop v1.1.1

v1.1.1 is a focused Settings and connection-hardening release.

It keeps the same direct SSH-first model from v1.1.0, while making host
management calmer when you move between network paths, SSH aliases, or saved
hosts. The selected Hermes host remains the source of truth: no gateway service,
no local mirror, and no background sync layer.

What Changed

  • Settings now serializes automatic host discovery refreshes for the active
    workspace, reducing duplicate probes and avoiding misleading transient
    connection-health states.
  • Switching hosts now clears the previous "Last Checked" timestamp so Settings
    always reflects the currently selected host.
  • Host management now includes a confirmed "Remove Host" action. Removing a host
    only deletes the saved local connection from Hermes Desktop; remote Hermes
    files and profiles are left untouched.
  • The first "Edit Host" action now opens the selected host details immediately,
    so the sheet shows the connection being edited from the first attempt.

Compatibility

  • macOS 14 or newer
  • SSH from this Mac to the Hermes host must already work without interactive
    prompts
  • python3 must be available on the host
  • Chat and Terminal resume require the remote hermes CLI on the
    non-interactive SSH PATH
  • public releases are still ad-hoc signed and not notarized by Apple

Still True

  • Hermes Desktop connects directly over SSH
  • the Hermes host remains the source of truth
  • sessions, Kanban, cron jobs, files, skills, usage, Chat, and Terminal all stay
    anchored to the selected host and profile
  • workflow presets remain local launch helpers, not a second transport model or
    synchronization layer

Notes

  • universal macOS build for Apple Silicon and Intel
  • ad-hoc signed and not notarized yet, so first launch may still require
    right-click -> Open / Open Anyway
  • release archive: HermesDesktop.app.zip
  • checksum: HermesDesktop.app.zip.sha256
  • manifest: HermesDesktop.app.zip.manifest.json

Hermes Desktop v1.1.0

Choose a tag to compare

@dodo-reach dodo-reach released this 07 Jun 21:45

Hermes Desktop 1.1.0 is the appearance release. Your SSH-first workspace is the
same dependable Hermes, now with more room to make it feel like yours.

You can choose Light, Dark, or System appearance, tune the window opacity, use a
translucent material, and add an optional background image behind the workbench
and terminal. Terminal and Sessions Chat now share font family and size
preferences, so long work sessions can feel clearer, calmer, and more personal.

This release also polishes the Settings experience and split-pane behavior. Host
and profile controls are denser, resizing feels steadier, panels keep practical
minimum widths, and transparent terminal backgrounds stay transparent when a
background image is active.

Fixes:

  • select the first saved host automatically when no active host preference
    exists
  • repair stale active-host preferences on launch
  • make a newly saved first host active immediately
  • select the next available host after deleting the active host

Thanks to @Yunle-Lee for sharing early PRs around background images and terminal
scrolling. The appearance customization landed through a separate
implementation, and PR #56 helped shape the terminal scrolling fix included in
this release.

Download:

  • Use HermesDesktop.app.zip, the single universal macOS archive for Apple
    Silicon and Intel Macs.
  • This build is still ad-hoc signed and not notarized, so macOS may still
    require right-click > Open on first launch.

Validation:

  • Ran ./scripts/run-tests.sh: 118 tests passed.
  • Built from exact tag v1.1.0 with ./scripts/package-github-release.sh.
  • Verified CFBundleShortVersionString is 1.1.0 and CFBundleVersion is
    129.
  • Verified universal architectures: arm64 x86_64.
  • Verified archive, manifest, checksum, bundle metadata, and ad-hoc signature
    with ./scripts/verify-release.sh.

SHA-256:

1b87ec967a80ca9b394a378f741c4566ee41c584293b5840c10af044cae08d69  HermesDesktop.app.zip

Hermes Desktop v1.0.1

Choose a tag to compare

@dodo-reach dodo-reach released this 03 Jun 06:44

Hermes Desktop v1.0.1

Hermes Desktop 1.0.1 fixes a host selection regression introduced in the
v1.0.0 Settings refresh.

On a fresh install, saving the first host could write connections.json
successfully but leave preferences.json without an active lastConnectionID.
The host was saved locally, but the Settings UI still behaved as if no host was
available.

Fixes:

  • select the first saved host automatically when no active host preference
    exists
  • repair stale active-host preferences on launch
  • make a newly saved first host active immediately
  • select the next available host after deleting the active host

This release keeps the same distribution model as v1.0.0: a universal macOS app
bundle, ad-hoc signed, not notarized by Apple, with zip checksum and release
manifest assets.

Hermes Desktop v1.0.0

Choose a tag to compare

@dodo-reach dodo-reach released this 01 Jun 20:14

Hermes Desktop v1.0.0

Hermes Desktop 1.0 is a stability and trust release for the native macOS app.

The app keeps its direct SSH-first model: no gateway API, no host daemon, no
local mirror, and no custom sync layer. Your selected Hermes host remains the
source of truth.

This release also refreshes the app icon, so Hermes Desktop may look different
in your Dock and Applications folder.

Highlights:

  • redesigned Settings for hosts, profiles, diagnostics, sidebar preferences,
    app appearance, terminal theme, and update checks
  • added app theme preferences and richer terminal surface customization for
    colors and font size
  • removed the old Overview surface and experimental Desktop chat backend
  • polished the main app views across Sessions, Files, Skills, Cron, Kanban,
    Usage, Terminal, and Workflows
  • improved release packaging with manifest and verification checks

Hermes Desktop is still ad-hoc signed and not notarized by Apple. On first
launch, macOS may require right-click > Open.

Hermes Desktop v0.9.1

Choose a tag to compare

@dodo-reach dodo-reach released this 23 May 13:40

Hermes Desktop v0.9.1

v0.9.1 is a small fixes and hardening release.

It keeps the same direct SSH-first model from v0.9.0, while smoothing a few
rough edges reported by early users. The goal is simple: make the desktop app a
little calmer and more ready for the next bigger step.

No extra gateway layer. No local mirror. The selected Hermes host remains the
source of truth.

What Changed

  • SSH service checks now retry once without connection multiplexing when the
    first attempt fails with a reachability-style error. This helps cases where a
    stale SSH control socket makes Desktop look less healthy than Terminal.
  • Kanban board loading is more resilient when a host has Hermes Agent code and
    an on-disk Kanban database that are out of sync. Desktop can show a direct
    database view when possible and explains that the host schema needs attention.
  • Session transcripts hide leaked terminal control fragments, including partial
    ANSI color sequences that can appear as stray text in the message column.
  • Session model labels now prefer the latest model metadata found in the
    transcript, so a live model switch is less likely to leave stale labels in the
    session list.
  • Embedded Chat startup no longer sends the initial fallback input twice.

Compatibility

  • macOS 14 or newer
  • SSH from this Mac to the Hermes host must already work without interactive
    prompts
  • python3 must be available on the host
  • Chat and Terminal resume require the remote hermes CLI on the
    non-interactive SSH PATH
  • public releases are still ad-hoc signed and not notarized by Apple

Still True

  • Hermes Desktop connects directly over SSH
  • the Hermes host remains the source of truth
  • sessions, Kanban, cron jobs, files, skills, usage, Chat, and Terminal all stay
    anchored to the selected host and profile
  • workflow presets remain local launch helpers, not a second transport model or
    synchronization layer

Notes

  • universal macOS build for Apple Silicon and Intel
  • ad-hoc signed and not notarized yet, so first launch may still require
    right-click -> Open / Open Anyway
  • release archive: HermesDesktop.app.zip
  • checksum: HermesDesktop.app.zip.sha256
  • manifest: HermesDesktop.app.zip.manifest.json

Hermes Desktop v0.9.0

Choose a tag to compare

@dodo-reach dodo-reach released this 20 May 12:13

Hermes Desktop v0.9.0

v0.9.0 is the Hermes Desktop release I suggest everyone try.

This is the chat release. Sessions now has a more mature split between the
stored transcript and a live Chat view, and that Chat view runs the real Hermes
TUI over the same direct SSH path Hermes Desktop already uses. It feels better,
it is easier to reason about, and it keeps the product aligned with the core
idea: the host remains the source of truth.

No browser wrapper. No extra desktop gateway API. No background sync layer. No
local mirror of Hermes state.

Highlights

  • Sessions now separates Transcript from Chat, so you can inspect stored
    history without confusing it with the live Hermes TUI
  • New Chat starts the real hermes --tui flow on the selected SSH host and
    profile
  • existing sessions can be resumed in the embedded Chat TUI with the selected
    Hermes profile preserved
  • the sessions layout is calmer and more durable, with pinned sessions, clearer
    session actions, and a better path for long-term maintenance
  • Workflows can now run in Chat or Terminal, using the same SSH-first launch
    model
  • Overview now surfaces Chat readiness in terms of the embedded Hermes TUI and
    the transcript source Desktop reads back from the host

Fixes

  • fixes #31 (Kanban unable to load) and improves the same failure family
    reported in #35 (Unable to load cron jobs and kanban)
  • Desktop now runs remote Python service probes through the same prepared
    Hermes service environment, reducing failures caused by the wrong
    non-interactive Python or PATH
  • Cron job loading now tolerates the timestamp precision emitted by newer
    Hermes scheduler metadata

If one of these host-specific loading issues still reproduces after installing
v0.9.0, the most useful next diagnostics are from the same SSH target Desktop
uses:

command -v python3
python3 --version
command -v hermes
hermes --version

Compatibility

  • macOS 14 or newer
  • SSH from this Mac to the Hermes host must already work without interactive
    prompts
  • python3 must be available on the host
  • Chat and Terminal resume require the remote hermes CLI on the
    non-interactive SSH PATH
  • public releases are still ad-hoc signed and not notarized by Apple

Still True

  • Hermes Desktop connects directly over SSH
  • the Hermes host remains the source of truth
  • sessions, Kanban, cron jobs, files, skills, usage, Chat, and Terminal all stay
    anchored to the selected host and profile
  • workflow presets remain local launch helpers, not a second transport model or
    synchronization layer

Notes

  • universal macOS build for Apple Silicon and Intel
  • ad-hoc signed and not notarized yet, so first launch may still require
    right-click -> Open / Open Anyway
  • release archive: HermesDesktop.app.zip
  • checksum: HermesDesktop.app.zip.sha256
  • manifest: HermesDesktop.app.zip.manifest.json

Hermes Desktop v0.8.1

Choose a tag to compare

@dodo-reach dodo-reach released this 15 May 15:53

Hermes Desktop v0.8.1

v0.8.1 is a focused polish release for workflows, startup reliability, and
custom Hermes setups.

Hermes Desktop still connects directly to the selected Hermes host over SSH.
The host remains the source of truth. This release does not add a gateway API,
helper daemon, local mirror, or background sync layer.

Highlights

  • workflows now support even longer prompts, giving the new workflow launcher
    more room for richer setup and handoff
  • workflow startup has been hardened for more reliable prompt delivery into
    Terminal, with better diagnostics around the handoff path
  • custom Hermes home paths are now supported more cleanly across path
    resolution, command launch, and terminal bootstrap flows

Compatibility

  • the app still requires SSH access from this Mac to the Hermes host, with
    python3 available on the host
  • in-app chat, terminal resume, and workflow launch paths still require the
    remote hermes CLI to be available on the host's non-interactive SSH PATH
  • public releases are still ad-hoc signed and not notarized by Apple

Still true

  • Hermes Desktop still connects directly over SSH
  • the Hermes host remains the source of truth
  • sessions, Kanban, cron jobs, files, skills, usage, and terminal work stay
    anchored to the selected host and profile
  • workflow presets remain local launch helpers, not a second transport model or
    synchronization layer

Notes

  • universal macOS build for Apple Silicon and Intel
  • ad-hoc signed and not notarized yet, so first launch may still require
    right-click -> Open / Open Anyway
  • release archive: HermesDesktop.app.zip
  • checksum: HermesDesktop.app.zip.sha256
  • manifest: HermesDesktop.app.zip.manifest.json

Hermes Desktop v0.8.0

Choose a tag to compare

@dodo-reach dodo-reach released this 14 May 09:20

Hermes Desktop v0.8.0

v0.8.0 adds reusable terminal workflows, tighter SSH behavior, and a more
complete release verification path.

Hermes Desktop still talks directly to the selected Hermes host over SSH. The
host remains the source of truth. There is no gateway API, remote helper
daemon, local mirror, or background sync layer added in this release.

Highlights

  • new Workflows workspace for reusable prompt presets scoped to the active
    host/profile, with optional skills and one-click launch into a fresh
    Terminal tab
  • workflow presets stay local to the Mac and do not create remote shadow state
  • more resilient non-interactive SSH behavior, including clearer python3
    PATH errors and better handling when shell startup output breaks app requests
  • stronger regression coverage for SSH transport, terminal input submission,
    workflow persistence, connection storage, file editing, and localization
  • new macOS CI, release manifest generation, and packaged-release verification
  • new public trust docs: SECURITY.md and expanded distribution guidance

Compatibility

  • The app still requires SSH access from this Mac to the Hermes host, with
    python3 available on the host.
  • In-app chat, terminal resume, and workflow launch paths still require the
    remote hermes CLI to be available on the host's non-interactive SSH
    PATH.
  • Workflow skill preloading depends on the host exposing the selected skills in
    its Hermes skills store for the active profile.
  • Public releases are still ad-hoc signed and not notarized by Apple.

Still True

  • Hermes Desktop still connects directly over SSH.
  • The Hermes host remains the source of truth.
  • Sessions, Kanban, cron jobs, files, skills, usage, and terminal work stay
    anchored to the selected host and profile.
  • Workflow presets are local launch helpers, not a second transport model or
    synchronization layer.

Notes

  • universal macOS build for Apple Silicon and Intel
  • ad-hoc signed and not notarized yet, so first launch may still require
    right-click -> Open / Open Anyway
  • release archive: HermesDesktop.app.zip
  • checksum: HermesDesktop.app.zip.sha256
  • manifest: HermesDesktop.app.zip.manifest.json

Hermes Desktop v0.7.2

Choose a tag to compare

@dodo-reach dodo-reach released this 09 May 22:13

Hermes Desktop v0.7.2

v0.7.2 is a release-candidate polish and compatibility update for people who
already work inside Hermes Desktop every day. It fixes a real session
navigation regression, adds more flexible split-view controls, and stays aligned
with recent Hermes Agent changes without weakening the app's SSH-first model.

Hermes Desktop still talks directly to the selected Hermes host over SSH. The
host remains the source of truth. There is no gateway API, remote helper daemon,
local mirror, or background sync layer added in this release.

Highlights

  • fixes issue #25: chat transcript scroll position is preserved when you move
    from Sessions to Terminal and back
  • new collapse controls for the workspace sidebar and section browsers, so you
    can give more room to the part of the app you are actively using
  • the workspace sidebar now stays visible in Terminal, preserving the host
    context while still allowing the rest of the workbench to collapse
  • Kanban can now promote triage tasks through the upstream specify flow from
    the native app when the host supports it
  • new Kanban task creation and inspection support for per-task retry limits,
    matching newer upstream Hermes Agent behavior
  • cron jobs recognize and edit the newer all delivery target for connected
    channels
  • skills discovery now reads platforms metadata, exposes it in the detail
    view, and includes it in search
  • continued English, Simplified Chinese, and Russian localization coverage for
    strings touched by this release

Compatibility

  • The app still requires SSH access from this Mac to the Hermes host, with
    python3 available on the host.
  • In-app chat still requires the remote hermes CLI to be available on the
    host's non-interactive SSH PATH.
  • The Kanban Specify action depends on the newer upstream Hermes CLI path and
    may ask you to update Hermes Agent on the host when that support is missing.
  • Per-task Kanban retry limits require a Hermes Agent build that exposes the
    current max_retries task fields and CLI arguments.
  • The all cron delivery target appears correctly only when the host supports
    the current Hermes scheduler delivery semantics.

Still True

  • Hermes Desktop still connects directly over SSH.
  • The Hermes host remains the source of truth.
  • Sessions, Kanban, cron jobs, files, skills, usage, and terminal work stay
    anchored to the selected host and profile.
  • There is no desktop gateway API, remote helper daemon, local mirror, or shadow
    sync layer.

Notes

  • universal macOS build for Apple Silicon and Intel
  • open source
  • ad-hoc signed and not notarized yet, so first launch may still require
    right-click -> Open / Open Anyway
  • release archive: HermesDesktop.app.zip
  • checksum: HermesDesktop.app.zip.sha256