hermes - 💡(How to fix) Fix [Feature]: Desktop Remote - working directory and terminal show server file/process

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…
RAW_BUFFERClick to expand / collapse

Problem or Use Case

When Hermes Desktop connects to a remote/backend Hermes instance, chat and tools run on the backend machine, but the Desktop file browser and terminal appear to use the client machine’s filesystem/terminal. This makes backend project paths unreadable in the UI and prevents using the Desktop terminal in the same environment the agent is actually operating in.

Proposed Solution

Add a Desktop setting for workspace locality, for example:

text Workspace mode:

  • Local Desktop
  • Remote Backend / Server
  • Auto

When set to Remote Backend / Server, the Desktop app should route workspace operations through the Hermes backend/gateway instead of using Electron-local APIs.

Project file tree Directory listing should be performed on the backend machine.

File paths should be backend-native paths.

Example RPC:

Code · text fs.readDir({ path }) Example response:

Code · json { "entries": [ { "name": "package.json", "path": "/home/user/project/package.json", "isDirectory": false } ] }

File open / read / preview Opening files from the project tree should read backend files, not client-local files.

This may need backend RPCs such as:

text fs.readFile fs.stat fs.gitRoot

Optional refresh/watch support could be handled with:

Code · text fs.watch or polling.

Working directory picker / input The user should be able to type or select a backend path.

The Desktop app should not validate backend paths using the client filesystem.

Validation should be done by the backend.

Desktop terminal The terminal panel should optionally open a PTY on the Hermes backend machine.

Example RPC/session model:

Code · text terminal.start({ cwd, cols, rows }) terminal.write({ id, data }) terminal.resize({ id, cols, rows }) terminal.dispose({ id }) Terminal output should be streamed back over the gateway websocket.

In remote backend mode, opening the terminal in Desktop should show a shell on the backend, not a shell on the Desktop client machine.

Path semantics Backend mode should keep paths as backend-native paths, for example:

Code · text /home/user/project rather than translating them to client-local paths such as Windows drive letters or UNC paths.

Clear UI labeling The Desktop app should show whether the workspace is:

local to this Desktop app remote/backend-hosted For example:

Code · text Workspace: Remote backend — /home/user/project Terminal: Remote backend shell

Alternatives Considered

No response

Feature Type

Other

Scope

None

Contribution

  • I'd like to implement this myself and submit a PR

Debug Report (optional)

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