claude.ai/code: skill auto-triggers fire before SKILL.local.md / CLAUDE.local.md overrides are applied

Resolved 💬 3 comments Opened May 16, 2026 by DanceNinjas Closed May 19, 2026

What happens

The Claude Code project I'm using (Agentic OS — github.com/simonc602/agentic-os) documents two local override patterns:

  1. CLAUDE.local.md at the repo root — user-owned rules that "extend and override" CLAUDE.md for the session
  2. SKILL.local.md alongside any SKILL.md — local additions that "take precedence over the base"

Both are documented in the project's AGENTS.md and CLAUDE.md as the canonical way to customize behavior without modifying upstream-owned files.

These patterns work reliably on the local Claude Code CLI. They are not honored consistently by claude.ai/code (web/mobile). When a SKILL.md description includes phrasing like "Triggers AUTOMATICALLY when user says X", the mobile sandbox triggers the parent skill BEFORE reading or applying the local override files.

Repro

  1. Connect a repo with a skill that auto-triggers on natural-language phrases (e.g., a wrap-up skill triggered by "wrap up", "done", "all good", etc.)
  2. Add .claude/skills/<skill>/SKILL.local.md with an explicit override: "DO NOT run the base workflow. Instead, do Y."
  3. Or add a rule in CLAUDE.local.md at the repo root with the same intent
  4. In a claude.ai/code session, type the trigger phrase
  5. Observe: mobile fires the base skill's workflow and ignores both overrides

Tested twice in separate sessions — once with CLAUDE.local.md override alone, once with both CLAUDE.local.md and SKILL.local.md overrides. Both ignored.

Expected

Local override files should be loaded and applied before any skill auto-triggers fire, so that user customizations can redirect or replace skill behavior. This is how the local CLI works.

Why this matters

The override pattern is the only documented way to customize skill behavior without touching upstream-owned files. If it doesn't work on mobile, users can't tailor workflows for the mobile/cloud-sandbox context — many "local" skills assume a local filesystem (with scripts/, ~/.claude/, etc.) that doesn't exist in the sandbox, and the override files are the documented way to swap in mobile-friendly alternatives.

Workaround

Use trigger phrases that don't overlap with auto-triggered skills. For a wrap-up skill, I now use "merge to dev" on mobile instead of "wrap up" — explicit phrasing bypasses pattern-matching and produces correct behavior.

Environment

  • Claude Code on claude.ai/code (web/mobile sandbox)
  • Model: claude-sonnet-4-6
  • Repo: a fork of github.com/simonc602/agentic-os

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