AI Assistant Compatibility
ULPI Hooks works with any AI coding assistant that supports lifecycle hooks. This guide provides setup instructions for each supported assistant, compatibility details, and troubleshooting tips.Compatibility Overview
- Full Support (8/8 Hooks)
- Partial Support (6/8 Hooks)
- Coming Soon
✅ Fully Compatible Assistants
These assistants support all 8 ULPI lifecycle hooks out of the box:Claude Code
- All 8 hooks supported
- Native integration
- Zero configuration
- Best performance
Cursor
- All 8 hooks supported
- Excellent performance
- Auto-detects hooks
- Active development
Windsurf
- All 8 hooks supported
- MCP-native design
- Fast hook execution
- Growing ecosystem
ulpi setup and hooks install automaticallyClaude Code Setup
Installation
Prerequisites:- Claude Code installed (version ≥ 1.0.0)
- ULPI API token
- Coordination subscription active
Install ULPI Package
Run Guided Setup
Restart Claude Code
Verify Hooks Active
Configuration
Claude Code hooks are configured in~/.claude-code/hooks/ulpi.config.json:
Performance
Claude Code has the best hook performance:Troubleshooting
Hooks not showing on session start
Hooks not showing on session start
- Check config exists:
ls ~/.claude-code/hooks/ulpi.config.json - Verify API token:
ulpi auth verify - Check logs:
claude-code --debug-hooks - Reinstall:
ulpi setup --force
Pre-compact hook not firing
Pre-compact hook not firing
Cursor Setup
Installation
Prerequisites:- Cursor installed (version ≥ 0.30.0)
- ULPI API token
- Coordination subscription active
Install ULPI Package
Run Guided Setup
Reload Cursor Window
- Press
Cmd+Shift+P(Mac) orCtrl+Shift+P(Windows/Linux) - Type “Developer: Reload Window”
- Press Enter
Verify Hooks Active
Configuration
Cursor hooks are configured in~/.cursor/hooks/ulpi.config.json:
Cursor-Specific Features
Composer Integration: When using Cursor’s composer mode, hooks integrate seamlessly:Performance
Cursor has excellent hook performance:Troubleshooting
Status bar not showing hooks
Status bar not showing hooks
Composer ignoring file reservations
Composer ignoring file reservations
Windsurf Setup
Installation
Prerequisites:- Windsurf installed (version ≥ 1.0.0)
- ULPI API token
- Coordination subscription active
Install ULPI Package
Run Guided Setup
Restart Windsurf
Verify Hooks Active
Configuration
Windsurf hooks are configured in~/.windsurf/mcp-servers.json:
Windsurf-Specific Features
Collaborative Hooks: Windsurf’s real-time collaboration works with hooks:Performance
Windsurf has excellent hook performance:Cline (VS Code Extension) Setup
Installation
Prerequisites:- VS Code installed
- Cline extension installed from marketplace
- ULPI API token
Install Cline Extension
- Press
Cmd+Shift+X(Extensions) - Search “Cline”
- Click “Install”
Install ULPI Package
Run Setup for Cline
Reload VS Code
- Press
Cmd+Shift+P→ “Developer: Reload Window”
Verify Hooks
Limitations
Cline supports 6 out of 8 hooks: ✅ Supported:- session-start
- pre-tool-use:edit
- post-tool-use:edit
- user-prompt-submit
- stop
- session-end
- pre-compact (Cline doesn’t expose compaction events)
- subagent-stop (Cline doesn’t support subagents)
Feature Comparison
Switching Between Assistants
Hooks work across assistants. You can use different assistants for different tasks: Example:-
Morning: Use Claude Code for architecture planning
- session-start loads memories
- pre-compact saves decisions
-
Afternoon: Switch to Cursor for implementation
- session-start loads same memories
- pre-edit reserves files
-
Evening: Review with Windsurf in collaboration mode
- All file reservations visible to collaborators
- Same ULPI Memory
- Same Coordination state
- Same file reservations
- Same agent messages
Best Practices
Use best assistant for each task
Use best assistant for each task
- Architecture/Planning: Claude Code (best context preservation)
- Feature Implementation: Cursor (excellent composer mode)
- Team Collaboration: Windsurf (real-time collaboration)
- Quick Edits: Cline (lightweight, VS Code integrated)
Maintain consistent agent identity
Maintain consistent agent identity
Claude-Code-YourName(when using Claude Code)Cursor-YourName(when using Cursor)Windsurf-YourName(when using Windsurf)
Sync config across assistants
Sync config across assistants
Troubleshooting
General Issues
Hooks not working after setup
Hooks not working after setup
- Ensure assistant is restarted after setup
- Check API token is valid
- Verify Coordination subscription active
- Try re-running setup:
ulpi setup --force
Some hooks work, others don't
Some hooks work, others don't
- Check which hooks are failing
- Enable debug mode:
ulpi config set debug=true - Check assistant version (may need update)
- Review assistant-specific limitations
Hook latency too high
Hook latency too high
- Check network latency to ULPI API
- Enable caching:
ulpi config set cacheEnabled=true - Reduce session-start memory loading:
min Importance=0.7 - Disable non-critical hooks