System Requirements
Everything you need to run Haptix.
Haptix CLI + daemon
| Requirement | Minimum |
|---|---|
| macOS | 15.0+ (Sequoia) |
| Chip | Apple Silicon (M1 or later) |
| Camera permission | Required — granted to the haptix binary or your terminal app |
| Full Xcode toolchain | Required — Command Line Tools alone are not enough |
The haptix binary is the daemon, the MCP server, and a CLI mirror of every MCP tool. Install via curl -fsSL https://get.haptix.dev/install.sh | bash. The daemon runs as a launchd user agent (dev.haptix.server) and serves the MCP endpoint at localhost:4278.
Camera permission is a hard requirement as of v1.4.7. Haptix uses macOS Camera permission for CoreMediaIO to read the device screen over USB — there is no degraded path. Sessions refuse to start without it.
haptix setupwalks through the permission prompt.
Full Xcode is a hard requirement. Haptix uses
xcrun devicectlto discover physical iPhone/iPad hardware andxcodebuildto launch the on-device agent. Install Xcode from the App Store or Apple Developer downloads, launch it once, accept the required components, then confirm:xcrun --version xcodebuild -version xcrun devicectl --version
HaptixKit (iOS SDK)
| Requirement | Minimum |
|---|---|
| iOS | 18.0+ |
| iPadOS | 18.0+ |
| Swift | 6.0+ |
| Distribution | Swift Package Manager |
The SDK is distributed as a pre-built XCFramework via Swift Package Manager. It listens on a fixed port (4279) on the device for connections from the daemon over USB.
Supported devices
Physical iPhone or iPad only — no iOS Simulator support. Haptix uses macOS CoreMediaIO + USB to read the device screen, neither of which is available on the Simulator.
Any iPhone or iPad running iOS/iPadOS 18.0 or later is supported, including:
- iPhone XS, XR, and later
- iPad (10th generation) and later
- iPad Air (3rd generation) and later
- iPad Pro (3rd generation) and later
- iPad mini (5th generation) and later
Physical devices require two settings enabled before Haptix can start a session. You cannot just plug in any phone and start driving it; iOS requires Developer Mode first.
- Developer Mode — Settings → Privacy & Security → Developer Mode (the device reboots once)
- UI Automation — Settings → Developer → Enable UI Automation
Connection
Haptix uses USB only for device communication. Connect your iPhone or iPad to your Mac with a USB cable (Lightning or USB-C). Some charge-only cables won't work — use one that supports data.
| Component | Protocol | Details |
|---|---|---|
| Device discovery | xcrun devicectl + CoreMediaIO |
USB-only; Wi-Fi devices are filtered out |
| Device communication | WebSocket over iproxy USB tunnel |
Fixed port 4279 on device |
| Agent ↔ daemon | Streamable HTTP | localhost:4278/mcp (loopback only) |
No Bonjour, no LAN broadcasting, no IP configuration, no firewall prompts. Nothing leaves your machine.
Supported AI agents
Any MCP-capable agent works with Haptix. Tested and documented:
| Agent | Config format |
|---|---|
| Cursor | .cursor/mcp.json |
| Claude Code | CLI command |
| VS Code | .vscode/mcp.json |
| Windsurf | mcp_config.json |
| Claude Desktop | claude_desktop_config.json |
| Codex | CLI command |
| OpenCode | opencode.json |
See MCP Setup for the exact config for each agent.
Licensing
| License type | Updates | Use |
|---|---|---|
| Standard | 1 year from purchase | Perpetual — app keeps working at last entitled version |
| Lifetime | Forever | Perpetual |
- 1 license = 1 seat = 1 developer = 2 machines (e.g. laptop + desktop)
- Team licenses scale by seats: 10 seats = 10 developers = 20 machines
- Machine limit enforced at activation time
- 7-day free trial before purchase
Free trial via haptix trial (no signup, one per machine UUID). Purchase at haptix.dev/plans.