# Install Framecap for an agent

Only the signed website build contains CLI/MCP files. Preserve any App Store copy; do not run both at once because global shortcuts can conflict.

Download the versioned installer script and release manifest, inspect them, then run:

```sh
curl -fLO https://framecap.dev/downloads/install-framecap.sh
zsh install-framecap.sh --manifest https://framecap.dev/downloads/releases/0.2.0/manifest.json --dry-run
zsh install-framecap.sh --manifest https://framecap.dev/downloads/releases/0.2.0/manifest.json
~/.local/bin/framecap doctor --json
```

The installer verifies SHA-256, Bundle ID signing, Team ID, and Gatekeeper before copying to `~/Applications/Framecap.app`. It refuses to replace an unknown non-symlink CLI. Existing installs get a timestamped rollback copy. It does not modify quarantine, Screen Recording permissions, shell startup files, or every detected client.

Configure exactly one selected client with the bundled `framecap-config.py CLIENT preview`, inspect the output, then replace `preview` with `install`. Supported client names are `codex`, `claude-code`, and `cursor`. Restart the selected client after installation.

To remove integration, run `framecap-config.py CLIENT remove`. Remove only the App, `~/.local/bin/framecap` if it points to Framecap, and the install record for a full uninstall. Keep user images and unrelated client configuration. Restore the recorded rollback App manually if needed.

The release URL is immutable. Future versions use a new versioned directory rather than replacing this DMG.
