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

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.

Method 1: Direct Config File Edit

Create or modify the extension configuration:

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

Add the following JSON structure:

{
  "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:

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)
  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:

// .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:

// 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

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 /pluginsI 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, 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. 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.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →