# How to Configure ADHD Mode to Be Enabled by Default in i-have-adhd

> Easily enable ADHD mode by default in i-have-adhd. Learn how to set defaultEnabled true in your configuration for automatic activation on every session.

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

---

**Set `defaultEnabled: true` in your runtime's configuration file or plugin settings to automatically activate ADHD mode for every new session.**

The `ayghri/i-have-adhd` repository provides an ADHD-friendly formatting mode that restructures LLM responses for better readability and actionability. By default, this mode must be toggled manually per session, but the codebase supports persistent configuration across Pi, Kimi, and OpenCode runtimes. The following steps show exactly how to enable ADHD mode by default for each platform.

## Pi Runtime: Config File or CLI Flag

The Pi extension stores its settings in `~/.pi/extensions/i-have-adhd.json` and checks a `defaultEnabled` boolean at session initialization in [`extensions/i-have-adhd.ts`](https://github.com/ayghri/i-have-adhd/blob/main/extensions/i-have-adhd.ts).

### Method 1: Direct Config File Edit

Create or modify the extension configuration:

```bash
nano ~/.pi/extensions/i-have-adhd.json

```

Add the following JSON structure:

```json
{
  "defaultEnabled": true,
  "persist": true
}

```

Save and exit. The `persist` flag ensures the setting survives Pi restarts.

### Method 2: CLI Configuration Command

Use Pi's built-in config setter without manual file editing:

```bash
pi config set i-have-adhd.defaultEnabled true

```

Both methods achieve the same result: new Pi sessions will automatically display `● ADHD ON` in the footer. To verify, start a fresh session with `pi` and confirm the indicator appears.

## Kimi Runtime: Plugin Settings UI

Kimi persists default settings in browser local storage through its plugin management interface.

1. Open any Kimi session and type `/plugins`
2. Select **I Have ADHD** from the plugin list
3. Click the **gear** icon (or press `R` as documented in [`README.md`](https://github.com/ayghri/i-have-adhd/blob/main/README.md))
4. Toggle **"Enable by default"** to the on position
5. Press `D` at any time to disable the default without uninstalling

The change takes effect immediately for subsequent sessions. No filesystem access is required since Kimi runs entirely in-browser.

## OpenCode Runtime: Plugin Module Export

OpenCode plugins load from `.opencode/plugins/i-have-adhd.mjs` and respect an exported `defaultEnabled` constant.

Modify the plugin entry point:

```javascript
// .opencode/plugins/i-have-adhd.mjs
export const defaultEnabled = true;

export async function onLoad(context) {
  if (defaultEnabled) {
    await context.enableAdhdMode();
  }
}

```

After saving, reload the plugin with `opencode reload` or restart the host application. The `onLoad` hook executes automatically for each new session context when `defaultEnabled` is `true`.

## Alternative: Always-On Hook for Cross-Runtime Enforcement

For environments where native default settings are unavailable, the repository provides `hooks/always-on.mjs`. This hook intercepts session initialization regardless of platform-specific configuration:

```javascript
// hooks/always-on.mjs — forces ADHD mode on every session
import { enableAdhdMode } from '../extensions/i-have-adhd.js';

export function onSessionStart(context) {
  // Bypasses all defaultEnabled checks; unconditionally enables
  context.state.adhdMode = true;
  enableAdhdMode(context);
}

```

Install this hook by copying or symlinking it into your runtime's hooks directory. This approach overrides individual user preferences—use only when mandatory organization-wide enablement is required.

## Verification Steps

After applying any configuration method above:

1. Completely terminate your runtime (close browser tab, kill Pi process, or stop OpenCode host)
2. Start a fresh session
3. Check for the `● ADHD ON` indicator in the status bar or footer
4. Send any test prompt and confirm responses follow the 10 ADHD-friendly rules defined in [`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md)

## Summary

- **Pi users**: Set `defaultEnabled: true` in `~/.pi/extensions/i-have-adhd.json` or run `pi config set i-have-adhd.defaultEnabled true`
- **Kimi users**: Enable via `/plugins` → **I Have ADHD** → toggle **Enable by default** (or press `R`)
- **OpenCode users**: Export `defaultEnabled = true` from `.opencode/plugins/i-have-adhd.mjs`
- **Forced enablement**: Deploy `hooks/always-on.mjs` to bypass all conditional checks

Each method leverages the same underlying session initialization logic found in [`extensions/i-have-adhd.ts`](https://github.com/ayghri/i-have-adhd/blob/main/extensions/i-have-adhd.ts), ensuring consistent behavior across supported runtimes.

## Frequently Asked Questions

### What file controls ADHD mode default settings in Pi?

The Pi extension reads `~/.pi/extensions/i-have-adhd.json` at session start. If this file doesn't exist, the extension creates it with `defaultEnabled: false`. Manually editing this JSON or using `pi config set` both modify this same file.

### Does enabling ADHD mode by default affect existing saved sessions?

No. The `defaultEnabled` flag only applies to new sessions initialized after configuration. Existing session state is preserved unless you explicitly reset the runtime or clear local storage (Kimi) or delete the Pi extensions directory.

### Can I temporarily disable ADHD mode when it's enabled by default?

Yes. All runtimes respect runtime toggle commands. In Pi and OpenCode, say or type "stop adhd mode" or "normal mode" as documented in [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md). In Kimi, press `D` from the plugin panel to disable for the current session without changing the default setting.

### Is the always-on hook compatible with all runtimes?

Partially. The `hooks/always-on.mjs` module uses standard JavaScript exports that work with Pi and OpenCode. Kimi's browser-based architecture doesn't support filesystem hooks, so Kimi users must use the plugin UI method. For server-side or self-hosted Kimi instances, contact your administrator to inject the equivalent setting at deployment time.