# How to Disable i-have-adhd Mode in the Pi Extension: Stop Phrases and Commands

> Learn how to disable i-have-adhd mode in the Pi extension. Discover the specific stop phrases like "stop adhd mode" and "normal mode" to regain control.

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

---

**The i-have-adhd Pi extension disables when you type "stop adhd mode" or "normal mode," with both phrases defined in the `STOP_PHRASES` set in [`extensions/i-have-adhd.ts`](https://github.com/ayghri/i-have-adhd/blob/main/extensions/i-have-adhd.ts).**

The i-have-adhd project provides ADHD-friendly interaction rules for Pi extensions, but users need clear exit paths when they want standard behavior. Understanding the exact stop phrases that disable this mode ensures smooth transitions between assisted and normal operation.

## Stop Phrases That Disable i-have-adhd Mode

The extension recognizes **two specific stop phrases** stored in the `STOP_PHRASES` constant at line 27 of [`extensions/i-have-adhd.ts`](https://github.com/ayghri/i-have-adhd/blob/main/extensions/i-have-adhd.ts):

- **"stop adhd mode"**
- **"normal mode"**

These phrases are case-insensitive. The extension lowercases all input before checking membership in `STOP_PHRASES`, so "Stop ADHD Mode" and "NORMAL MODE" work identically.

## How the Stop Phrase Detection Works

When i-have-adhd mode is active, the extension intercepts every user message and validates it against the `STOP_PHRASES` Set. Here's the core logic from the source:

```typescript
// From extensions/i-have-adhd.ts
if (enabled && STOP_PHRASES.has(input)) {
  setEnabled(false, ctx);
  // ...additional UI handling...
}

```

The `setEnabled(false, ctx)` call immediately deactivates all ADHD-specific rules for the current session.

## Alternative Methods to Disable the Mode

Beyond typing the natural-language stop phrases, users can invoke the explicit command interface:

```text
/i-have-adhd off

```

This command triggers the same `setEnabled(false, ctx)` pathway without requiring natural-language parsing.

## Key Implementation Files

| File | Purpose |
|------|---------|
| [`extensions/i-have-adhd.ts`](https://github.com/ayghri/i-have-adhd/blob/main/extensions/i-have-adhd.ts) | Defines `STOP_PHRASES` and handles all enable/disable logic |
| [`extensions/context-compat.ts`](https://github.com/ayghri/i-have-adhd/blob/main/extensions/context-compat.ts) | Provides message handling utilities consumed by the extension |
| [`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md) | Contains the active rule set applied when mode is enabled |
| [`scripts/check_pi_extension.py`](https://github.com/ayghri/i-have-adhd/blob/main/scripts/check_pi_extension.py) | Validates Pi extension behavior including stop phrase recognition |

## Summary

- Type **"stop adhd mode"** or **"normal mode"** to disable i-have-adhd mode naturally
- Input matching is **case-insensitive** and ignores surrounding whitespace
- The **`/i-have-adhd off`** command provides an explicit alternative
- All disable operations route through **`setEnabled(false, ctx)`** in [`extensions/i-have-adhd.ts`](https://github.com/ayghri/i-have-adhd/blob/main/extensions/i-have-adhd.ts)
- The `STOP_PHRASES` Set at **line 27** controls which phrases trigger deactivation

## Frequently Asked Questions

### What happens if I mistype a stop phrase?

The extension requires exact matches for "stop adhd mode" or "normal mode" after lowercasing and whitespace trimming. Variations like "stop the adhd mode" or "normal modes" will not trigger deactivation and will be processed as regular messages under ADHD-friendly rules.

### Can I customize the stop phrases in my deployment?

The `STOP_PHRASES` Set is hardcoded at line 27 of [`extensions/i-have-adhd.ts`](https://github.com/ayghri/i-have-adhd/blob/main/extensions/i-have-adhd.ts). To modify the phrases, you would need to fork the `ayghri/i-have-adhd` repository and edit the source directly, then redeploy your extension build.

### Does disabling the mode persist across sessions?

According to the implementation in [`extensions/i-have-adhd.ts`](https://github.com/ayghri/i-have-adhd/blob/main/extensions/i-have-adhd.ts), calling `setEnabled(false, ctx)` only affects the current session context. The extension does not appear to write persistent state, so restarting your Pi client would restore default mode settings based on initial configuration.