hermes-agent/website/docs/user-guide
Teknium 90b3c54de9
fix: drain thread no longer crashes on fd-less stdout streams (#34789)
* docs(code-execution): document HERMES_* env narrowing + passthrough workaround

The execute_code sandbox-child env scrub (108397726, #27303) deliberately
dropped the broad HERMES_ prefix passthrough, keeping only an operational
4-var allowlist (HERMES_HOME/PROFILE/CONFIG/ENV). A script that relied on a
non-secret HERMES_* var (HERMES_BASE_URL, HERMES_KANBAN_DB, HERMES_*_WEBHOOK,
or a plugin-defined one) now sees it unset in the child.

Document the behavior change and the two recovery routes (terminal.env_passthrough
in config.yaml, or required_environment_variables in skill frontmatter), plus
the debug log line that surfaces the drop for diagnosis.

* fix: drain thread no longer crashes on fd-less stdout streams

The _wait_for_process drain thread called proc.stdout.fileno()
unconditionally. ProcessHandle implementations whose stdout is not
backed by a real OS fd (iterator-style in-memory streams, mock procs)
raised 'list_iterator' object has no attribute 'fileno' (or
'fileno() returned a non-integer' from select.select), killing the
daemon thread and silently losing all process output.

Resolve the fd defensively at the top of _drain; when stdout has no
usable integer fileno, fall back to draining it as an iterable (the
legacy 'for line in proc.stdout' contract). The real subprocess /
os.pipe-backed select() fast path is unchanged.
2026-05-29 12:16:57 -07:00
..
features fix: drain thread no longer crashes on fd-less stdout streams (#34789) 2026-05-29 12:16:57 -07:00
messaging Correct URL format for simplex-chat download 2026-05-29 12:06:22 -07:00
secrets feat(secrets/bitwarden): EU Cloud + self-hosted server URL support (#31378) 2026-05-24 02:19:57 -07:00
skills docs(config): deprecate MESSAGING_CWD guidance 2026-05-29 12:06:22 -07:00
_category_.json feat: add documentation website (Docusaurus) 2026-03-05 05:24:55 -08:00
checkpoints-and-rollback.md feat(checkpoints): v2 single-store rewrite with real pruning + disk guardrails (#20709) 2026-05-06 05:44:35 -07:00
cli.md fix(docs): add baseUrl prefix to SVG image paths in sessions and CLI pages 2026-05-29 12:06:22 -07:00
configuration.md fix(docs): align fallback provider config examples 2026-05-29 12:06:22 -07:00
configuring-models.md docs: replace invalid 'hermes config get <key>' with 'hermes config show' 2026-05-29 12:06:22 -07:00
docker.md fix(docker): accept PUID/PGID as aliases for HERMES_UID/HERMES_GID (#25872) (#34401) 2026-05-29 16:07:15 +10:00
git-worktrees.md docs(config): deprecate MESSAGING_CWD guidance 2026-05-29 12:06:22 -07:00
multi-profile-gateways.md docs(gateway): add multi-profile gateways operations guide 2026-05-29 04:11:10 -07:00
profile-distributions.md docs(profiles): full user guide for profile distributions (#22017) 2026-05-08 11:13:45 -07:00
profiles.md docs: 30-day overhaul — correctness audit, PR coverage, Nous Portal weave, sidebar reorg (#33782) 2026-05-28 02:41:36 -07:00
security.md docs(config): deprecate MESSAGING_CWD guidance 2026-05-29 12:06:22 -07:00
sessions.md docs: fix session recap image baseUrl 2026-05-29 12:06:22 -07:00
tui.md feat: add TUI session orchestrator 2026-05-26 20:51:59 -07:00
windows-native.md fix(website): cross-locale doc links + drop empty ko locale (#31895) 2026-05-24 23:16:20 -07:00
windows-wsl-quickstart.md docs(windows): add WSL desktop shortcut guide 2026-05-29 04:00:57 -07:00