Skip to content

Fix misleading terminal tool description for Windows users - #7667

Closed
jiakeboge wants to merge 5 commits into
NousResearch:mainfrom
jiakeboge:fix-terminal-tool-description
Closed

Fix misleading terminal tool description for Windows users#7667
jiakeboge wants to merge 5 commits into
NousResearch:mainfrom
jiakeboge:fix-terminal-tool-description

Conversation

@jiakeboge

@jiakeboge jiakeboge commented Apr 11, 2026

Copy link
Copy Markdown

Summary

Fixes #7672 by updating the terminal tool description to reflect Hermes' configurable execution backends.

The previous wording implied commands always ran in a Linux cloud environment, which was misleading for local
users, especially Windows users running with TERMINAL_ENV=local.

This PR makes the schema text backend-agnostic:

  • commands run in the configured environment
  • sandbox cleanup warnings only apply when sandboxes are actually configured

Scope

Text-only change in tools/terminal_tool.py.
No runtime behavior changes.

The previous description mentioned "Linux environment" and "cloud sandboxes"
which could confuse Windows users running in local mode into thinking the
agent was executing remotely.

Changes:
- "Linux environment" -> "configured environment (local machine, Docker
  container, or cloud sandbox depending on setup)"
- "cloud sandboxes" -> "Sandboxes (when configured)"

This makes the description accurately reflect that the execution environment
depends on the user's TERMINAL_ENV configuration.

🤖 Generated with [Qoder][https://qoder.com]
jiakeboge and others added 4 commits April 13, 2026 16:21
  Update code_execution_tool.py to use the same sandbox persistence wording
  already applied in terminal_tool.py.

  This avoids implying that cloud sandbox backends are the default session
  behavior, which is misleading for local backend users.

  Related to NousResearch#7667
Ensures the execute_code tool schema doesn't unconditionally claim
cloud sandbox usage, matching the terminal_tool fix for NousResearch#7672.

🤖 Generated with [Qoder][https://qoder.com]
@alt-glitch alt-glitch added type/docs Documentation improvements P3 Low — cosmetic, nice to have tool/terminal Terminal execution and process management labels Apr 29, 2026
@alt-glitch

Copy link
Copy Markdown
Collaborator

Likely duplicate of #8364 — both fix #7672 by making the terminal tool description backend-agnostic. No files_changed on this PR (empty diff or draft).

@teknium1 teknium1 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for addressing a real cross-platform description defect. Current main still hardcodes "Linux environment" in tools/terminal_tool.py:958, although _get_env_config() and _create_environment() support local, Docker, SSH, Singularity, Modal, and Daytona (tools/terminal_tool.py:1260-1424).

Problems

  • The execute_code addition repeats terminal() is foreground-only (no background or pty) immediately before the unchanged identical sentence (tools/code_execution_tool.py:1529-1532 in this PR).
  • The public tools reference retains the same Linux-only statement at website/docs/reference/tools-reference.md:170; the schema-only update leaves user-facing documentation inconsistent.

Suggested changes

  • Keep one foreground-only sentence in build_execute_code_schema().
  • Carry the backend-agnostic wording into website/docs/reference/tools-reference.md:170.
  • Prefer regression assertions for the durable no-Linux-only claim over incidental exact phrasing.

Automated hermes-sweeper review.

f"Available via `from hermes_tools import ...`:\n\n"
f"{tool_lines}\n\n"
"Limits: 5-minute timeout, 50KB stdout cap, max 50 tool calls per script. "
"terminal() is foreground-only (no background or pty). "

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This sentence is duplicated by the unchanged next line. Keep the new sandbox-persistence wording if desired, but retain only one terminal() is foreground-only (no background or pty) sentence in the generated schema.

@teknium1 teknium1 added sweeper:risk-platform-windows Sweeper risk: may break or behave differently on native Windows sweeper:blast-broad Sweeper blast radius: broad — a core path most sessions hit labels Jul 12, 2026
@jiakeboge jiakeboge closed this Jul 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

P3 Low — cosmetic, nice to have sweeper:blast-broad Sweeper blast radius: broad — a core path most sessions hit sweeper:risk-platform-windows Sweeper risk: may break or behave differently on native Windows tool/terminal Terminal execution and process management type/docs Documentation improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: Terminal tool description is misleading for Windows users

4 participants