Skip to content

[Bug]: v3.15.1 still inconsistently loads/migrates plugin config after rename #3133

@LittleNightmare

Description

@LittleNightmare

Prerequisites

  • I will write this issue in English (see our Language Policy)
  • I have searched existing issues to avoid duplicates
  • I am using the latest version of oh-my-opencode
  • I have read the documentation or asked an AI coding agent with this project's GitHub URL loaded and couldn't find the answer

Bug Description

On OpenCode 1.3.15 with oh-my-openagent 3.15.1, my old user config no longer takes effect.

Previously I used:

~/.config/opencode/oh-my-opencode.json

After upgrading, that file stopped working.

I tried cleaning all of these, but the config still did not apply:

  • ~/.cache/opencode
  • ~/.cache/oh-my-opencode
  • ~/.config/opencode/node_modules
  • ~/.config/opencode/package.json
  • ~/.config/opencode/package-lock.json

Then I tried renaming the config to:

~/.config/opencode/oh-my-openagent.json

That also did not work.

After that I created all of these files at the same time:

  • oh-my-openagent.json
  • oh-my-openagent.jsonc
  • oh-my-opencode.json
  • oh-my-opencode.jsonc

Then after restarting OpenCode, my config suddenly started working again.

I also noticed two generated files in .config:

  • oh-my-openagent.jsonc.bak.2026-04-05T03-17-49-446Z
  • oh-my-openagent.jsonc.tmp

The .tmp file content also looked correct.

So it looks like the config file is detected and rewritten, but the final effective config is still inconsistent.

Then I deleted the other three files and kept only the one I thought was correct. After restarting OpenCode again, my config stopped taking effect again.

So the current behavior seems to depend on having multiple basename/extension variants present, which should not be necessary.

Steps to Reproduce

  1. Use OpenCode 1.3.15 and oh-my-openagent 3.15.1.
  2. Put user config in ~/.config/opencode/oh-my-opencode.json.
  3. Start OpenCode and observe that the config does not take effect.
  4. Delete caches and local install artifacts:
    • ~/.cache/opencode
    • ~/.cache/oh-my-opencode
    • ~/.config/opencode/node_modules
    • ~/.config/opencode/package.json
    • ~/.config/opencode/package-lock.json
  5. Try canonical rename to ~/.config/opencode/oh-my-openagent.json.
  6. Start OpenCode again and observe that it still does not take effect.
  7. Create these four files together:
    • oh-my-openagent.json
    • oh-my-openagent.jsonc
    • oh-my-opencode.json
    • oh-my-opencode.jsonc
  8. Start OpenCode again. In my case, config starts working, and backup/tmp files appear.
  9. Delete the extra three files and keep only one config file.
  10. Start OpenCode again.
  11. Observe that the config stops taking effect again.

Expected Behavior

A single valid config file should load consistently.

I should not need to keep multiple filename variants (oh-my-opencode / oh-my-openagent, .json / .jsonc) in the same directory just to make the config apply.

If migration happens, the migrated canonical file should continue to work by itself on the next startup.

Actual Behavior

Config loading is inconsistent.

  • Old legacy config no longer works reliably.
  • Renamed canonical config also does not work reliably.
  • If multiple basename/extension variants exist together, config may start working.
  • After removing the extra variants and restarting again, config stops taking effect.
  • .bak.* and .tmp files are generated, suggesting migration/write logic runs, but the final active config is still wrong.

Doctor Output

oh-my-opencode: Platform binary not installed.

Your platform: win32-x64
Expected packages (in order): oh-my-opencode-windows-x64, oh-my-opencode-windows-x64-baseline

To fix, run:
  npm install oh-my-opencode-windows-x64

Error Logs

Observed generated files during startup:
oh-my-openagent.jsonc.bak.2026-04-05T03-17-49-446Z
oh-my-openagent.jsonc.tmp

Configuration

{
  "$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-openagent/master/assets/oh-my-opencode.schema.json",
  "agents": {
    "sisyphus": {
      "model": "openai/gpt-5.4",
      "variant": "medium"
    },
    "hephaestus": {
      "model": "openai/gpt-5.4",
      "prompt_append": "Explore thoroughly, then implement. Prefer small, testable changes."
    },
    "oracle": {
      "model": "openai/gpt-5.4",
      "variant": "high"
    },
    "librarian": {
      "model": "zhipuai-coding-plan/glm-4.7"
    },
    "explore": {
      "model": "opencode/minimax-m2.5-free"
    },
    "multimodal-looker": {
      "model": "openai/gpt-5.4",
      "variant": "medium"
    },
    "prometheus": {
      "model": "openai/gpt-5.4",
      "variant": "high",
      "prompt_append": "Always interview first. Validate scope before planning."
    },
    "metis": {
      "model": "openai/gpt-5.4",
      "variant": "high"
    },
    "momus": {
      "model": "openai/gpt-5.4",
      "variant": "xhigh"
    },
    "atlas": {
      "model": "openai/gpt-5.4",
      "variant": "medium"
    },
    "sisyphus-junior": {
      "model": "opencode/minimax-m2.5-free"
    }
  },
  "categories": {
    "visual-engineering": {
      "model": "openai/gpt-5.4",
      "variant": "high"
    },
    "ultrabrain": {
      "model": "openai/gpt-5.4"
    },
    "deep": {
      "model": "openai/gpt-5.3-codex"
    },
    "artistry": {
      "model": "openai/gpt-5.4-mini"
    },
    "quick": {
      "model": "opencode/minimax-m2.5-free"
    },
    "unspecified-low": {
      "model": "openai/gpt-5.3-codex"
    },
    "unspecified-high": {
      "model": "openai/gpt-5.4",
      "variant": "high"
    },
    "writing": {
      "model": "openai/gpt-5.4",
      "variant": "medium"
    }
  }
}

Additional Context

This seems related to the rename transition from oh-my-opencode to oh-my-openagent.

Possibly related existing issues:

But I can still reproduce inconsistent behavior on 3.15.1, so this may be a regression or an incomplete fix in config detection / migration / precedence.

Operating System

Windows

OpenCode Version

1.3.15

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions