Skip to content

Config hot-reload: apply opencode.json and plugin changes without restart #49569

Closed as not planned

Description

@teodor-georgiev

Problem

OpenCode loads opencode.json and initializes plugins exactly once at startup. Every config or plugin change (adding a plugin, pinning a version, tweaking permissions) requires a full quit + restart to take effect.

Why it matters

  • Plugin authors iterating on a hook currently pay a full restart per change.
  • Heavy plugin setups (12+ plugins) make each restart slower; users batch changes to avoid restarting, which delays feedback.
  • A stale/shadowing second config file (e.g. opencode.jsonc next to opencode.json) is only discovered at the next restart.

Proposal

  • Watch config files (opencode.json/opencode.jsonc, project + global) and offer hot-reload (or a /reload command) that re-merges config and re-initializes plugins in the running session.
  • If full hot-reload is unsafe (provider/auth changes), reload at least the safe subset (permissions, tool output limits, compaction) and clearly report which changes still need a restart.

Context

Running opencode 1.18.31 with a 12-plugin setup; cold start is fine (~4s), but the restart-per-tweak loop slows plugin development.

Activity

  1. github-actions commented on Sep 17, 2026

    @github-actions
    Contributor

    This issue doesn't fully meet our contributing guidelines.

    What needs to be fixed:

    • Feature requests should use the Feature Request template, which requires a verification checkbox confirming the feature hasn't been suggested before, and the title should start with [FEATURE]:

    Please edit this issue to address the above within 2 hours, or it will be automatically closed.


    This issue might be a duplicate of existing issues. Please check:

    If you believe this was flagged incorrectly, please let a maintainer know.

  2. github-actions commented on Sep 17, 2026

    @github-actions
    Contributor

    This issue has been automatically closed because it was not updated to meet our contributing guidelines within the 2-hour window.

    Feel free to open a new issue that follows our issue templates.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions