hermes - ✅(Solved) Fix [Bug]: vllm provider json error [1 pull requests, 1 participants]

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…
GitHub stats
NousResearch/hermes-agent#12643Fetched 2026-04-20 12:17:43
View on GitHub
Comments
0
Participants
1
Timeline
3
Reactions
0
Participants
Timeline (top)
cross-referenced ×1labeled ×1referenced ×1

Error Message

2026-04-19 16:07:03,432 ERROR [20260419_152425_fc41568b] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 138 (char 137)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 16:07:47,114 INFO gateway.run: inbound message: platform=whatsapp user=Vladutz chat=206506473607359@lid msg="⚠️ Error code: 400 - {'error': {'message': 'Unterminated string starting at: lin" 2026-04-19 16:21:11,076 ERROR [20260419_160703_9fbc30] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 107 (char 106)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 16:21:53,470 INFO gateway.run: inbound message: platform=whatsapp user=Vladutz chat=206506473607359@lid msg='Mi-ai trimis astea 3 mesaje: [4/19, 7:21\u202fPM] Vladutz: ⚠️ Non-retryable error (HT' 2026-04-19 16:22:54,040 ERROR gateway.platforms.whatsapp: [Whatsapp] WhatsApp bridge process exited unexpectedly (code -15). 2026-04-19 16:22:54,046 ERROR gateway.run: Fatal whatsapp adapter error (whatsapp_bridge_exited): WhatsApp bridge process exited unexpectedly (code -15). 2026-04-19 16:24:23,608 ERROR gateway.platforms.whatsapp: [Whatsapp] WhatsApp bridge process exited unexpectedly (code -15). 2026-04-19 16:24:23,612 ERROR gateway.run: Fatal whatsapp adapter error (whatsapp_bridge_exited): WhatsApp bridge process exited unexpectedly (code -15). 2026-04-19 16:54:37,428 ERROR [20260419_163146_8fe4db1e] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 10 (char 9)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 17:16:56,646 ERROR [20260419_171611_92fd84] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 113 (char 112)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 17:26:03,970 ERROR [20260419_170249_fc7630] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 113 (char 112)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 17:36:28,441 ERROR [20260419_162501_e0648fdf] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 68 (char 67)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 17:41:53,701 ERROR [20260419_173628_95cd98] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 13 (char 12)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 17:43:26,372 ERROR [20260419_174259_0d06bb] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 120 (char 119)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 17:43:55,674 ERROR [20260419_174153_40a868] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 120 (char 119)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 17:44:38,984 ERROR [20260419_174355_cd3977] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 120 (char 119)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 17:46:57,911 ERROR [20260419_174438_59b13e] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 120 (char 119)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 17:48:01,859 ERROR [20260419_174657_283be7] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 120 (char 119)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 15:40:22,997 ERROR [20260419_153350_94d980d5] tools.environments.docker: Docker backend selected but no docker executable was found in PATH or known install locations. Install Docker Desktop and ensure the CLI is available. 2026-04-19 15:40:22,998 ERROR [20260419_153350_94d980d5] tools.registry: Tool execute_code dispatch error: Docker executable not found in PATH or known install locations. Install Docker and ensure the 'docker' command is available. Traceback (most recent call last): 2026-04-19 15:42:10,601 ERROR gateway.platforms.whatsapp: [Whatsapp] WhatsApp bridge process exited unexpectedly (code -15). 2026-04-19 15:42:10,612 ERROR gateway.run: Fatal whatsapp adapter error (whatsapp_bridge_exited): WhatsApp bridge process exited unexpectedly (code -15). 2026-04-19 15:50:37,657 ERROR [20260419_154251_850e9a54] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 65 (char 64)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 16:07:03,432 ERROR [20260419_152425_fc41568b] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 138 (char 137)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 16:21:11,076 ERROR [20260419_160703_9fbc30] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 107 (char 106)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 16:22:54,040 ERROR gateway.platforms.whatsapp: [Whatsapp] WhatsApp bridge process exited unexpectedly (code -15). 2026-04-19 16:22:54,046 ERROR gateway.run: Fatal whatsapp adapter error (whatsapp_bridge_exited): WhatsApp bridge process exited unexpectedly (code -15). 2026-04-19 16:24:23,608 ERROR gateway.platforms.whatsapp: [Whatsapp] WhatsApp bridge process exited unexpectedly (code -15). 2026-04-19 16:24:23,612 ERROR gateway.run: Fatal whatsapp adapter error (whatsapp_bridge_exited): WhatsApp bridge process exited unexpectedly (code -15).

Root Cause

Root Cause Analysis (optional)

Fix Action

Fix / Workaround

