{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json",
  "title": "Oh My OpenCode Configuration",
  "description": "Configuration schema for oh-my-opencode plugin",
  "type": "object",
  "properties": {
    "$schema": {
      "type": "string"
    },
    "disabled_mcps": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "websearch_exa",
          "context7",
          "grep_app"
        ]
      }
    },
    "disabled_agents": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "Sisyphus",
          "oracle",
          "librarian",
          "explore",
          "frontend-ui-ux-engineer",
          "document-writer",
          "multimodal-looker"
        ]
      }
    },
    "disabled_hooks": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "todo-continuation-enforcer",
          "context-window-monitor",
          "session-recovery",
          "session-notification",
          "comment-checker",
          "grep-output-truncator",
          "tool-output-truncator",
          "directory-agents-injector",
          "directory-readme-injector",
          "empty-task-response-detector",
          "think-mode",
          "anthropic-auto-compact",
          "rules-injector",
          "background-notification",
          "auto-update-checker",
          "startup-toast",
          "keyword-detector",
          "agent-usage-reminder",
          "non-interactive-env",
          "interactive-bash-session",
          "empty-message-sanitizer"
        ]
      }
    },
    "agents": {
      "type": "object",
      "properties": {
        "build": {
          "type": "object",
          "properties": {
            "model": {
              "type": "string"
            },
            "temperature": {
              "type": "number",
              "minimum": 0,
              "maximum": 2
            },
            "top_p": {
              "type": "number",
              "minimum": 0,
              "maximum": 1
            },
            "prompt": {
              "type": "string"
            },
            "tools": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {
                "type": "boolean"
              }
            },
            "disable": {
              "type": "boolean"
            },
            "description": {
              "type": "string"
            },
            "mode": {
              "type": "string",
              "enum": [
                "subagent",
                "primary",
                "all"
              ]
            },
            "color": {
              "type": "string",
              "pattern": "^#[0-9A-Fa-f]{6}$"
            },
            "permission": {
              "type": "object",
              "properties": {
                "edit": {
                  "type": "string",
                  "enum": [
                    "ask",
                    "allow",
                    "deny"
                  ]
                },
                "bash": {
                  "anyOf": [
                    {
                      "type": "string",
                      "enum": [
                        "ask",
                        "allow",
                        "deny"
                      ]
                    },
                    {
                      "type": "object",
                      "propertyNames": {
                        "type": "string"
                      },
                      "additionalProperties": {
                        "type": "string",
                        "enum": [
                          "ask",
                          "allow",
                          "deny"
                        ]
                      }
                    }
                  ]
                },
                "webfetch": {
                  "type": "string",
                  "enum": [
                    "ask",
                    "allow",
                    "deny"
                  ]
                },
                "doom_loop": {
                  "type": "string",
                  "enum": [
                    "ask",
                    "allow",
                    "deny"
                  ]
                },
                "external_directory": {
                  "type": "string",
                  "enum": [
                    "ask",
                    "allow",
                    "deny"
                  ]
                }
              }
            }
          }
        },
        "plan": {
          "type": "object",
          "properties": {
            "model": {
              "type": "string"
            },
            "temperature": {
              "type": "number",
              "minimum": 0,
              "maximum": 2
            },
            "top_p": {
              "type": "number",
              "minimum": 0,
              "maximum": 1
            },
            "prompt": {
              "type": "string"
            },
            "tools": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {
                "type": "boolean"
              }
            },
            "disable": {
              "type": "boolean"
            },
            "description": {
              "type": "string"
            },
            "mode": {
              "type": "string",
              "enum": [
                "subagent",
                "primary",
                "all"
              ]
            },
            "color": {
              "type": "string",
              "pattern": "^#[0-9A-Fa-f]{6}$"
            },
            "permission": {
              "type": "object",
              "properties": {
                "edit": {
                  "type": "string",
                  "enum": [
                    "ask",
                    "allow",
                    "deny"
                  ]
                },
                "bash": {
                  "anyOf": [
                    {
                      "type": "string",
                      "enum": [
                        "ask",
                        "allow",
                        "deny"
                      ]
                    },
                    {
                      "type": "object",
                      "propertyNames": {
                        "type": "string"
                      },
                      "additionalProperties": {
                        "type": "string",
                        "enum": [
                          "ask",
                          "allow",
                          "deny"
                        ]
                      }
                    }
                  ]
                },
                "webfetch": {
                  "type": "string",
                  "enum": [
                    "ask",
                    "allow",
                    "deny"
                  ]
                },
                "doom_loop": {
                  "type": "string",
                  "enum": [
                    "ask",
                    "allow",
                    "deny"
                  ]
                },
                "external_directory": {
                  "type": "string",
                  "enum": [
                    "ask",
                    "allow",
                    "deny"
                  ]
                }
              }
            }
          }
        },
        "Sisyphus": {
          "type": "object",
          "properties": {
            "model": {
              "type": "string"
            },
            "temperature": {
              "type": "number",
              "minimum": 0,
              "maximum": 2
            },
            "top_p": {
              "type": "number",
              "minimum": 0,
              "maximum": 1
            },
            "prompt": {
              "type": "string"
            },
            "tools": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {
                "type": "boolean"
              }
            },
            "disable": {
              "type": "boolean"
            },
            "description": {
              "type": "string"
            },
            "mode": {
              "type": "string",
              "enum": [
                "subagent",
                "primary",
                "all"
              ]
            },
            "color": {
              "type": "string",
              "pattern": "^#[0-9A-Fa-f]{6}$"
            },
            "permission": {
              "type": "object",
              "properties": {
                "edit": {
                  "type": "string",
                  "enum": [
                    "ask",
                    "allow",
                    "deny"
                  ]
                },
                "bash": {
                  "anyOf": [
                    {
                      "type": "string",
                      "enum": [
                        "ask",
                        "allow",
                        "deny"
                      ]
                    },
                    {
                      "type": "object",
                      "propertyNames": {
                        "type": "string"
                      },
                      "additionalProperties": {
                        "type": "string",
                        "enum": [
                          "ask",
                          "allow",
                          "deny"
                        ]
                      }
                    }
                  ]
                },
                "webfetch": {
                  "type": "string",
                  "enum": [
                    "ask",
                    "allow",
                    "deny"
                  ]
                },
                "doom_loop": {
                  "type": "string",
                  "enum": [
                    "ask",
                    "allow",
                    "deny"
                  ]
                },
                "external_directory": {
                  "type": "string",
                  "enum": [
                    "ask",
                    "allow",
                    "deny"
                  ]
                }
              }
            }
          }
        },
        "Planner-Sisyphus": {
          "type": "object",
          "properties": {
            "model": {
              "type": "string"
            },
            "temperature": {
              "type": "number",
              "minimum": 0,
              "maximum": 2
            },
            "top_p": {
              "type": "number",
              "minimum": 0,
              "maximum": 1
            },
            "prompt": {
              "type": "string"
            },
            "tools": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {
                "type": "boolean"
              }
            },
            "disable": {
              "type": "boolean"
            },
            "description": {
              "type": "string"
            },
            "mode": {
              "type": "string",
              "enum": [
                "subagent",
                "primary",
                "all"
              ]
            },
            "color": {
              "type": "string",
              "pattern": "^#[0-9A-Fa-f]{6}$"
            },
            "permission": {
              "type": "object",
              "properties": {
                "edit": {
                  "type": "string",
                  "enum": [
                    "ask",
                    "allow",
                    "deny"
                  ]
                },
                "bash": {
                  "anyOf": [
                    {
                      "type": "string",
                      "enum": [
                        "ask",
                        "allow",
                        "deny"
                      ]
                    },
                    {
                      "type": "object",
                      "propertyNames": {
                        "type": "string"
                      },
                      "additionalProperties": {
                        "type": "string",
                        "enum": [
                          "ask",
                          "allow",
                          "deny"
                        ]
                      }
                    }
                  ]
                },
                "webfetch": {
                  "type": "string",
                  "enum": [
                    "ask",
                    "allow",
                    "deny"
                  ]
                },
                "doom_loop": {
                  "type": "string",
                  "enum": [
                    "ask",
                    "allow",
                    "deny"
                  ]
                },
                "external_directory": {
                  "type": "string",
                  "enum": [
                    "ask",
                    "allow",
                    "deny"
                  ]
                }
              }
            }
          }
        },
        "oracle": {
          "type": "object",
          "properties": {
            "model": {
              "type": "string"
            },
            "temperature": {
              "type": "number",
              "minimum": 0,
              "maximum": 2
            },
            "top_p": {
              "type": "number",
              "minimum": 0,
              "maximum": 1
            },
            "prompt": {
              "type": "string"
            },
            "tools": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {
                "type": "boolean"
              }
            },
            "disable": {
              "type": "boolean"
            },
            "description": {
              "type": "string"
            },
            "mode": {
              "type": "string",
              "enum": [
                "subagent",
                "primary",
                "all"
              ]
            },
            "color": {
              "type": "string",
              "pattern": "^#[0-9A-Fa-f]{6}$"
            },
            "permission": {
              "type": "object",
              "properties": {
                "edit": {
                  "type": "string",
                  "enum": [
                    "ask",
                    "allow",
                    "deny"
                  ]
                },
                "bash": {
                  "anyOf": [
                    {
                      "type": "string",
                      "enum": [
                        "ask",
                        "allow",
                        "deny"
                      ]
                    },
                    {
                      "type": "object",
                      "propertyNames": {
                        "type": "string"
                      },
                      "additionalProperties": {
                        "type": "string",
                        "enum": [
                          "ask",
                          "allow",
                          "deny"
                        ]
                      }
                    }
                  ]
                },
                "webfetch": {
                  "type": "string",
                  "enum": [
                    "ask",
                    "allow",
                    "deny"
                  ]
                },
                "doom_loop": {
                  "type": "string",
                  "enum": [
                    "ask",
                    "allow",
                    "deny"
                  ]
                },
                "external_directory": {
                  "type": "string",
                  "enum": [
                    "ask",
                    "allow",
                    "deny"
                  ]
                }
              }
            }
          }
        },
        "librarian": {
          "type": "object",
          "properties": {
            "model": {
              "type": "string"
            },
            "temperature": {
              "type": "number",
              "minimum": 0,
              "maximum": 2
            },
            "top_p": {
              "type": "number",
              "minimum": 0,
              "maximum": 1
            },
            "prompt": {
              "type": "string"
            },
            "tools": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {
                "type": "boolean"
              }
            },
            "disable": {
              "type": "boolean"
            },
            "description": {
              "type": "string"
            },
            "mode": {
              "type": "string",
              "enum": [
                "subagent",
                "primary",
                "all"
              ]
            },
            "color": {
              "type": "string",
              "pattern": "^#[0-9A-Fa-f]{6}$"
            },
            "permission": {
              "type": "object",
              "properties": {
                "edit": {
                  "type": "string",
                  "enum": [
                    "ask",
                    "allow",
                    "deny"
                  ]
                },
                "bash": {
                  "anyOf": [
                    {
                      "type": "string",
                      "enum": [
                        "ask",
                        "allow",
                        "deny"
                      ]
                    },
                    {
                      "type": "object",
                      "propertyNames": {
                        "type": "string"
                      },
                      "additionalProperties": {
                        "type": "string",
                        "enum": [
                          "ask",
                          "allow",
                          "deny"
                        ]
                      }
                    }
                  ]
                },
                "webfetch": {
                  "type": "string",
                  "enum": [
                    "ask",
                    "allow",
                    "deny"
                  ]
                },
                "doom_loop": {
                  "type": "string",
                  "enum": [
                    "ask",
                    "allow",
                    "deny"
                  ]
                },
                "external_directory": {
                  "type": "string",
                  "enum": [
                    "ask",
                    "allow",
                    "deny"
                  ]
                }
              }
            }
          }
        },
        "explore": {
          "type": "object",
          "properties": {
            "model": {
              "type": "string"
            },
            "temperature": {
              "type": "number",
              "minimum": 0,
              "maximum": 2
            },
            "top_p": {
              "type": "number",
              "minimum": 0,
              "maximum": 1
            },
            "prompt": {
              "type": "string"
            },
            "tools": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {
                "type": "boolean"
              }
            },
            "disable": {
              "type": "boolean"
            },
            "description": {
              "type": "string"
            },
            "mode": {
              "type": "string",
              "enum": [
                "subagent",
                "primary",
                "all"
              ]
            },
            "color": {
              "type": "string",
              "pattern": "^#[0-9A-Fa-f]{6}$"
            },
            "permission": {
              "type": "object",
              "properties": {
                "edit": {
                  "type": "string",
                  "enum": [
                    "ask",
                    "allow",
                    "deny"
                  ]
                },
                "bash": {
                  "anyOf": [
                    {
                      "type": "string",
                      "enum": [
                        "ask",
                        "allow",
                        "deny"
                      ]
                    },
                    {
                      "type": "object",
                      "propertyNames": {
                        "type": "string"
                      },
                      "additionalProperties": {
                        "type": "string",
                        "enum": [
                          "ask",
                          "allow",
                          "deny"
                        ]
                      }
                    }
                  ]
                },
                "webfetch": {
                  "type": "string",
                  "enum": [
                    "ask",
                    "allow",
                    "deny"
                  ]
                },
                "doom_loop": {
                  "type": "string",
                  "enum": [
                    "ask",
                    "allow",
                    "deny"
                  ]
                },
                "external_directory": {
                  "type": "string",
                  "enum": [
                    "ask",
                    "allow",
                    "deny"
                  ]
                }
              }
            }
          }
        },
        "frontend-ui-ux-engineer": {
          "type": "object",
          "properties": {
            "model": {
              "type": "string"
            },
            "temperature": {
              "type": "number",
              "minimum": 0,
              "maximum": 2
            },
            "top_p": {
              "type": "number",
              "minimum": 0,
              "maximum": 1
            },
            "prompt": {
              "type": "string"
            },
            "tools": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {
                "type": "boolean"
              }
            },
            "disable": {
              "type": "boolean"
            },
            "description": {
              "type": "string"
            },
            "mode": {
              "type": "string",
              "enum": [
                "subagent",
                "primary",
                "all"
              ]
            },
            "color": {
              "type": "string",
              "pattern": "^#[0-9A-Fa-f]{6}$"
            },
            "permission": {
              "type": "object",
              "properties": {
                "edit": {
                  "type": "string",
                  "enum": [
                    "ask",
                    "allow",
                    "deny"
                  ]
                },
                "bash": {
                  "anyOf": [
                    {
                      "type": "string",
                      "enum": [
                        "ask",
                        "allow",
                        "deny"
                      ]
                    },
                    {
                      "type": "object",
                      "propertyNames": {
                        "type": "string"
                      },
                      "additionalProperties": {
                        "type": "string",
                        "enum": [
                          "ask",
                          "allow",
                          "deny"
                        ]
                      }
                    }
                  ]
                },
                "webfetch": {
                  "type": "string",
                  "enum": [
                    "ask",
                    "allow",
                    "deny"
                  ]
                },
                "doom_loop": {
                  "type": "string",
                  "enum": [
                    "ask",
                    "allow",
                    "deny"
                  ]
                },
                "external_directory": {
                  "type": "string",
                  "enum": [
                    "ask",
                    "allow",
                    "deny"
                  ]
                }
              }
            }
          }
        },
        "document-writer": {
          "type": "object",
          "properties": {
            "model": {
              "type": "string"
            },
            "temperature": {
              "type": "number",
              "minimum": 0,
              "maximum": 2
            },
            "top_p": {
              "type": "number",
              "minimum": 0,
              "maximum": 1
            },
            "prompt": {
              "type": "string"
            },
            "tools": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {
                "type": "boolean"
              }
            },
            "disable": {
              "type": "boolean"
            },
            "description": {
              "type": "string"
            },
            "mode": {
              "type": "string",
              "enum": [
                "subagent",
                "primary",
                "all"
              ]
            },
            "color": {
              "type": "string",
              "pattern": "^#[0-9A-Fa-f]{6}$"
            },
            "permission": {
              "type": "object",
              "properties": {
                "edit": {
                  "type": "string",
                  "enum": [
                    "ask",
                    "allow",
                    "deny"
                  ]
                },
                "bash": {
                  "anyOf": [
                    {
                      "type": "string",
                      "enum": [
                        "ask",
                        "allow",
                        "deny"
                      ]
                    },
                    {
                      "type": "object",
                      "propertyNames": {
                        "type": "string"
                      },
                      "additionalProperties": {
                        "type": "string",
                        "enum": [
                          "ask",
                          "allow",
                          "deny"
                        ]
                      }
                    }
                  ]
                },
                "webfetch": {
                  "type": "string",
                  "enum": [
                    "ask",
                    "allow",
                    "deny"
                  ]
                },
                "doom_loop": {
                  "type": "string",
                  "enum": [
                    "ask",
                    "allow",
                    "deny"
                  ]
                },
                "external_directory": {
                  "type": "string",
                  "enum": [
                    "ask",
                    "allow",
                    "deny"
                  ]
                }
              }
            }
          }
        },
        "multimodal-looker": {
          "type": "object",
          "properties": {
            "model": {
              "type": "string"
            },
            "temperature": {
              "type": "number",
              "minimum": 0,
              "maximum": 2
            },
            "top_p": {
              "type": "number",
              "minimum": 0,
              "maximum": 1
            },
            "prompt": {
              "type": "string"
            },
            "tools": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {
                "type": "boolean"
              }
            },
            "disable": {
              "type": "boolean"
            },
            "description": {
              "type": "string"
            },
            "mode": {
              "type": "string",
              "enum": [
                "subagent",
                "primary",
                "all"
              ]
            },
            "color": {
              "type": "string",
              "pattern": "^#[0-9A-Fa-f]{6}$"
            },
            "permission": {
              "type": "object",
              "properties": {
                "edit": {
                  "type": "string",
                  "enum": [
                    "ask",
                    "allow",
                    "deny"
                  ]
                },
                "bash": {
                  "anyOf": [
                    {
                      "type": "string",
                      "enum": [
                        "ask",
                        "allow",
                        "deny"
                      ]
                    },
                    {
                      "type": "object",
                      "propertyNames": {
                        "type": "string"
                      },
                      "additionalProperties": {
                        "type": "string",
                        "enum": [
                          "ask",
                          "allow",
                          "deny"
                        ]
                      }
                    }
                  ]
                },
                "webfetch": {
                  "type": "string",
                  "enum": [
                    "ask",
                    "allow",
                    "deny"
                  ]
                },
                "doom_loop": {
                  "type": "string",
                  "enum": [
                    "ask",
                    "allow",
                    "deny"
                  ]
                },
                "external_directory": {
                  "type": "string",
                  "enum": [
                    "ask",
                    "allow",
                    "deny"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "claude_code": {
      "type": "object",
      "properties": {
        "mcp": {
          "type": "boolean"
        },
        "commands": {
          "type": "boolean"
        },
        "skills": {
          "type": "boolean"
        },
        "agents": {
          "type": "boolean"
        },
        "hooks": {
          "type": "boolean"
        }
      }
    },
    "google_auth": {
      "type": "boolean"
    },
    "sisyphus_agent": {
      "type": "object",
      "properties": {
        "disabled": {
          "type": "boolean"
        }
      }
    },
    "experimental": {
      "type": "object",
      "properties": {
        "aggressive_truncation": {
          "type": "boolean"
        },
        "empty_message_recovery": {
          "type": "boolean"
        },
        "auto_resume": {
          "type": "boolean"
        },
        "preemptive_compaction": {
          "type": "boolean"
        },
        "preemptive_compaction_threshold": {
          "type": "number",
          "minimum": 0.5,
          "maximum": 0.95
        }
      }
    },
    "auto_update": {
      "type": "boolean"
    }
  }
}