Skip to content

Config migration resets terminal.cwd and clears all auxiliary.*.model fields on upgrade #17182

@JIRBOY

Description

@JIRBOY

Describe the Bug

After running hermes update (pulled 639 new commits), several critical config fields were either reset to invalid values or became empty, causing terminal commands and auxiliary model calls to fail.

Affected Fields (config.yaml)

Field Before Upgrade After Upgrade Impact
terminal.cwd /home/super/Workspace Workspace (relative) All terminal commands fail with FileNotFoundError
auxiliary.title_generation.model qwen3.6-plus "" (empty) Title generation fails: model "" is not supported
auxiliary.approval.model qwen3.6-plus "" (empty) Approval flow broken
auxiliary.flush_memories.model qwen3.6-plus "" (empty) Memory flush fails
auxiliary.mcp.model (set) "" (empty) MCP tool calls broken
auxiliary.session_search.model (set) "" (empty) Session summarization fails
auxiliary.skills_hub.model (set) "" (empty) Skills hub operations broken
auxiliary.vision.model (set) "" (empty) Vision tool broken
auxiliary.web_extract.model (set) "" (empty) Web extract broken
timezone Asia/Shanghai "" (empty) Timezone lost
smart_model_routing.cheap_model {model: ..., provider: ...} {} (empty) Smart routing broken

Config Version Migration

Config migrated 17 -> 21 then 21 -> 22 during the same update run. The migration scripts appear to be dropping user-set values for auxiliary model fields and resetting terminal.cwd from an absolute path back to a relative default.

Steps to Reproduce

  1. Have config.yaml with terminal.cwd set to an absolute path
  2. Have auxiliary models explicitly configured
  3. Run hermes update
  4. After update, check config.yaml — fields are reset to empty/relative defaults

Expected Behavior

User-set config values should be preserved during migration. The migration script should:

  • Only add new config keys that don't exist
  • Never overwrite existing user values with defaults
  • Preserve absolute paths in terminal.cwd

Environment

  • Hermes version: v2026.4.23-873-ga9efa46b6 (main branch)
  • pyproject version: 0.11.0
  • Config version: 22
  • OS: WSL2 (Ubuntu)
  • Provider: Alibaba (DashScope)
  • Model: qwen3.6-plus

Error Logs

ERROR tools.terminal_tool: Execution failed after 3 retries - Error: FileNotFoundError: [Errno 2] No such file or directory: 'Workspace'

ERROR agent.title_generator: Title generation failed: model "" is not supported

WARNING root: Session summarization failed after 3 attempts: model "" is not supported

Workaround

Manually fix config.yaml and restart gateway. But this affects all users who upgrade — config migration needs to preserve existing values.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1High — major feature broken, no workaroundarea/configConfig system, migrations, profilescomp/agentCore agent loop, run_agent.py, prompt buildertype/bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions