# i-have-adhd Command Invocation: Slash vs Dollar vs Explicit Modes Across Platforms

> Learn the differences in i-have-adhd command invocation: slash vs dollar vs explicit modes. Understand how to use /i-have-adhd, $i-have-adhd, and toggles across platforms for ADHD-friendly formatting.

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

---

**Claude Code and Qwen Code use the `/i-have-adhd` slash command, Codex requires the `$i-have-adhd` dollar-prefixed command, and all platforms support explicit `/i-have-adhd on` or `/i-have-adhd off` toggles to control ADHD-friendly formatting rules for the current session.**

The **i-have-adhd** skill in the `ayghri/i-have-adhd` repository adapts AI responses for ADHD-friendly formatting, but the **i-have-adhd command invocation** syntax varies significantly between agent platforms. Understanding whether to use a slash (`/`), dollar (`$`), or explicit argument depends on which runtime and plugin architecture you are using.

## Platform-Specific Command Syntax

### Claude Code and Qwen Code (Slash Commands)

In **Claude Code** and **Qwen Code**, the skill is invoked as a **slash command**. The OpenCode plugin registered in `.opencode/plugins/i-have-adhd.mjs` exposes `/i-have-adhd` as a first-class UI command. When you type the slash command, the plugin injects the full ADHD ruleset defined in [`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md) into the current session context.

```text
User: /i-have-adhd
Agent: (ADHD-friendly formatting rules now active for this session)

```

### Codex (Dollar-Prefixed Commands)

**Codex** does not support implicit skill invocation. According to the agent configuration in [`skills/i-have-adhd/agents/openai.yaml`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/agents/openai.yaml), the `policy.allow_implicit_invocation` is set to `false`, requiring an explicit **dollar-prefixed** trigger. You must type `$i-have-adhd` to manually load the ruleset for that specific session.

```text
User: $i-have-adhd
Agent: (ADHD rules applied for this session only)

```

### Explicit On/Off Toggles (All Platforms)

All supported runtimes accept explicit state arguments to toggle the mode without reloading the session. The commands `/i-have-adhd on` and `/i-have-adhd off` are parsed by the runtime extension in [`extensions/i-have-adhd.ts`](https://github.com/ayghri/i-have-adhd/blob/main/extensions/i-have-adhd.ts) to enable or disable the formatting rules immediately.

```text
User: /i-have-adhd on   # Explicitly enable rules

User: /i-have-adhd off  # Explicitly disable rules

```

## How the Invocation Methods Differ Under the Hood

The architectural difference stems from how each platform registers commands. The **slash command** (`/`) integration relies on the OpenCode plugin system, where `.opencode/plugins/i-have-adhd.mjs` registers the command namespace with the UI autocomplete system. Conversely, the **dollar command** (`$`) is handled by Codex's agent configuration file ([`skills/i-have-adhd/agents/openai.yaml`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/agents/openai.yaml)), which defines the trigger string and disables automatic invocation to prevent accidental rule application.

## Session Lifecycle and Persistence

These **i-have-adhd command invocation** methods affect only the **current session**; they do not persist across restarts unless configured otherwise. To deactivate the rules mid-session, type either `stop adhd mode` or `normal mode`, which signals the runtime extension to unload the ruleset.

For persistent activation, the repository supports an always-on flag. When the file `$CLAUDE_CONFIG_DIR/.i-have-adhd-always` exists, the session start hook in [`hooks/always-on.sh`](https://github.com/ayghri/i-have-adhd/blob/main/hooks/always-on.sh) automatically injects the ruleset without requiring manual command invocation.

## Summary

- **Claude Code and Qwen Code** use `/i-have-adhd` slash commands registered by `.opencode/plugins/i-have-adhd.mjs`.
- **Codex** requires `$i-have-adhd` dollar commands defined in [`skills/i-have-adhd/agents/openai.yaml`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/agents/openai.yaml) due to disabled implicit invocation.
- **Explicit toggles** (`/i-have-adhd on/off`) work across all platforms to force state changes immediately.
- Rules remain active only for the **current session** unless the always-on flag file is present in the configuration directory.
- Deactivation phrases include `stop adhd mode` and `normal mode`.

## Frequently Asked Questions

### Why does Codex use a dollar sign instead of a slash?

Codex's agent configuration in [`skills/i-have-adhd/agents/openai.yaml`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/agents/openai.yaml) explicitly disables implicit invocation with `policy.allow_implicit_invocation: false`, requiring the `$i-have-adhd` prefix to prevent accidental rule application. This design ensures users consciously opt into the ADHD-friendly formatting for each session rather than having it triggered automatically.

### Do these commands persist after closing the terminal?

No. According to the installation documentation in [`INSTALL.md`](https://github.com/ayghri/i-have-adhd/blob/main/INSTALL.md), all **i-have-adhd command invocation** methods are session-based and terminate when the session ends. To make the rules permanent across restarts, create the `$CLAUDE_CONFIG_DIR/.i-have-adhd-always` flag file, which triggers [`hooks/always-on.sh`](https://github.com/ayghri/i-have-adhd/blob/main/hooks/always-on.sh) to load rules automatically on startup.

### Can I use explicit on/off commands in Codex?

Yes. While Codex primarily uses `$i-have-adhd` for activation, the explicit toggle syntax `/i-have-adhd on` and `/i-have-adhd off` is handled by the cross-platform runtime logic in [`extensions/i-have-adhd.ts`](https://github.com/ayghri/i-have-adhd/blob/main/extensions/i-have-adhd.ts) and functions identically across all supported environments, allowing fine-grained control over the session state.

### Where is the command behavior defined in the source code?

The slash command registration lives in `.opencode/plugins/i-have-adhd.mjs`, the dollar-prefixed trigger is defined in [`skills/i-have-adhd/agents/openai.yaml`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/agents/openai.yaml), and the session state management is implemented in [`extensions/i-have-adhd.ts`](https://github.com/ayghri/i-have-adhd/blob/main/extensions/i-have-adhd.ts). The user-facing usage instructions appear in [`INSTALL.md`](https://github.com/ayghri/i-have-adhd/blob/main/INSTALL.md) around line 725.