# How to Update the i-have-adhd Plugin in Claude Code: Step-by-Step Guide

> Easily update the i-have-adhd plugin in Claude Code. Follow our step-by-step guide to pull the latest version from the ayghri repository and confirm the update.

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

---

**Run `claude plugin marketplace update i-have-adhd` to pull the latest version from the repository, then verify with `claude plugin list` to confirm the new rules are loaded.**

The **i-have-adhd** plugin from the `ayghri/i-have-adhd` repository enhances Claude Code with ADHD-focused output shaping rules. Keeping this plugin updated ensures you have the latest session management rules defined in [`/skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main//skills/i-have-adhd/SKILL.md) and automatic reloads via the `SessionStart` hook.

## How Claude Code Manages Plugin Updates

Claude Code uses a marketplace-driven lifecycle to handle plugin installations and updates. Understanding this architecture helps clarify why the update process works the way it does.

### Marketplace Registration

The plugin declares itself to Claude Code through [`.claude-plugin/marketplace.json`](https://github.com/ayghri/i-have-adhd/blob/main/.claude-plugin/marketplace.json). This JSON file defines the plugin name, description, and crucially, the `source` directory that the update command pulls from. When you run an update, Claude Code references this file to locate the latest code in the repository.

### Local Cache and Version Control

Claude Code maintains a local copy of the plugin files in its internal cache. When you execute an update command, the system fetches the latest commit from the repository, rewrites the cached plugin files, and prepares the new version for loading. The version metadata is tracked in [`.claude-plugin/plugin.json`](https://github.com/ayghri/i-have-adhd/blob/main/.claude-plugin/plugin.json), which the marketplace checks when resolving updates.

## How to Update the i-have-adhd Plugin

Updating requires a single CLI command followed by verification. Ensure you have already added the marketplace entry and installed the plugin initially (these steps only need to be done once).

### Step 1: Execute the Update Command

Run the marketplace update command to fetch the latest version:

```bash
claude plugin marketplace update i-have-adhd

```

This command pulls the newest commit from the `ayghri/i-have-adhd` repository and refreshes the local plugin cache with the latest rule definitions.

### Step 2: Verify the Installation

Confirm the update succeeded by checking the installed version:

```bash
claude plugin list

```

This displays all active plugins and their versions, allowing you to verify that the i-have-adhd plugin reflects the latest release.

## Understanding Always-On Mode

The plugin includes an optional persistence mechanism that automatically applies rules to every new session without manual activation.

### The SessionStart Hook

According to [`hooks/hooks.json`](https://github.com/ayghri/i-have-adhd/blob/main/hooks/hooks.json), the plugin registers a `SessionStart` hook that triggers when Claude Code initializes. This hook checks for the presence of a specific flag file to determine whether to auto-apply the ADHD-focused output rules.

### Enable Automatic Loading

To enable "always-on" mode so the plugin is active in every session automatically:

```bash
touch ~/.claude/.i-have-adhd-always

```

With this flag file present, the plugin will re-apply its rules automatically after each restart. This means once you update the plugin using the marketplace command, the new rule set takes effect immediately on your next session (or immediately if you restart).

### Disable Automatic Loading

To disable always-on mode and return to manual activation only:

```bash
rm ~/.claude/.i-have-adhd-always

```

## Complete Command Reference

Here is the full workflow for managing the plugin lifecycle:

```bash

# Add the marketplace entry (first-time setup only)

claude plugin marketplace add ayghri/i-have-adhd

# Install the plugin initially (first-time setup only)

claude plugin install i-have-adhd@i-have-adhd

# Update to the latest version

claude plugin marketplace update i-have-adhd

# Verify current installation

claude plugin list

# Uninstall completely

claude plugin uninstall i-have-adhd
claude plugin marketplace remove ayghri/i-have-adhd

```

## Key Files Involved in Updates

The update process modifies and references several critical files within the repository:

- **[`.claude-plugin/marketplace.json`](https://github.com/ayghri/i-have-adhd/blob/main/.claude-plugin/marketplace.json)** – Declares the plugin source path that the update command pulls from
- **[`.claude-plugin/plugin.json`](https://github.com/ayghri/i-have-adhd/blob/main/.claude-plugin/plugin.json)** – Contains version metadata used to resolve the latest release
- **[`INSTALL.md`](https://github.com/ayghri/i-have-adhd/blob/main/INSTALL.md)** – Documents the exact CLI commands for installation, verification, and updates
- **[`hooks/hooks.json`](https://github.com/ayghri/i-have-adhd/blob/main/hooks/hooks.json)** – Houses the `SessionStart` hook that controls automatic rule loading
- **[`/skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main//skills/i-have-adhd/SKILL.md)** – Defines the actual output-shaping rules that get refreshed when you update

## Summary

- Use **`claude plugin marketplace update i-have-adhd`** to fetch the latest version from the repository
- The update rewrites local cache files based on paths declared in [`.claude-plugin/marketplace.json`](https://github.com/ayghri/i-have-adhd/blob/main/.claude-plugin/marketplace.json)
- Verify updates with **`claude plugin list`** to confirm the new version is loaded
- Enable always-on mode by creating `~/.claude/.i-have-adhd-always` for automatic rule application
- The `SessionStart` hook in [`hooks/hooks.json`](https://github.com/ayghri/i-have-adhd/blob/main/hooks/hooks.json) handles automatic reloading when the flag file is present

## Frequently Asked Questions

### How do I know if the i-have-adhd plugin updated successfully?

Run `claude plugin list` immediately after the update command. According to the [`INSTALL.md`](https://github.com/ayghri/i-have-adhd/blob/main/INSTALL.md) documentation, this command displays the currently loaded version of all plugins. If the update succeeded, you will see the i-have-adhd plugin listed with the most recent version metadata from [`.claude-plugin/plugin.json`](https://github.com/ayghri/i-have-adhd/blob/main/.claude-plugin/plugin.json).

### What is the "always-on" mode and should I use it?

Always-on mode is an optional feature controlled by the `SessionStart` hook in [`hooks/hooks.json`](https://github.com/ayghri/i-have-adhd/blob/main/hooks/hooks.json). When you create the file `~/.claude/.i-have-adhd-always`, the plugin automatically applies its output-shaping rules to every new Claude Code session without requiring manual activation. Use this if you want ADHD-focused formatting applied consistently across all your coding sessions.

### Can I update the plugin if I didn't install it through the marketplace?

No. The update command `claude plugin marketplace update i-have-adhd` requires that the plugin was initially added via `claude plugin marketplace add ayghri/i-have-adhd` and installed via the marketplace install command. The update process depends on the source path defined in [`.claude-plugin/marketplace.json`](https://github.com/ayghri/i-have-adhd/blob/main/.claude-plugin/marketplace.json) to locate the repository.

### Where are the actual rules stored that get updated?

The output-shaping rules are defined 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. When you run the update command, Claude Code pulls the latest version of this file (along with other plugin files) into its local cache. The rules are then loaded either immediately (if using always-on mode) or on next session start.