fix(rules-injector): respect claude_code config for user rule loading
When claude_code integration is disabled in oh-my-opencode.json, the rules-injector now skips loading rules from ~/.claude/rules/ to prevent Claude Code-specific instructions from leaking into non-Claude agents (e.g., GPT-5.4 Sisyphus), which causes agent hallucination. Also adds ~/.sisyphus/rules/ and ~/.opencode/rules/ as OpenCode-native user rule directories that are always searched regardless of config. Fixes #2920 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -91,9 +91,15 @@ export function createToolGuardHooks(args: {
|
||||
? safeHook("empty-task-response-detector", () => createEmptyTaskResponseDetectorHook(ctx))
|
||||
: null
|
||||
|
||||
const claudeCodeDisabled = pluginConfig.claude_code
|
||||
&& !pluginConfig.claude_code.hooks
|
||||
&& !pluginConfig.claude_code.skills
|
||||
&& !pluginConfig.claude_code.agents
|
||||
const rulesInjector = isHookEnabled("rules-injector")
|
||||
? safeHook("rules-injector", () =>
|
||||
createRulesInjectorHook(ctx, modelCacheState))
|
||||
createRulesInjectorHook(ctx, modelCacheState, {
|
||||
skipClaudeUserRules: claudeCodeDisabled ?? false,
|
||||
}))
|
||||
: null
|
||||
|
||||
const tasksTodowriteDisabler = isHookEnabled("tasks-todowrite-disabler")
|
||||
|
||||
Reference in New Issue
Block a user