flowchart TD A("User sends prompt"):::userNode B["Claude Code processes request"]:::processNode C{"Tool use needed?"}:::decisionNode D["PreToolUse Hook fires"]:::hookNode E["Script writes JSON with BLUE status"]:::blueNode F["BetterTouchTool reads file"]:::bttNode G("Touch Bar displays status!"):::displayNode H["Claude responds directly"]:::processNode I["Stop Hook fires"]:::hookNode J["Script writes JSON with GREEN status"]:::greenNode A --> B B --> C C -->|Yes| D D --> E E --> F F --> G C -->|No| H H --> I I --> J J --> F classDef userNode fill:#667eea,stroke:#333,stroke-width:2px,color:#fff,font-size:16px classDef processNode fill:#764ba2,stroke:#333,stroke-width:2px,color:#fff,font-size:16px classDef decisionNode fill:#f093fb,stroke:#333,stroke-width:2px,color:#333,font-size:16px classDef hookNode fill:#ff6b6b,stroke:#333,stroke-width:2px,color:#fff,font-size:16px classDef blueNode fill:#1e90ff,stroke:#333,stroke-width:2px,color:#fff,font-size:16px classDef greenNode fill:#228b22,stroke:#333,stroke-width:2px,color:#fff,font-size:16px classDef bttNode fill:#ffa502,stroke:#333,stroke-width:2px,color:#fff,font-size:16px classDef displayNode fill:#2ed573,stroke:#333,stroke-width:2px,color:#fff,font-size:16px linkStyle default stroke:#999,stroke-width:2px,font-size:16px