Skip to content

Feature: add a toggle to disable reusing Claude config/plugins/MCPs #2949

@Strelitzia-reginae

Description

@Strelitzia-reginae

Summary

OpenCode/OMO currently appears to reuse parts of the Claude Code user environment from ~/.claude, including settings, plugins, MCP servers, skills, and CLAUDE.md context. This is convenient for some users, but for others it creates hidden coupling and makes runtime behavior harder to reason about.

Problem

Right now, it is difficult to tell which capabilities come from OpenCode/OMO itself and which are being inherited from the Claude environment.

This can cause problems such as:

  • unexpected MCP servers or tools appearing
  • plugins being loaded implicitly from Claude's plugin ecosystem
  • CLAUDE.md instructions affecting behavior without an obvious OpenCode-side setting
  • harder debugging, because behavior depends on another tool's user directory
  • weaker isolation and less predictable trust boundaries

Requested feature

Please add a user-facing toggle or startup flag to control whether OpenCode/OMO reuses Claude Code user state.

Suggested modes:

  1. Reuse Claude environment (current behavior)
  2. Isolated mode (do not load from ~/.claude)
  3. Optional granular controls for:
    • Claude settings
    • Claude plugins
    • Claude MCP servers
    • Claude skills
    • CLAUDE.md instructions/context

Why this would help

  • clearer separation between OpenCode and Claude ecosystems
  • easier debugging and reproducibility
  • more predictable tool/MCP surface
  • better security and trust clarity
  • easier onboarding for users who want a clean OpenCode-only setup

Possible UX ideas

  • ask on first startup whether Claude compatibility should be enabled
  • expose a config option in settings
  • add a CLI flag for strict isolation
  • show the source of loaded capabilities (OpenCode vs Claude vs plugin)

Notes

I am not suggesting removing Claude compatibility. The issue is that reuse currently feels implicit. An explicit switch would preserve compatibility while giving users control over isolation and predictability.

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