hermes-agent/tools
teknium1 c33feb6dc9 Fix host CWD leaking into non-local terminal backends
When using Modal, Docker, SSH, or Singularity as the terminal backend
from the CLI, the agent resolved cwd: "." to the host machine's local
path (e.g. /Users/rewbs/code/hermes-agent) and passed it to the remote
sandbox, where it doesn't exist. All commands failed with "No such file
or directory".

Root cause: cli.py unconditionally resolved "." to os.getcwd() and wrote
it to TERMINAL_CWD regardless of backend type. Every tool then used that
host-local path as the working directory inside the remote environment.

Fixes:
- cli.py: only resolve "." to os.getcwd() for the local backend. For all
  remote backends (ssh, docker, modal, singularity), leave TERMINAL_CWD
  unset so the tool layer uses per-backend defaults (/root, /, ~, etc.)
- terminal_tool.py: added sanity check -- if TERMINAL_CWD contains a
  host-local prefix (/Users/, /home/, C:\) for a non-local backend, log
  a warning and fall back to the backend's default
- terminal_tool.py: SSH default CWD is now ~ instead of os.getcwd()
- file_operations.py: last-resort CWD fallback changed from os.getcwd()
  to "/" so host paths never leak into remote file operations
2026-02-16 22:30:04 -08:00
..
__init__.py Add Text-to-Speech (TTS) functionality with multiple providers 2026-02-12 10:05:08 -08:00
browser_tool.py Enhance browser tool functionality and cleanup process 2026-02-09 04:36:37 +00:00
cronjob_tools.py Enhance CLI with multi-platform messaging integration and configuration management 2026-02-02 19:01:51 -08:00
file_operations.py Fix host CWD leaking into non-local terminal backends 2026-02-16 22:30:04 -08:00
file_tools.py Refactor file operations and environment management in file_tools and terminal_tool 2026-02-16 19:37:40 -08:00
fuzzy_match.py Add file manipulation tools and enhance setup scripts 2026-02-05 03:49:46 -08:00
image_generation_tool.py Enhance batch processing and image generation tools 2026-01-18 10:11:59 +00:00
mixture_of_agents_tool.py Enhance logging and tool initialization for improved performance 2026-01-29 19:59:59 +00:00
patch_parser.py Add file manipulation tools and enhance setup scripts 2026-02-05 03:49:46 -08:00
rl_training_tool.py Update dependencies and enhance installation scripts 2026-02-07 00:05:04 +00:00
skills_tool.py Enhance skills tool to have an arg so it is more reliably called, and error handling in agent 2026-02-03 15:26:59 -08:00
terminal_hecate.py Update environment configuration and enhance terminal tool integration 2026-01-23 12:26:53 +00:00
terminal_tool.py Fix host CWD leaking into non-local terminal backends 2026-02-16 22:30:04 -08:00
transcription_tools.py Add messaging platform enhancements: STT, stickers, Discord UX, Slack, pairing, hooks 2026-02-15 21:38:59 -08:00
tts_tool.py Enhance TTS tool to support platform-specific audio formats 2026-02-14 16:13:26 -08:00
vision_tools.py Enhance image handling and analysis capabilities across platforms 2026-02-15 16:10:50 -08:00
web_tools.py Add a claude code-like CLI 2026-01-31 06:30:48 +00:00