# How to Disable I-Have-ADHD Mode: 3 Methods to Turn Off the Pi Extension

> Learn how to disable I-Have-ADHD mode with 3 simple methods: remove the flag file, use the off command, or type stop adhd mode in chat. Reclaim your focus now.

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

---

**To disable I-Have-ADHD mode, remove the always-on flag file, use the `/i-have-adhd off` command, or type "stop adhd mode" in chat.**

The **I-Have-ADHD** skill is a Pi extension developed by `ayghri/i-have-adhd` that injects a ruleset of 10 ADHD-friendly output rules into your conversations. This guide covers the three ways to turn it off based on the actual source code implementation in [`extensions/i-have-adhd.ts`](https://github.com/ayghri/i-have-adhd/blob/main/extensions/i-have-adhd.ts) and the companion hook scripts.

## Understanding How I-Have-ADHD Mode Works

The extension uses three mechanisms to control whether the ADHD rules are active:

- **Runtime flag** (`--adhd` or `pi.getFlag("adhd")`) — enables the mode at launch
- **Always-on flag file** (`$CLAUDE_CONFIG_DIR/.i-have-adhd-always`) — permanently enables the mode for every session
- **In-session commands and stop phrases** — lets you toggle the mode during a conversation

All disable methods ultimately call `setEnabled(false, ctx)` in the core extension, which removes the ruleset message, clears the UI status badge, and updates the internal state.

## Method 1: Remove the Always-On Flag File (Permanent Disable)

The **most reliable way to completely disable I-Have-ADHD mode** is to delete the persistent flag file. This stops the SessionStart hook from automatically injecting the rules in new sessions.

The hook script at `hooks/always-on.mjs` (or [`always-on.sh`](https://github.com/ayghri/i-have-adhd/blob/main/always-on.sh)) checks for this file on lines 17-24. If found, it triggers the mode before any user interaction.

```bash
rm "$HOME/.claude/.i-have-adhd-always"

```

If your Claude config directory is in a non-standard location, use this expanded path:

```bash
rm "$(dirname $(readlink -f ~/.claude))/.i-have-adhd-always"

```

After deletion, launch a new Pi session. The extension will not load the ADHD rules automatically.

## Method 2: Use the Built-In Toggle Command (Session-Only)

For **temporary control without affecting future sessions**, use the `/i-have-adhd` slash command registered in [`extensions/i-have-adhd.ts`](https://github.com/ayghri/i-have-adhd/blob/main/extensions/i-have-adhd.ts) at lines 87-109.

| Command | Effect |
|---------|--------|
| `/i-have-adhd off` | Disables mode for current session |
| `/i-have-adhd stop` | Same as `off` — disables mode |
| `/i-have-adhd` | Toggles current state (on → off, or off → on) |

Example to turn off I-Have-ADHD mode immediately:

```bash
/i-have-adhd off

```

The extension confirms the change and removes the visual status indicator from your session.

## Method 3: Type a Stop Phrase (Natural Language)

The extension monitors chat input for specific trigger phrases at lines 121-133 of [`extensions/i-have-adhd.ts`](https://github.com/ayghri/i-have-adhd/blob/main/extensions/i-have-adhd.ts). This allows **natural language disabling** without remembering slash commands.

Type either exact phrase in your message:

```

stop adhd mode

```

Or:

```

normal mode

```

The extension detects these strings, calls the disable routine, and responds with: **"ADHD mode disabled."**

This works even mid-conversation and requires no command syntax.

## How the Disable Mechanism Works Internally

When any disable pathway triggers, the extension at [`extensions/i-have-adhd.ts`](https://github.com/ayghri/i-have-adhd/blob/main/extensions/i-have-adhd.ts) executes:

1. Sets internal enabled state to `false`
2. Removes the `i-have-adhd-disabled` message ruleset
3. Clears the UI status badge indicating active mode
4. Sends confirmation to the user

The `setEnabled(false, ctx)` function handles all state cleanup consistently across methods.

## Key Source Files Reference

| File | Purpose |
|------|---------|
| [`extensions/i-have-adhd.ts`](https://github.com/ayghri/i-have-adhd/blob/main/extensions/i-have-adhd.ts) | Core extension with flag handling, command registration, and input monitoring |
| `hooks/always-on.mjs` / [`always-on.sh`](https://github.com/ayghri/i-have-adhd/blob/main/always-on.sh) | Session start hook that auto-enables mode when flag file exists |
| [`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md) | Documentation of the 10 ADHD-friendly rules and stop triggers |
| [`tests/test_always_on_hooks.py`](https://github.com/ayghri/i-have-adhd/blob/main/tests/test_always_on_hooks.py) | Verification suite for enable/disable logic |

## Summary

- **Delete `$HOME/.claude/.i-have-adhd-always`** to permanently disable I-Have-ADHD mode across all future sessions
- **Type `/i-have-adhd off`** or `/i-have-adhd stop` to disable for the current session only
- **Say "stop adhd mode" or "normal mode"** in chat for natural language disabling
- All methods 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) for consistent state management

## Frequently Asked Questions

### What happens if I delete the flag file while a session is running?

Deleting the always-on flag file only affects **new sessions**. Your current session retains whatever state it had. To disable mid-session, use the `/i-have-adhd off` command or a stop phrase.

### Do the stop phrases require exact capitalization?

No. The input listener in [`extensions/i-have-adhd.ts`](https://github.com/ayghri/i-have-adhd/blob/main/extensions/i-have-adhd.ts) processes the phrases case-insensitively as of the current implementation. "Stop ADHD Mode", "STOP ADHD MODE", and "stop adhd mode" all trigger the disable action.

### Can I re-enable I-Have-ADHD mode after disabling it?

Yes. Use `/i-have-adhd on` to enable for the current session, or recreate the always-on flag file with `touch "$HOME/.claude/.i-have-adhd-always"` for persistent activation on future launches.

### Where is the official documentation for the 10 ADHD rules?

The human-readable rules are documented in [`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md) within the repository. This file also specifies the "stop adhd mode" trigger phrase as the canonical way to exit the mode.