--- errors.log (last 100 lines) --- code=args.get("code", ""), ^^^^^^^^^^^^^^^^^^^^^^^^^^ task_id=kw.get("task_id"), ^^^^^^^^^^^^^^^^^^^^^^^^^^ enabled_tools=kw.get("enabled_tools")), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/hermes/tools/code_execution_tool.py", line 935, in execute_code return _execute_remote(code, task_id, enabled_tools) File "/opt/hermes/tools/code_execution_tool.py", line 729, in _execute_remote env, env_type = _get_or_create_env(effective_task_id) ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^ File "/opt/hermes/tools/code_execution_tool.py", line 510, in _get_or_create_env env = _create_environment( env_type=env_type, ...<7 lines>... host_cwd=config.get("host_cwd"), ) File "/opt/hermes/tools/terminal_tool.py", line 720, in _create_environment return _DockerEnvironment( image=image, cwd=cwd, timeout=timeout, ...<6 lines>... env=docker_env, ) File "/opt/hermes/tools/environments/docker.py", line 279, in init _ensure_docker_available() ~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/opt/hermes/tools/environments/docker.py", line 182, in _ensure_docker_available raise RuntimeError( ...<2 lines>... ) RuntimeError: Docker executable not found in PATH or known install locations. Install Docker and ensure the 'docker' command is available. 2026-04-19 15:40:22,997 ERROR [20260419_153350_94d980d5] tools.environments.docker: Docker backend selected but no docker executable was found in PATH or known install locations. Install Docker Desktop and ensure the CLI is available. 2026-04-19 15:40:22,998 ERROR [20260419_153350_94d980d5] tools.registry: Tool execute_code dispatch error: Docker executable not found in PATH or known install locations. Install Docker and ensure the 'docker' command is available. Traceback (most recent call last): File "/opt/hermes/tools/registry.py", line 306, in dispatch return entry.handler(args, **kwargs) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^ File "/opt/hermes/tools/code_execution_tool.py", line 1571, in <lambda> handler=lambda args, **kw: execute_code( ~~~~~~~~~~~~^ code=args.get("code", ""), ^^^^^^^^^^^^^^^^^^^^^^^^^^ task_id=kw.get("task_id"), ^^^^^^^^^^^^^^^^^^^^^^^^^^ enabled_tools=kw.get("enabled_tools")), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/hermes/tools/code_execution_tool.py", line 935, in execute_code return _execute_remote(code, task_id, enabled_tools) File "/opt/hermes/tools/code_execution_tool.py", line 729, in _execute_remote env, env_type = _get_or_create_env(effective_task_id) ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^ File "/opt/hermes/tools/code_execution_tool.py", line 510, in _get_or_create_env env = _create_environment( env_type=env_type, ...<7 lines>... host_cwd=config.get("host_cwd"), ) File "/opt/hermes/tools/terminal_tool.py", line 720, in _create_environment return _DockerEnvironment( image=image, cwd=cwd, timeout=timeout, ...<6 lines>... env=docker_env, ) File "/opt/hermes/tools/environments/docker.py", line 279, in init _ensure_docker_available() ~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/opt/hermes/tools/environments/docker.py", line 182, in _ensure_docker_available raise RuntimeError( ...<2 lines>... ) RuntimeError: Docker executable not found in PATH or known install locations. Install Docker and ensure the 'docker' command is available. 2026-04-19 15:42:10,484 WARNING gateway.run: Shutdown diagnostic — other hermes processes running: hermes 23 0.4 0.3 22254808 111164 ? Ssl 15:33 0:02 node /opt/hermes/scripts/whatsapp-bridge/bridge.js --port 3000 --session /opt/data/whatsapp/session --mode self-chat hermes 48 0.0 0.0 6796 3416 ? R 15:42 0:00 ps aux 2026-04-19 15:42:10,601 ERROR gateway.platforms.whatsapp: [Whatsapp] WhatsApp bridge process exited unexpectedly (code -15). 2026-04-19 15:42:10,612 ERROR gateway.run: Fatal whatsapp adapter error (whatsapp_bridge_exited): WhatsApp bridge process exited unexpectedly (code -15). 2026-04-19 15:50:37,657 ERROR [20260419_154251_850e9a54] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 65 (char 64)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 16:07:03,432 ERROR [20260419_152425_fc41568b] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 138 (char 137)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 16:21:11,076 ERROR [20260419_160703_9fbc30] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 107 (char 106)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 16:22:53,799 WARNING gateway.run: Shutdown diagnostic — other hermes processes running: hermes 23 0.4 0.3 22321984 119468 ? Ssl 15:42 0:09 node /opt/hermes/scripts/whatsapp-bridge/bridge.js --port 3000 --session /opt/data/whatsapp/session --mode self-chat hermes 3647 0.0 0.0 6796 3736 ? R 16:22 0:00 ps aux 2026-04-19 16:22:54,040 ERROR gateway.platforms.whatsapp: [Whatsapp] WhatsApp bridge process exited unexpectedly (code -15). 2026-04-19 16:22:54,046 ERROR gateway.run: Fatal whatsapp adapter error (whatsapp_bridge_exited): WhatsApp bridge process exited unexpectedly (code -15). 2026-04-19 16:24:23,405 WARNING gateway.run: Shutdown diagnostic — other hermes processes running: hermes 22 2.0 0.3 22315580 104876 ? Ssl 16:23 0:01 node /opt/hermes/scripts/whatsapp-bridge/bridge.js --port 3000 --session /opt/data/whatsapp/session --mode self-chat hermes 87 0.0 0.0 6796 3480 ? R 16:24 0:00 ps aux 2026-04-19 16:24:23,608 ERROR gateway.platforms.whatsapp: [Whatsapp] WhatsApp bridge process exited unexpectedly (code -15). 2026-04-19 16:24:23,612 ERROR gateway.run: Fatal whatsapp adapter error (whatsapp_bridge_exited): WhatsApp bridge process exited unexpectedly (code -15). 2026-04-19 16:30:55,853 WARNING gateway.run: Unrecognized slash command /approve-always from whatsapp — replying with unknown-command notice 2026-04-19 16:54:37,428 ERROR [20260419_163146_8fe4db1e] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 10 (char 9)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 17:16:56,646 ERROR [20260419_171611_92fd84] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 113 (char 112)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 17:26:03,970 ERROR [20260419_170249_fc7630] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 113 (char 112)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 17:36:28,441 ERROR [20260419_162501_e0648fdf] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 68 (char 67)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 17:41:53,701 ERROR [20260419_173628_95cd98] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 13 (char 12)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 17:43:26,372 ERROR [20260419_174259_0d06bb] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 120 (char 119)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 17:43:55,674 ERROR [20260419_174153_40a868] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 120 (char 119)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 17:44:38,984 ERROR [20260419_174355_cd3977] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 120 (char 119)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 17:46:57,911 ERROR [20260419_174438_59b13e] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 120 (char 119)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 17:48:01,859 ERROR [20260419_174657_283be7] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 120 (char 119)', 'type': 'BadRequestError', 'param': None, 'code': 400}}

PR fix notes

PR #1: Fix JSON truncation causing "Unterminated string" errors (issue #12643)

Description (problem / solution / changelog)

Summary

Fixes #12643 - vllm provider json error

The Bug

During compression/flush_memories, _prune_old_tool_results Pass 3 truncates large tool call arguments using raw string slicing:

args = args[:200] + "...[truncated]"

This breaks JSON validity when the slice position happens to be inside a JSON string value, creating invalid JSON like:

