# What Is the disable-model-invocation Flag and Which Platforms Honor It?

> Learn about the disable-model-invocation flag, a setting that controls automatic skill activation and requires explicit user commands. Discover which platforms support this feature.

- Repository: [Ayoub Ghriss/i-have-adhd](https://github.com/ayghri/i-have-adhd)
- Tags: deep-dive
- Published: 2026-08-26

---

**The `disable-model-invocation` flag is a boolean setting in a skill's YAML front-matter that prevents automatic activation, requiring users to explicitly invoke the skill via commands like `/i-have-adhd` before its behavior takes effect.**

The `disable-model-invocation` flag controls how AI coding assistants register and activate skills in the `ayghri/i-have-adhd` repository. This metadata field determines whether the runtime automatically applies the skill's behavior to every interaction or waits for an explicit user command.

## What Is the disable-model-invocation Flag?

The `disable-model-invocation` flag resides in the **YAML front-matter block** at the top of a skill's [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md) file. When set to `true`, it instructs the runtime that the skill **must not be invoked automatically**. Instead, the skill's rules and modifications only activate after the user explicitly calls it (for example, by typing `/i-have-adhd`).

This mechanism is essential for skills that modify response style, enforce long-running policies, or alter the assistant's default behavior. Without this flag, harnesses might activate the skill on every request, interfering with standard operations.

In [`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md), the flag appears as:

```yaml
---
name: i-have-adhd
description: "Shape output for a reader with ADHD …"
disable-model-invocation: true
license: MIT
---

```

## Platforms That Honor the disable-model-invocation Flag

Not all AI runtimes recognize this metadata field. According to the source code and installation documentation in [`INSTALL.md`](https://github.com/ayghri/i-have-adhd/blob/main/INSTALL.md), the following platforms explicitly respect the flag.

### Claude Code and Qwen Code

**Claude Code** reads the `disable-model-invocation: true` setting from [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md) and defers skill execution until explicitly invoked. **Qwen Code** mirrors this behavior, also waiting for explicit user commands rather than auto-enabling the skill at startup.

### GitHub Copilot

The installation guide at [`INSTALL.md`](https://github.com/ayghri/i-have-adhd/blob/main/INSTALL.md) (lines 263-264) confirms that **GitHub Copilot** follows the flag, remaining inactive until the user explicitly invokes the skill via the defined command.

### Generic and Other Runtimes

Other harnesses or generic runtimes may load skill descriptions at startup and automatically enable them by default. These platforms **do not** honor the `disable-model-invocation` flag unless explicitly programmed to check for it in the YAML front-matter.

### OpenAI Codex Exception

For the **Codex runtime**, the equivalent control mechanism differs. Instead of using `disable-model-invocation`, Codex uses `policy.allow_implicit_invocation: false` defined in [`agents/openai.yaml`](https://github.com/ayghri/i-have-adhd/blob/main/agents/openai.yaml) (lines 724-726). This achieves similar behavior through a different configuration schema.

## How Runtime Harnesses Process the Flag

A runtime that respects the flag typically implements logic similar to this Python pseudo-code:

```python
def load_skill(skill_path):
    frontmatter = read_frontmatter(skill_path)
    if frontmatter.get('disable-model-invocation'):
        # Do not register the skill for automatic calls

        register_explicit_invocation(skill_path)
    else:
        # Normal automatic registration

        register_implicit_invocation(skill_path)

```

The function checks the `disable-model-invocation` key in the parsed YAML. If present and true, the skill registers only for explicit invocation patterns (such as slash commands), bypassing the default automatic registration pipeline.

## Summary

- The `disable-model-invocation` flag is defined in the YAML front-matter of [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md) files within the `ayghri/i-have-adhd` repository.
- When set to `true`, it prevents automatic skill activation, requiring explicit user invocation (e.g., `/i-have-adhd`).
- **Claude Code**, **Qwen Code**, and **GitHub Copilot** explicitly honor this flag according to [`INSTALL.md`](https://github.com/ayghri/i-have-adhd/blob/main/INSTALL.md).
- Other runtimes may ignore the flag unless specifically programmed to recognize it.
- **OpenAI Codex** uses a different mechanism (`policy.allow_implicit_invocation` in [`agents/openai.yaml`](https://github.com/ayghri/i-have-adhd/blob/main/agents/openai.yaml)) rather than the `disable-model-invocation` flag.

## Frequently Asked Questions

### What happens if I omit the disable-model-invocation flag in my skill?

If the flag is absent or set to `false`, the runtime assumes implicit invocation is allowed. The skill may activate automatically on every request, applying its behavior globally rather than waiting for an explicit user command. This can interfere with normal assistant operations if the skill significantly alters output formatting or response style.

### How do I invoke a skill that has disable-model-invocation set to true?

Users must trigger the skill explicitly using its defined invocation command. For the `i-have-adhd` skill in the `ayghri/i-have-adhd` repository, this means typing `/i-have-adhd` in the interface. The skill's rules and modifications only take effect after this explicit call, not during standard automatic processing.

### Does GitHub Copilot support the disable-model-invocation flag?

Yes. According to the documentation in [`INSTALL.md`](https://github.com/ayghri/i-have-adhd/blob/main/INSTALL.md) (lines 263-264), GitHub Copilot respects the `disable-model-invocation` flag and will not activate the skill automatically. The skill remains dormant until the user explicitly invokes it through the appropriate slash command or interface trigger.

### Why doesn't OpenAI Codex use the disable-model-invocation flag?

OpenAI Codex implements access control through a different configuration schema. Instead of the front-matter flag, Codex uses `policy.allow_implicit_invocation: false` in the [`agents/openai.yaml`](https://github.com/ayghri/i-have-adhd/blob/main/agents/openai.yaml) file (lines 724-726). This setting achieves the same functional result—preventing automatic skill activation—but uses a platform-specific parameter rather than the standard `disable-model-invocation` metadata field.