# How i-have-adhd Handles the "stop adhd mode" Command

> Learn how i-have-adhd handles the stop adhd mode command. It clears formatting and restores defaults to end ADHD mode effectively.

- Repository: [Ayoub Ghriss/i-have-adhd](https://github.com/ayghri/i-have-adhd)
- Tags: internals
- Published: 2026-07-31

---

**The "stop adhd mode" command terminates ADHD mode by clearing persistent formatting rules and restoring default output style after confirming the change in one line.**

The **i-have-adhd** skill for AI assistants provides persistent ADHD-friendly formatting throughout a conversation session. When users need to return to standard responses, the repository defines a specific termination trigger in its metadata and hook scripts that resets the output style without requiring a reload.

## Where the Termination Logic Is Defined

The termination behavior for **"stop adhd mode"** is governed primarily by the skill's metadata file **[`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md)**.

According to the source code in [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md), the skill description explicitly states it *"stays on until 'stop adhd mode'"*, establishing the command as the canonical off-switch. The "Persistence" section further clarifies that the runtime must *"Turn them off only when the reader says 'stop adhd mode' or 'normal mode'"*.

This metadata-driven approach means the conversational harness (whether Claude, OpenAI, or other interfaces) parses incoming messages against these specific termination strings to trigger the disable sequence.

## How "stop adhd mode" Executes Step-by-Step

When a user inputs **"stop adhd mode"** or the alternative **"normal mode"**, the system executes a three-phase termination process:

1. **Trigger Detection** – The runtime matches the incoming message against the termination strings defined in [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md).

2. **One-Line Confirmation** – Following the directive to *"Confirm in one line"* from the same metadata file, the skill responds with a brief acknowledgment such as *"ADHD mode disabled – returning to normal style."*

3. **Style Reset** – The runtime clears all ADHD-specific formatting rules, immediately restoring the default response style for subsequent conversation turns.

This process is session-scoped, meaning the termination affects only the current conversation without modifying persistent configuration files.

## Session Impact vs. Permanent Configuration

The repository distinguishes between temporary session termination and permanent disabling through the **[`hooks/always-on.sh`](https://github.com/ayghri/i-have-adhd/blob/main/hooks/always-on.sh)** script and the **`.cursor/adhd.flag`** file.

When the always-on flag file exists at `.cursor/adhd.flag`, the hook script [`hooks/always-on.sh`](https://github.com/ayghri/i-have-adhd/blob/main/hooks/always-on.sh) prints a startup banner indicating ADHD mode is active. As documented in [`always-on.sh`](https://github.com/ayghri/i-have-adhd/blob/main/always-on.sh) at line 29, the banner explicitly notes that *"'stop adhd mode' turns it off for the current session"*—confirming that even with always-on enabled, the termination command remains effective for temporary disabling.

To permanently disable the always-on behavior, users must delete the flag file rather than relying on the voice command. The **[`INSTALL.md`](https://github.com/ayghri/i-have-adhd/blob/main/INSTALL.md)** file reinforces this distinction, reminding users that *"'stop adhd mode' still turns it off for the current session"* without affecting the underlying flag configuration.

## Practical Usage Examples

**Basic Session Control**

```text
User: /i-have-adhd
Assistant: (ADHD-mode output with formatting) …
User: stop adhd mode
Assistant: ADHD mode disabled – returning to normal style.

```

**Managing Always-On Mode**

```bash

# Enable persistent ADHD mode across sessions

touch ~/.cursor/adhd.flag

# The next response will display the banner from hooks/always-on.sh

# To temporarily disable for the current session:

# User: stop adhd mode

# To permanently disable always-on behavior:

rm ~/.cursor/adhd.flag

```

## Summary

- The **"stop adhd mode"** command is defined in [`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md) as the canonical termination trigger, with **"normal mode"** accepted as an alternative phrase.
- Upon detection, the system confirms the change in one line and immediately clears ADHD-specific formatting rules to restore default output style.
- The termination is **session-scoped**—it disables the mode for the current conversation without removing the `.cursor/adhd.flag` file or affecting permanent configuration.
- When always-on mode is enabled via the flag file, [`hooks/always-on.sh`](https://github.com/ayghri/i-have-adhd/blob/main/hooks/always-on.sh) continues to document that the stop command affects only the current session.

## Frequently Asked Questions

### What happens if I say "stop adhd mode" but the always-on flag is set?

The skill disables ADHD mode for the current session only. According to [`hooks/always-on.sh`](https://github.com/ayghri/i-have-adhd/blob/main/hooks/always-on.sh), the termination command affects only the active conversation, meaning the next session will re-enable ADHD mode if the `.cursor/adhd.flag` file remains present. To stop the mode permanently, delete the flag file.

### Can I use alternative phrases to stop ADHD mode?

Yes. While **"stop adhd mode"** is the primary command, the metadata in [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md) also recognizes **"normal mode"** as a valid termination trigger. Both phrases execute the same three-step process of detection, confirmation, and style reset.

### Do I need to restart the assistant after stopping ADHD mode?

No restart is required. As noted in [`INSTALL.md`](https://github.com/ayghri/i-have-adhd/blob/main/INSTALL.md), the command takes effect immediately for the current session. The runtime clears the formatting rules instantly and confirms the change without requiring a plugin reload or application restart.

### Where is the "stop adhd mode" behavior configured?

The behavior is configured in **[`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md)**, which defines the termination triggers and confirmation requirements. The session-scoped nature of the command is documented in both [`hooks/always-on.sh`](https://github.com/ayghri/i-have-adhd/blob/main/hooks/always-on.sh) and [`INSTALL.md`](https://github.com/ayghri/i-have-adhd/blob/main/INSTALL.md), creating a consistent termination protocol across the codebase.