{"path": "file.txt", "content": "some long content here that got cut...[truncated]

(Note: missing closing quote and brace)

Downstream providers like vllm, MiniMax, and others strictly validate tool call arguments and reject malformed JSON with 400 "Unterminated string starting at" errors.

The Fix

Added _truncate_tool_call_args_json helper that:

  1. Parses the JSON structure first
  2. Shrinks long string values inside the parsed object (recursively)
  3. Re-serializes with json.dumps(..., ensure_ascii=False)

This ensures truncated tool call arguments remain valid JSON that all providers can parse.

Test Coverage

Added TestTruncateToolCallArgsJson covering:

  • Short args unchanged
  • Long string values truncated properly
  • Nested dicts and lists handled
  • Non-string values (int, bool, float) preserved
  • Invalid JSON returned unchanged (graceful fallback)
  • CJK characters preserved (ensure_ascii=False)

Impact

  • Low risk: Changes only the truncation logic, no API signature changes
  • Hot path: Affects compression/flush_memories which users with custom vllm endpoints hit frequently
  • Clear reproduction: Issue #12643 has detailed logs showing the error pattern

This is a surgical fix following the pattern from upstream PRs that addressed similar JSON truncation issues (MiniMax #11762).

Changed files

  • .dockerignore (modified, +1/-0)
  • .env.example (modified, +13/-0)
  • .gitattributes (added, +2/-0)
  • .github/ISSUE_TEMPLATE/bug_report.yml (modified, +24/-6)
  • .github/ISSUE_TEMPLATE/feature_request.yml (modified, +12/-0)
  • .github/ISSUE_TEMPLATE/setup_help.yml (modified, +16/-4)
  • .github/workflows/contributor-check.yml (added, +73/-0)
  • .github/workflows/deploy-site.yml (modified, +14/-6)
  • .github/workflows/docker-publish.yml (modified, +9/-14)
  • .github/workflows/docs-site-checks.yml (modified, +6/-3)
  • .github/workflows/nix.yml (modified, +4/-1)
  • .github/workflows/skills-index.yml (added, +101/-0)
  • .github/workflows/supply-chain-audit.yml (modified, +58/-2)
  • .github/workflows/tests.yml (modified, +7/-4)
  • .gitignore (modified, +4/-0)
  • .mailmap (added, +107/-0)
  • AGENTS.md (modified, +5/-5)
  • Dockerfile (modified, +23/-6)
  • README.md (modified, +2/-1)
  • RELEASE_v0.9.0.md (added, +329/-0)
  • agent/anthropic_adapter.py (modified, +8/-7)
  • agent/auxiliary_client.py (modified, +210/-80)
  • agent/context_compressor.py (modified, +371/-36)
  • agent/context_engine.py (modified, +1/-1)
  • agent/credential_pool.py (modified, +98/-1)
  • agent/display.py (modified, +0/-6)
  • agent/error_classifier.py (modified, +12/-1)
  • agent/insights.py (modified, +0/-1)
  • agent/memory_manager.py (modified, +0/-1)
  • agent/model_metadata.py (modified, +28/-11)
  • agent/models_dev.py (modified, +3/-96)
  • agent/prompt_builder.py (modified, +60/-4)
  • agent/rate_limit_tracker.py (modified, +1/-1)
  • agent/skill_commands.py (modified, +3/-1)
  • agent/skill_utils.py (modified, +23/-1)
  • agent/title_generator.py (modified, +1/-1)
  • agent/usage_pricing.py (modified, +0/-19)
  • cli-config.yaml.example (modified, +6/-10)
  • cli.py (modified, +350/-95)
  • cron/scheduler.py (modified, +29/-1)
  • docker/entrypoint.sh (modified, +36/-2)
  • docs/migration/openclaw.md (modified, +1/-1)
  • docs/skins/example-skin.yaml (modified, +8/-0)
  • gateway/builtin_hooks/boot_md.py (modified, +0/-2)
  • gateway/config.py (modified, +71/-1)
  • gateway/delivery.py (modified, +1/-1)
  • gateway/display_config.py (modified, +12/-24)
  • gateway/platforms/__init__.py (modified, +2/-0)
  • gateway/platforms/api_server.py (modified, +614/-16)
  • gateway/platforms/base.py (modified, +97/-9)
  • gateway/platforms/bluebubbles.py (modified, +24/-32)
  • gateway/platforms/dingtalk.py (modified, +0/-1)
  • gateway/platforms/discord.py (modified, +155/-30)
  • gateway/platforms/feishu.py (modified, +450/-87)
  • gateway/platforms/matrix.py (modified, +55/-63)
  • gateway/platforms/qqbot.py (added, +1960/-0)
  • gateway/platforms/signal.py (modified, +0/-16)
  • gateway/platforms/telegram.py (modified, +57/-12)
  • gateway/platforms/telegram_network.py (modified, +0/-1)
  • gateway/platforms/webhook.py (modified, +1/-1)
  • gateway/platforms/wecom.py (modified, +1/-2)
  • gateway/platforms/weixin.py (modified, +146/-51)
  • gateway/platforms/whatsapp.py (modified, +103/-26)
  • gateway/run.py (modified, +1090/-116)
  • gateway/session.py (modified, +8/-2)
  • gateway/status.py (modified, +27/-2)
  • gateway/stream_consumer.py (modified, +160/-1)
  • hermes-already-has-routines.md (added, +160/-0)
  • hermes_cli/__init__.py (modified, +2/-2)
  • hermes_cli/auth.py (modified, +140/-73)
  • hermes_cli/auth_commands.py (modified, +9/-9)
  • hermes_cli/backup.py (modified, +261/-5)
  • hermes_cli/banner.py (modified, +0/-1)
  • hermes_cli/callbacks.py (modified, +3/-3)
  • hermes_cli/claw.py (modified, +131/-61)
  • hermes_cli/cli_output.py (modified, +0/-1)
  • hermes_cli/commands.py (modified, +245/-79)
  • hermes_cli/completion.py (added, +315/-0)
  • hermes_cli/config.py (modified, +374/-37)
  • hermes_cli/copilot_auth.py (modified, +18/-2)
  • hermes_cli/debug.py (added, +336/-0)
  • hermes_cli/doctor.py (modified, +87/-3)
  • hermes_cli/dump.py (modified, +11/-0)
  • hermes_cli/env_loader.py (modified, +78/-0)
  • hermes_cli/gateway.py (modified, +389/-39)
  • hermes_cli/main.py (modified, +366/-132)
  • hermes_cli/memory_setup.py (modified, +9/-5)
  • hermes_cli/model_normalize.py (modified, +19/-4)
  • hermes_cli/model_switch.py (modified, +161/-15)
  • hermes_cli/models.py (modified, +126/-42)
  • hermes_cli/platforms.py (modified, +1/-0)
  • hermes_cli/plugins.py (modified, +107/-11)
  • hermes_cli/profiles.py (modified, +10/-0)
  • hermes_cli/providers.py (modified, +10/-0)
  • hermes_cli/runtime_provider.py (modified, +64/-10)
  • hermes_cli/setup.py (modified, +89/-58)
  • hermes_cli/skills_config.py (modified, +1/-1)
  • hermes_cli/skills_hub.py (modified, +17/-1)
  • hermes_cli/skin_engine.py (modified, +102/-9)
  • hermes_cli/status.py (modified, +30/-17)

Code Example

https://paste.rs/UgfVg

---
RAW_BUFFERClick to expand / collapse

Bug Description

--- hermes dump --- version: 0.10.0 (2026.4.16) [(unknown)] os: Linux 5.15.167.4-microsoft-standard-WSL2 x86_64 python: 3.13.5 openai_sdk: 2.32.0 profile: default hermes_home: ~/. model: Urbio/GenLLM provider: custom terminal: local

api_keys: openrouter not set openai not set anthropic not set anthropic_token not set nous not set glm/zai not set zai not set kimi not set minimax not set deepseek not set dashscope not set huggingface not set nvidia not set ai_gateway not set opencode_zen not set opencode_go not set kilocode not set firecrawl not set tavily not set browserbase not set fal not set elevenlabs not set github not set

features: toolsets: hermes-cli mcp_servers: 0 memory_provider: built-in gateway: stopped (docker (foreground)) platforms: whatsapp cron_jobs: 0 skills: 77 --- end dump ---

--- agent.log (last 200 lines) --- 2026-04-19 15:58:10,654 INFO gateway.run: inbound message: platform=whatsapp user=Vladutz chat=206506473607359@lid msg='Asta' 2026-04-19 15:58:11,653 INFO gateway.run: response ready: platform=whatsapp chat=206506473607359@lid time=1.0s api_calls=1 response=100 chars 2026-04-19 15:58:11,661 INFO gateway.platforms.base: [Whatsapp] Sending response (100 chars) to 206506473607359@lid 2026-04-19 15:59:10,865 INFO gateway.run: inbound message: platform=whatsapp user=Vladutz chat=206506473607359@lid msg='Codul e aici: 💻 terminal: "which java && java --version 2>&1; wh..." 🐍 execute_c' 2026-04-19 16:06:46,016 INFO [20260419_152425_fc41568b] agent.auxiliary_client: Auxiliary flush_memories: using auto (Urbio/GenLLM) at http://192.168.1.111:8000/v1/ 2026-04-19 16:06:54,938 INFO [20260419_152425_fc41568b] agent.auxiliary_client: Auxiliary compression: using auto (Urbio/GenLLM) at http://192.168.1.111:8000/v1/ 2026-04-19 16:07:03,432 ERROR [20260419_152425_fc41568b] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 138 (char 137)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 16:07:03,467 INFO gateway.run: response ready: platform=whatsapp chat=206506473607359@lid time=472.6s api_calls=50 response=163 chars 2026-04-19 16:07:03,470 INFO gateway.run: Skipping transcript persistence for failed request in session 20260419_152425_fc41568b to prevent session growth loop. 2026-04-19 16:07:03,475 INFO gateway.platforms.base: [Whatsapp] Sending response (163 chars) to 206506473607359@lid 2026-04-19 16:07:34,079 INFO gateway.run: inbound message: platform=whatsapp user=Vladutz chat=206506473607359@lid msg='De la ce e eroarea asta?' 2026-04-19 16:07:35,983 INFO [20260419_160703_9fbc30] gateway.run: Session split detected: 20260419_152425_fc41568b → 20260419_160703_9fbc30 (compression) 2026-04-19 16:07:35,992 INFO gateway.run: response ready: platform=whatsapp chat=206506473607359@lid time=1.9s api_calls=1 response=84 chars 2026-04-19 16:07:36,023 INFO gateway.platforms.base: [Whatsapp] Sending response (84 chars) to 206506473607359@lid 2026-04-19 16:07:36,083 INFO agent.auxiliary_client: Vision auto-detect: using main provider custom (Urbio/GenLLM) 2026-04-19 16:07:36,260 INFO agent.auxiliary_client: Auxiliary auto-detect: using main provider custom (Urbio/GenLLM) 2026-04-19 16:07:47,114 INFO gateway.run: inbound message: platform=whatsapp user=Vladutz chat=206506473607359@lid msg="⚠️ Error code: 400 - {'error': {'message': 'Unterminated string starting at: lin" 2026-04-19 16:07:51,735 INFO gateway.run: response ready: platform=whatsapp chat=206506473607359@lid time=4.6s api_calls=1 response=908 chars 2026-04-19 16:07:51,744 INFO gateway.platforms.base: [Whatsapp] Sending response (908 chars) to 206506473607359@lid 2026-04-19 16:08:18,195 INFO gateway.run: inbound message: platform=whatsapp user=Vladutz chat=206506473607359@lid msg='Continua implementarea te rog' 2026-04-19 16:13:27,531 INFO gateway.run: response ready: platform=whatsapp chat=206506473607359@lid time=309.3s api_calls=33 response=1228 chars 2026-04-19 16:13:27,615 INFO gateway.platforms.base: [Whatsapp] Sending response (1228 chars) to 206506473607359@lid 2026-04-19 16:13:27,625 INFO agent.auxiliary_client: Vision auto-detect: using main provider custom (Urbio/GenLLM) 2026-04-19 16:13:27,802 INFO agent.auxiliary_client: Auxiliary auto-detect: using main provider custom (Urbio/GenLLM) 2026-04-19 16:18:19,905 INFO gateway.run: inbound message: platform=whatsapp user=Vladutz chat=206506473607359@lid msg='Hai sa continuam' 2026-04-19 16:20:40,113 INFO [20260419_160703_9fbc30] agent.auxiliary_client: Auxiliary flush_memories: using auto (Urbio/GenLLM) at http://192.168.1.111:8000/v1/ 2026-04-19 16:20:46,898 INFO [20260419_160703_9fbc30] agent.auxiliary_client: Auxiliary compression: using auto (Urbio/GenLLM) at http://192.168.1.111:8000/v1/ 2026-04-19 16:21:11,076 ERROR [20260419_160703_9fbc30] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 107 (char 106)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 16:21:11,306 INFO gateway.run: response ready: platform=whatsapp chat=206506473607359@lid time=171.4s api_calls=15 response=163 chars 2026-04-19 16:21:11,310 INFO gateway.run: Skipping transcript persistence for failed request in session 20260419_160703_9fbc30 to prevent session growth loop. 2026-04-19 16:21:11,319 INFO gateway.platforms.base: [Whatsapp] Sending response (163 chars) to 206506473607359@lid 2026-04-19 16:21:53,470 INFO gateway.run: inbound message: platform=whatsapp user=Vladutz chat=206506473607359@lid msg='Mi-ai trimis astea 3 mesaje: [4/19, 7:21\u202fPM] Vladutz: ⚠️ Non-retryable error (HT' 2026-04-19 16:22:01,425 INFO [20260419_162110_55cdba] gateway.run: Session split detected: 20260419_160703_9fbc30 → 20260419_162110_55cdba (compression) 2026-04-19 16:22:01,434 INFO gateway.run: response ready: platform=whatsapp chat=206506473607359@lid time=8.0s api_calls=1 response=478 chars 2026-04-19 16:22:01,516 INFO agent.auxiliary_client: Vision auto-detect: using main provider custom (Urbio/GenLLM) 2026-04-19 16:22:01,547 INFO gateway.platforms.base: [Whatsapp] Sending response (478 chars) to 206506473607359@lid 2026-04-19 16:22:01,685 INFO agent.auxiliary_client: Auxiliary auto-detect: using main provider custom (Urbio/GenLLM) 2026-04-19 16:22:53,790 INFO gateway.run: Received SIGTERM/SIGINT — initiating shutdown 2026-04-19 16:22:53,799 WARNING gateway.run: Shutdown diagnostic — other hermes processes running: hermes 23 0.4 0.3 22321984 119468 ? Ssl 15:42 0:09 node /opt/hermes/scripts/whatsapp-bridge/bridge.js --port 3000 --session /opt/data/whatsapp/session --mode self-chat hermes 3647 0.0 0.0 6796 3736 ? R 16:22 0:00 ps aux 2026-04-19 16:22:53,799 INFO gateway.run: Stopping gateway... 2026-04-19 16:22:54,040 ERROR gateway.platforms.whatsapp: [Whatsapp] WhatsApp bridge process exited unexpectedly (code -15). 2026-04-19 16:22:54,046 ERROR gateway.run: Fatal whatsapp adapter error (whatsapp_bridge_exited): WhatsApp bridge process exited unexpectedly (code -15). 2026-04-19 16:23:25,169 INFO gateway.run: Starting Hermes Gateway... 2026-04-19 16:23:25,169 INFO gateway.run: Session storage: /opt/data/sessions 2026-04-19 16:23:25,185 INFO gateway.run: Suspended 1 in-flight session(s) from previous run 2026-04-19 16:23:25,208 INFO gateway.run: Connecting to whatsapp... 2026-04-19 16:23:25,220 INFO gateway.platforms.whatsapp: [Whatsapp] Bridge found at /opt/hermes/scripts/whatsapp-bridge/bridge.js 2026-04-19 16:23:31,592 INFO gateway.run: ✓ whatsapp connected 2026-04-19 16:23:31,598 INFO gateway.run: 1 hook(s) loaded 2026-04-19 16:23:31,598 INFO gateway.run: Gateway running with 1 platform(s) 2026-04-19 16:23:31,631 INFO gateway.run: Channel directory built: 2 target(s) 2026-04-19 16:23:31,632 INFO gateway.run: Press Ctrl+C to stop 2026-04-19 16:23:31,681 INFO gateway.run: Cron ticker started (interval=60s) 2026-04-19 16:23:42,861 INFO gateway.run: inbound message: platform=whatsapp user=Vladutz chat=[email protected] msg='care este dimensiunea contextului tau?' 2026-04-19 16:23:43,621 INFO run_agent: Loaded environment variables from /opt/data/.env 2026-04-19 16:23:44,739 INFO agent.auxiliary_client: Vision auto-detect: using main provider custom (Urbio/GenLLM) 2026-04-19 16:23:45,360 INFO agent.auxiliary_client: Auxiliary auto-detect: using main provider custom (Urbio/GenLLM) 2026-04-19 16:23:48,207 INFO gateway.run: response ready: platform=whatsapp chat=[email protected] time=5.3s api_calls=1 response=86 chars 2026-04-19 16:23:48,217 INFO gateway.platforms.base: [Whatsapp] Sending response (86 chars) to [email protected] 2026-04-19 16:24:05,584 INFO gateway.run: inbound message: platform=whatsapp user=Vladutz chat=[email protected] msg='marestel la 160000' 2026-04-19 16:24:10,875 INFO gateway.run: response ready: platform=whatsapp chat=[email protected] time=5.3s api_calls=4 response=26 chars 2026-04-19 16:24:10,888 INFO gateway.platforms.base: [Whatsapp] Sending response (26 chars) to [email protected] 2026-04-19 16:24:23,401 INFO gateway.run: Received SIGTERM/SIGINT — initiating shutdown 2026-04-19 16:24:23,405 WARNING gateway.run: Shutdown diagnostic — other hermes processes running: hermes 22 2.0 0.3 22315580 104876 ? Ssl 16:23 0:01 node /opt/hermes/scripts/whatsapp-bridge/bridge.js --port 3000 --session /opt/data/whatsapp/session --mode self-chat hermes 87 0.0 0.0 6796 3480 ? R 16:24 0:00 ps aux 2026-04-19 16:24:23,406 INFO gateway.run: Stopping gateway... 2026-04-19 16:24:23,608 ERROR gateway.platforms.whatsapp: [Whatsapp] WhatsApp bridge process exited unexpectedly (code -15). 2026-04-19 16:24:23,612 ERROR gateway.run: Fatal whatsapp adapter error (whatsapp_bridge_exited): WhatsApp bridge process exited unexpectedly (code -15). 2026-04-19 16:24:28,313 INFO gateway.run: Starting Hermes Gateway... 2026-04-19 16:24:28,313 INFO gateway.run: Session storage: /opt/data/sessions 2026-04-19 16:24:28,326 INFO gateway.run: Suspended 1 in-flight session(s) from previous run 2026-04-19 16:24:28,390 INFO gateway.run: Connecting to whatsapp... 2026-04-19 16:24:28,409 INFO gateway.platforms.whatsapp: [Whatsapp] Bridge found at /opt/hermes/scripts/whatsapp-bridge/bridge.js 2026-04-19 16:24:34,428 INFO gateway.run: ✓ whatsapp connected 2026-04-19 16:24:34,434 INFO gateway.run: 1 hook(s) loaded 2026-04-19 16:24:34,435 INFO gateway.run: Gateway running with 1 platform(s) 2026-04-19 16:24:34,468 INFO gateway.run: Channel directory built: 2 target(s) 2026-04-19 16:24:34,469 INFO gateway.run: Press Ctrl+C to stop 2026-04-19 16:24:34,488 INFO gateway.run: Cron ticker started (interval=60s) 2026-04-19 16:25:01,622 INFO gateway.run: inbound message: platform=whatsapp user=Vladutz chat=[email protected] msg='hai sa continuam proiectul openclaw-web' 2026-04-19 16:25:02,939 INFO run_agent: Loaded environment variables from /opt/data/.env 2026-04-19 16:25:03,610 INFO agent.auxiliary_client: Vision auto-detect: using main provider custom (Urbio/GenLLM) 2026-04-19 16:25:04,245 INFO agent.auxiliary_client: Auxiliary auto-detect: using main provider custom (Urbio/GenLLM) 2026-04-19 16:25:06,766 INFO [20260419_162501_e0648fdf] agent.auxiliary_client: Auxiliary auto-detect: using main provider custom (Urbio/GenLLM) 2026-04-19 16:30:55,853 WARNING gateway.run: Unrecognized slash command /approve-always from whatsapp — replying with unknown-command notice 2026-04-19 16:30:55,854 INFO gateway.platforms.base: [Whatsapp] Sending response (140 chars) to 206506473607359@lid 2026-04-19 16:31:46,576 INFO gateway.run: inbound message: platform=whatsapp user=Vladutz chat=206506473607359@lid msg='Continua implementare' 2026-04-19 16:31:46,739 INFO agent.auxiliary_client: Vision auto-detect: using main provider custom (Urbio/GenLLM) 2026-04-19 16:31:46,914 INFO agent.auxiliary_client: Auxiliary auto-detect: using main provider custom (Urbio/GenLLM) 2026-04-19 16:31:48,529 INFO [20260419_163146_8fe4db1e] agent.auxiliary_client: Auxiliary auto-detect: using main provider custom (Urbio/GenLLM) 2026-04-19 16:37:54,914 INFO agent.auxiliary_client: Auxiliary auto-detect: using main provider custom (Urbio/GenLLM) 2026-04-19 16:37:54,914 INFO agent.auxiliary_client: Auxiliary title_generation: using auto (Urbio/GenLLM) at http://192.168.1.111:8000/v1/ 2026-04-19 16:44:25,368 INFO gateway.run: User approved 1 dangerous command(s) via /approve (pattern approved permanently) 2026-04-19 16:44:25,810 INFO [20260419_163146_8fe4db1e] agent.auxiliary_client: Auxiliary flush_memories: using auto (Urbio/GenLLM) at http://192.168.1.111:8000/v1/ 2026-04-19 16:44:31,577 INFO [20260419_163146_8fe4db1e] agent.auxiliary_client: Auxiliary auto-detect: using main provider custom (Urbio/GenLLM) 2026-04-19 16:44:31,590 INFO [20260419_163146_8fe4db1e] agent.auxiliary_client: Auxiliary compression: using auto (Urbio/GenLLM) at http://192.168.1.111:8000/v1/ 2026-04-19 16:54:03,769 INFO [20260419_163146_8fe4db1e] agent.auxiliary_client: Auxiliary flush_memories: using auto (Urbio/GenLLM) at http://192.168.1.111:8000/v1/ 2026-04-19 16:54:14,164 INFO [20260419_163146_8fe4db1e] agent.auxiliary_client: Auxiliary compression: using auto (Urbio/GenLLM) at http://192.168.1.111:8000/v1/ 2026-04-19 16:54:37,428 ERROR [20260419_163146_8fe4db1e] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 10 (char 9)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 16:54:37,451 INFO gateway.run: response ready: platform=whatsapp chat=206506473607359@lid time=1370.9s api_calls=39 response=160 chars 2026-04-19 16:54:37,463 INFO gateway.run: Skipping transcript persistence for failed request in session 20260419_163146_8fe4db1e to prevent session growth loop. 2026-04-19 16:54:37,469 INFO gateway.platforms.base: [Whatsapp] Sending response (160 chars) to 206506473607359@lid 2026-04-19 16:58:54,007 INFO agent.auxiliary_client: Auxiliary title_generation: using auto (Urbio/GenLLM) at http://192.168.1.111:8000/v1/ 2026-04-19 16:58:54,031 INFO gateway.run: response ready: platform=whatsapp chat=[email protected] time=2032.4s api_calls=2 response=266 chars 2026-04-19 16:58:54,066 INFO gateway.platforms.base: [Whatsapp] Sending response (266 chars) to [email protected] 2026-04-19 16:59:37,933 INFO gateway.run: inbound message: platform=whatsapp user=Vladutz chat=[email protected] msg='nu e in openclaw-web, tu , cand incerci anumite function call sau tool call iti ' 2026-04-19 16:59:38,276 INFO [20260419_162501_e0648fdf] agent.auxiliary_client: Vision auto-detect: using main provider custom (Urbio/GenLLM) 2026-04-19 16:59:38,479 INFO [20260419_162501_e0648fdf] agent.auxiliary_client: Auxiliary auto-detect: using main provider custom (Urbio/GenLLM) 2026-04-19 16:59:52,658 INFO gateway.run: response ready: platform=whatsapp chat=[email protected] time=14.7s api_calls=3 response=838 chars 2026-04-19 16:59:52,684 INFO gateway.platforms.base: [Whatsapp] Sending response (838 chars) to [email protected] 2026-04-19 17:00:24,053 INFO gateway.run: inbound message: platform=whatsapp user=Vladutz chat=[email protected] msg='lasa asta, hai sa continuam developmentul la openclaw-web' 2026-04-19 17:00:33,001 INFO gateway.run: response ready: platform=whatsapp chat=[email protected] time=8.9s api_calls=3 response=502 chars 2026-04-19 17:00:33,022 INFO gateway.platforms.base: [Whatsapp] Sending response (502 chars) to [email protected] 2026-04-19 17:02:14,346 INFO gateway.run: inbound message: platform=whatsapp user=Vladutz chat=206506473607359@lid msg='Sa verificam daca compileaza, apoi daca totul e ok sa mergem mai departe' 2026-04-19 17:02:14,710 INFO [20260419_162501_e0648fdf] agent.auxiliary_client: Vision auto-detect: using main provider custom (Urbio/GenLLM) 2026-04-19 17:02:14,913 INFO [20260419_162501_e0648fdf] agent.auxiliary_client: Auxiliary auto-detect: using main provider custom (Urbio/GenLLM) 2026-04-19 17:02:14,942 INFO [20260419_163146_8fe4db1e] agent.auxiliary_client: Auxiliary flush_memories: using auto (Urbio/GenLLM) at http://192.168.1.111:8000/v1/ 2026-04-19 17:02:20,518 INFO [20260419_163146_8fe4db1e] agent.auxiliary_client: Auxiliary compression: using auto (Urbio/GenLLM) at http://192.168.1.111:8000/v1/ 2026-04-19 17:09:01,291 INFO gateway.platforms.base: [Whatsapp] Sending response (30 chars) to [email protected] 2026-04-19 17:16:06,581 INFO [20260419_163146_8fe4db1e] gateway.run: Session split detected: 20260419_163146_8fe4db1e → 20260419_170249_fc7630 (compression) 2026-04-19 17:16:06,625 INFO gateway.run: response ready: platform=whatsapp chat=206506473607359@lid time=832.3s api_calls=59 response=329 chars 2026-04-19 17:16:06,888 INFO gateway.platforms.base: [Whatsapp] Sending response (329 chars) to 206506473607359@lid 2026-04-19 17:16:11,846 INFO agent.auxiliary_client: Vision auto-detect: using main provider custom (Urbio/GenLLM) 2026-04-19 17:16:12,047 INFO agent.auxiliary_client: Auxiliary auto-detect: using main provider custom (Urbio/GenLLM) 2026-04-19 17:16:12,826 INFO [20260419_171611_92fd84] agent.auxiliary_client: Auxiliary flush_memories: using auto (Urbio/GenLLM) at http://192.168.1.111:8000/v1/ 2026-04-19 17:16:34,780 INFO [20260419_171611_92fd84] agent.auxiliary_client: Auxiliary auto-detect: using main provider custom (Urbio/GenLLM) 2026-04-19 17:16:34,793 INFO [20260419_171611_92fd84] agent.auxiliary_client: Auxiliary compression: using auto (Urbio/GenLLM) at http://192.168.1.111:8000/v1/ 2026-04-19 17:16:56,646 ERROR [20260419_171611_92fd84] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 113 (char 112)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 17:25:30,783 INFO gateway.run: inbound message: platform=whatsapp user=Vladutz chat=206506473607359@lid msg='Da, mergem la faza 3' 2026-04-19 17:25:31,042 INFO [20260419_170249_fc7630] agent.auxiliary_client: Auxiliary flush_memories: using auto (Urbio/GenLLM) at http://192.168.1.111:8000/v1/ 2026-04-19 17:25:40,680 INFO [20260419_170249_fc7630] agent.auxiliary_client: Auxiliary compression: using auto (Urbio/GenLLM) at http://192.168.1.111:8000/v1/ 2026-04-19 17:26:03,970 ERROR [20260419_170249_fc7630] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 113 (char 112)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 17:26:03,985 INFO gateway.run: response ready: platform=whatsapp chat=206506473607359@lid time=33.2s api_calls=1 response=163 chars 2026-04-19 17:26:03,996 INFO gateway.run: Skipping transcript persistence for failed request in session 20260419_170249_fc7630 to prevent session growth loop. 2026-04-19 17:26:04,004 INFO gateway.platforms.base: [Whatsapp] Sending response (163 chars) to 206506473607359@lid 2026-04-19 17:27:29,117 INFO gateway.run: inbound message: platform=whatsapp user=Vladutz chat=[email protected] msg='Da, mergem la faza 3' 2026-04-19 17:29:22,497 INFO gateway.run: response ready: platform=whatsapp chat=[email protected] time=113.4s api_calls=18 response=1105 chars 2026-04-19 17:29:22,618 INFO gateway.platforms.base: [Whatsapp] Sending response (1105 chars) to [email protected] 2026-04-19 17:29:22,702 INFO agent.auxiliary_client: Vision auto-detect: using main provider custom (Urbio/GenLLM) 2026-04-19 17:29:22,923 INFO agent.auxiliary_client: Auxiliary auto-detect: using main provider custom (Urbio/GenLLM) 2026-04-19 17:29:48,372 INFO gateway.run: inbound message: platform=whatsapp user=Vladutz chat=[email protected] msg='verificam compliarea si apoi faza 4' 2026-04-19 17:33:23,883 INFO gateway.run: User approved 1 dangerous command(s) via /approve (pattern approved permanently) 2026-04-19 17:36:12,858 INFO [20260419_162501_e0648fdf] agent.auxiliary_client: Auxiliary flush_memories: using auto (Urbio/GenLLM) at http://192.168.1.111:8000/v1/ 2026-04-19 17:36:20,161 INFO [20260419_162501_e0648fdf] agent.auxiliary_client: Auxiliary compression: using auto (Urbio/GenLLM) at http://192.168.1.111:8000/v1/ 2026-04-19 17:36:28,441 ERROR [20260419_162501_e0648fdf] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 68 (char 67)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 17:36:28,456 INFO gateway.run: response ready: platform=whatsapp chat=[email protected] time=400.1s api_calls=31 response=161 chars 2026-04-19 17:36:28,468 INFO gateway.run: Skipping transcript persistence for failed request in session 20260419_162501_e0648fdf to prevent session growth loop. 2026-04-19 17:36:28,474 INFO gateway.platforms.base: [Whatsapp] Sending response (161 chars) to [email protected] 2026-04-19 17:38:58,176 INFO gateway.run: inbound message: platform=whatsapp user=Vladutz chat=[email protected] msg='continua' 2026-04-19 17:41:20,859 INFO [20260419_173628_95cd98] agent.auxiliary_client: Auxiliary flush_memories: using auto (Urbio/GenLLM) at http://192.168.1.111:8000/v1/ 2026-04-19 17:41:37,812 INFO [20260419_173628_95cd98] agent.auxiliary_client: Auxiliary compression: using auto (Urbio/GenLLM) at http://192.168.1.111:8000/v1/ 2026-04-19 17:41:53,701 ERROR [20260419_173628_95cd98] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 13 (char 12)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 17:41:53,962 INFO gateway.run: response ready: platform=whatsapp chat=[email protected] time=175.8s api_calls=25 response=161 chars 2026-04-19 17:41:53,975 INFO gateway.run: Skipping transcript persistence for failed request in session 20260419_162501_e0648fdf to prevent session growth loop. 2026-04-19 17:41:53,982 INFO gateway.platforms.base: [Whatsapp] Sending response (161 chars) to [email protected] 2026-04-19 17:42:09,583 INFO gateway.run: inbound message: platform=whatsapp user=Vladutz chat=[email protected] msg='continua' 2026-04-19 17:42:59,585 INFO [20260419_174153_40a868] gateway.run: Session split detected: 20260419_162501_e0648fdf → 20260419_174153_40a868 (compression) 2026-04-19 17:42:59,613 INFO gateway.run: response ready: platform=whatsapp chat=[email protected] time=50.0s api_calls=11 response=820 chars 2026-04-19 17:42:59,827 INFO agent.auxiliary_client: Vision auto-detect: using main provider custom (Urbio/GenLLM) 2026-04-19 17:42:59,898 INFO gateway.platforms.base: [Whatsapp] Sending response (820 chars) to [email protected] 2026-04-19 17:43:00,035 INFO agent.auxiliary_client: Auxiliary auto-detect: using main provider custom (Urbio/GenLLM) 2026-04-19 17:43:00,094 INFO [20260419_174259_0d06bb] agent.auxiliary_client: Auxiliary flush_memories: using auto (Urbio/GenLLM) at http://192.168.1.111:8000/v1/ 2026-04-19 17:43:13,360 INFO [20260419_174259_0d06bb] agent.auxiliary_client: Auxiliary compression: using auto (Urbio/GenLLM) at http://192.168.1.111:8000/v1/ 2026-04-19 17:43:18,962 INFO gateway.run: inbound message: platform=whatsapp user=Vladutz chat=[email protected] msg='totul face build corect?' 2026-04-19 17:43:19,211 INFO [20260419_174153_40a868] agent.auxiliary_client: Auxiliary flush_memories: using auto (Urbio/GenLLM) at http://192.168.1.111:8000/v1/ 2026-04-19 17:43:26,372 ERROR [20260419_174259_0d06bb] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 120 (char 119)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 17:43:32,274 INFO [20260419_174153_40a868] agent.auxiliary_client: Auxiliary compression: using auto (Urbio/GenLLM) at http://192.168.1.111:8000/v1/ 2026-04-19 17:43:55,674 ERROR [20260419_174153_40a868] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 120 (char 119)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 17:43:55,686 INFO gateway.run: response ready: platform=whatsapp chat=[email protected] time=36.7s api_calls=1 response=163 chars 2026-04-19 17:43:55,701 INFO gateway.run: Skipping transcript persistence for failed request in session 20260419_174153_40a868 to prevent session growth loop. 2026-04-19 17:43:55,711 INFO gateway.platforms.base: [Whatsapp] Sending response (163 chars) to [email protected] 2026-04-19 17:44:14,095 INFO gateway.run: inbound message: platform=whatsapp user=Vladutz chat=[email protected] msg='totul face build corect?' 2026-04-19 17:44:14,342 INFO [20260419_174355_cd3977] agent.auxiliary_client: Auxiliary flush_memories: using auto (Urbio/GenLLM) at http://192.168.1.111:8000/v1/ 2026-04-19 17:44:15,430 INFO [20260419_174355_cd3977] agent.auxiliary_client: Auxiliary compression: using auto (Urbio/GenLLM) at http://192.168.1.111:8000/v1/ 2026-04-19 17:44:38,984 ERROR [20260419_174355_cd3977] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 120 (char 119)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 17:44:38,994 INFO gateway.run: response ready: platform=whatsapp chat=[email protected] time=24.9s api_calls=1 response=163 chars 2026-04-19 17:44:39,006 INFO gateway.run: Skipping transcript persistence for failed request in session 20260419_174153_40a868 to prevent session growth loop. 2026-04-19 17:44:39,012 INFO gateway.platforms.base: [Whatsapp] Sending response (163 chars) to [email protected] 2026-04-19 17:46:17,003 INFO gateway.run: inbound message: platform=whatsapp user=Vladutz chat=[email protected] msg='[INFO] [INFO] --- compiler:3.11.0:compile (default-compile) @ openclaw-web --- ' 2026-04-19 17:46:17,298 INFO [20260419_174438_59b13e] agent.auxiliary_client: Auxiliary flush_memories: using auto (Urbio/GenLLM) at http://192.168.1.111:8000/v1/ 2026-04-19 17:46:28,048 INFO [20260419_174438_59b13e] agent.auxiliary_client: Auxiliary compression: using auto (Urbio/GenLLM) at http://192.168.1.111:8000/v1/ 2026-04-19 17:46:57,911 ERROR [20260419_174438_59b13e] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 120 (char 119)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 17:46:58,247 INFO gateway.run: response ready: platform=whatsapp chat=[email protected] time=41.2s api_calls=1 response=163 chars 2026-04-19 17:46:58,261 INFO gateway.run: Skipping transcript persistence for failed request in session 20260419_174153_40a868 to prevent session growth loop. 2026-04-19 17:46:58,269 INFO gateway.platforms.base: [Whatsapp] Sending response (163 chars) to [email protected] 2026-04-19 17:47:15,123 INFO gateway.run: inbound message: platform=whatsapp user=Vladutz chat=[email protected] msg='[INFO] [INFO] --- compiler:3.11.0:compile (default-compile) @ openclaw-web --- ' 2026-04-19 17:47:15,386 INFO [20260419_174657_283be7] agent.auxiliary_client: Auxiliary flush_memories: using auto (Urbio/GenLLM) at http://192.168.1.111:8000/v1/ 2026-04-19 17:47:25,593 INFO [20260419_174657_283be7] agent.auxiliary_client: Auxiliary compression: using auto (Urbio/GenLLM) at http://192.168.1.111:8000/v1/ 2026-04-19 17:48:01,859 ERROR [20260419_174657_283be7] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 120 (char 119)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 17:48:02,227 INFO gateway.run: response ready: platform=whatsapp chat=[email protected] time=47.1s api_calls=1 response=163 chars 2026-04-19 17:48:02,239 INFO gateway.run: Skipping transcript persistence for failed request in session 20260419_174153_40a868 to prevent session growth loop. 2026-04-19 17:48:02,246 INFO gateway.platforms.base: [Whatsapp] Sending response (163 chars) to [email protected] 2026-04-19 17:48:07,227 INFO gateway.platforms.base: [Whatsapp] Sending response (1411 chars) to [email protected] 2026-04-19 17:48:23,265 INFO gateway.platforms.base: [Whatsapp] Sending response (301 chars) to [email protected] 2026-04-19 17:48:41,321 INFO gateway.platforms.base: [Whatsapp] Sending response (1249 chars) to [email protected] 2026-04-19 17:49:03,375 INFO gateway.platforms.base: [Whatsapp] Sending response (39 chars) to [email protected] 2026-04-19 17:49:20,476 INFO gateway.platforms.base: [Whatsapp] Sending response (172 chars) to [email protected]

--- errors.log (last 100 lines) --- code=args.get("code", ""), ^^^^^^^^^^^^^^^^^^^^^^^^^^ task_id=kw.get("task_id"), ^^^^^^^^^^^^^^^^^^^^^^^^^^ enabled_tools=kw.get("enabled_tools")), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/hermes/tools/code_execution_tool.py", line 935, in execute_code return _execute_remote(code, task_id, enabled_tools) File "/opt/hermes/tools/code_execution_tool.py", line 729, in _execute_remote env, env_type = _get_or_create_env(effective_task_id) ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^ File "/opt/hermes/tools/code_execution_tool.py", line 510, in _get_or_create_env env = _create_environment( env_type=env_type, ...<7 lines>... host_cwd=config.get("host_cwd"), ) File "/opt/hermes/tools/terminal_tool.py", line 720, in _create_environment return _DockerEnvironment( image=image, cwd=cwd, timeout=timeout, ...<6 lines>... env=docker_env, ) File "/opt/hermes/tools/environments/docker.py", line 279, in init _ensure_docker_available() ~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/opt/hermes/tools/environments/docker.py", line 182, in _ensure_docker_available raise RuntimeError( ...<2 lines>... ) RuntimeError: Docker executable not found in PATH or known install locations. Install Docker and ensure the 'docker' command is available. 2026-04-19 15:40:22,997 ERROR [20260419_153350_94d980d5] tools.environments.docker: Docker backend selected but no docker executable was found in PATH or known install locations. Install Docker Desktop and ensure the CLI is available. 2026-04-19 15:40:22,998 ERROR [20260419_153350_94d980d5] tools.registry: Tool execute_code dispatch error: Docker executable not found in PATH or known install locations. Install Docker and ensure the 'docker' command is available. Traceback (most recent call last): File "/opt/hermes/tools/registry.py", line 306, in dispatch return entry.handler(args, **kwargs) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^ File "/opt/hermes/tools/code_execution_tool.py", line 1571, in <lambda> handler=lambda args, **kw: execute_code( ~~~~~~~~~~~~^ code=args.get("code", ""), ^^^^^^^^^^^^^^^^^^^^^^^^^^ task_id=kw.get("task_id"), ^^^^^^^^^^^^^^^^^^^^^^^^^^ enabled_tools=kw.get("enabled_tools")), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/hermes/tools/code_execution_tool.py", line 935, in execute_code return _execute_remote(code, task_id, enabled_tools) File "/opt/hermes/tools/code_execution_tool.py", line 729, in _execute_remote env, env_type = _get_or_create_env(effective_task_id) ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^ File "/opt/hermes/tools/code_execution_tool.py", line 510, in _get_or_create_env env = _create_environment( env_type=env_type, ...<7 lines>... host_cwd=config.get("host_cwd"), ) File "/opt/hermes/tools/terminal_tool.py", line 720, in _create_environment return _DockerEnvironment( image=image, cwd=cwd, timeout=timeout, ...<6 lines>... env=docker_env, ) File "/opt/hermes/tools/environments/docker.py", line 279, in init _ensure_docker_available() ~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/opt/hermes/tools/environments/docker.py", line 182, in _ensure_docker_available raise RuntimeError( ...<2 lines>... ) RuntimeError: Docker executable not found in PATH or known install locations. Install Docker and ensure the 'docker' command is available. 2026-04-19 15:42:10,484 WARNING gateway.run: Shutdown diagnostic — other hermes processes running: hermes 23 0.4 0.3 22254808 111164 ? Ssl 15:33 0:02 node /opt/hermes/scripts/whatsapp-bridge/bridge.js --port 3000 --session /opt/data/whatsapp/session --mode self-chat hermes 48 0.0 0.0 6796 3416 ? R 15:42 0:00 ps aux 2026-04-19 15:42:10,601 ERROR gateway.platforms.whatsapp: [Whatsapp] WhatsApp bridge process exited unexpectedly (code -15). 2026-04-19 15:42:10,612 ERROR gateway.run: Fatal whatsapp adapter error (whatsapp_bridge_exited): WhatsApp bridge process exited unexpectedly (code -15). 2026-04-19 15:50:37,657 ERROR [20260419_154251_850e9a54] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 65 (char 64)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 16:07:03,432 ERROR [20260419_152425_fc41568b] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 138 (char 137)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 16:21:11,076 ERROR [20260419_160703_9fbc30] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 107 (char 106)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 16:22:53,799 WARNING gateway.run: Shutdown diagnostic — other hermes processes running: hermes 23 0.4 0.3 22321984 119468 ? Ssl 15:42 0:09 node /opt/hermes/scripts/whatsapp-bridge/bridge.js --port 3000 --session /opt/data/whatsapp/session --mode self-chat hermes 3647 0.0 0.0 6796 3736 ? R 16:22 0:00 ps aux 2026-04-19 16:22:54,040 ERROR gateway.platforms.whatsapp: [Whatsapp] WhatsApp bridge process exited unexpectedly (code -15). 2026-04-19 16:22:54,046 ERROR gateway.run: Fatal whatsapp adapter error (whatsapp_bridge_exited): WhatsApp bridge process exited unexpectedly (code -15). 2026-04-19 16:24:23,405 WARNING gateway.run: Shutdown diagnostic — other hermes processes running: hermes 22 2.0 0.3 22315580 104876 ? Ssl 16:23 0:01 node /opt/hermes/scripts/whatsapp-bridge/bridge.js --port 3000 --session /opt/data/whatsapp/session --mode self-chat hermes 87 0.0 0.0 6796 3480 ? R 16:24 0:00 ps aux 2026-04-19 16:24:23,608 ERROR gateway.platforms.whatsapp: [Whatsapp] WhatsApp bridge process exited unexpectedly (code -15). 2026-04-19 16:24:23,612 ERROR gateway.run: Fatal whatsapp adapter error (whatsapp_bridge_exited): WhatsApp bridge process exited unexpectedly (code -15). 2026-04-19 16:30:55,853 WARNING gateway.run: Unrecognized slash command /approve-always from whatsapp — replying with unknown-command notice 2026-04-19 16:54:37,428 ERROR [20260419_163146_8fe4db1e] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 10 (char 9)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 17:16:56,646 ERROR [20260419_171611_92fd84] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 113 (char 112)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 17:26:03,970 ERROR [20260419_170249_fc7630] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 113 (char 112)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 17:36:28,441 ERROR [20260419_162501_e0648fdf] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 68 (char 67)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 17:41:53,701 ERROR [20260419_173628_95cd98] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 13 (char 12)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 17:43:26,372 ERROR [20260419_174259_0d06bb] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 120 (char 119)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 17:43:55,674 ERROR [20260419_174153_40a868] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 120 (char 119)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 17:44:38,984 ERROR [20260419_174355_cd3977] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 120 (char 119)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 17:46:57,911 ERROR [20260419_174438_59b13e] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 120 (char 119)', 'type': 'BadRequestError', 'param': None, 'code': 400}} 2026-04-19 17:48:01,859 ERROR [20260419_174657_283be7] root: Non-retryable client error: Error code: 400 - {'error': {'message': 'Unterminated string starting at: line 1 column 120 (char 119)', 'type': 'BadRequestError', 'param': None, 'code': 400}}

--- gateway.log (last 100 lines) --- (file not found)

Steps to Reproduce

added hermes dump for reproduction

Expected Behavior

recover from json parsing error

Actual Behavior

json parsing fails

Affected Component

Gateway (Telegram/Discord/Slack/WhatsApp)

Messaging Platform (if gateway-related)

WhatsApp

Debug Report

https://paste.rs/UgfVg

Operating System

Windows docker

Python Version

3.12

Hermes Version

latest

Additional Logs / Traceback (optional)

Root Cause Analysis (optional)

No response

Proposed Fix (optional)

No response

Are you willing to submit a PR for this?

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

extent analysis

TL;DR

The issue seems to be related to a JSON parsing error, likely due to an unterminated string, and a Docker executable not being found, which are causing non-retryable client errors and fatal WhatsApp adapter errors.

Guidance

  1. Check JSON formatting: Verify that all JSON data being sent or received is properly formatted, especially focusing on string termination.
  2. Install Docker: Ensure Docker is installed and the Docker executable is available in the system's PATH to resolve the "Docker executable not found" error.
  3. Review WhatsApp bridge: Investigate the WhatsApp bridge process to understand why it's exiting unexpectedly and fix any underlying issues.
  4. Error handling: Improve error handling for JSON parsing and Docker executable checks to provide more informative error messages or fallbacks.

Example

No specific code example can be provided without knowing the exact implementation details, but ensuring proper JSON formatting and Docker installation should be prioritized.

Notes

  • The presence of multiple errors (JSON parsing, Docker not found, WhatsApp bridge exiting) suggests a need for a comprehensive review of the system's configuration and error handling mechanisms.
  • The issue seems to be occurring on a Windows Docker environment, which might have specific configuration requirements for Docker and JSON handling.

Recommendation

Apply workaround: Fix the JSON parsing issue by ensuring all strings are properly terminated, and install Docker to resolve the executable not found error. This should stabilize the system and prevent the non-retryable client errors and WhatsApp adapter errors.

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