claude.ai/code: skill auto-triggers fire before SKILL.local.md / CLAUDE.local.md overrides are applied
What happens
The Claude Code project I'm using (Agentic OS — github.com/simonc602/agentic-os) documents two local override patterns:
CLAUDE.local.mdat the repo root — user-owned rules that "extend and override" CLAUDE.md for the sessionSKILL.local.mdalongside anySKILL.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
- 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.)
- Add
.claude/skills/<skill>/SKILL.local.mdwith an explicit override: "DO NOT run the base workflow. Instead, do Y." - Or add a rule in
CLAUDE.local.mdat the repo root with the same intent - In a claude.ai/code session, type the trigger phrase
- 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
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