| name | x-callback-url:xcall |
| disable-model-invocation | true |
| description | Call x-callback-url schemes from the CLI synchronously. Use when invoking macOS app URL schemes (Things, Bear, OmniFocus, etc.). |
| allowed-tools | ["Bash","Read"] |
xcall
Send x-callback-url requests from the command line and receive responses synchronously.
How It Works
xcall is a Swift CLI that builds into a macOS .app bundle. The .app is required because macOS only delivers URL scheme callbacks to registered applications. On first use, run.sh compiles the source into ~/.cache/claude/x-callback-url/xcall.app and registers the callback scheme (xcall-claude://) with Launch Services.
There is one bundle, shared by every consuming plugin, at a path outside the plugin tree. macOS registers exactly one handler for xcall-claude://, and lsregister -f on a second bundle does not take the scheme back from the first, so a per-consumer bundle makes consumers retire each other's copies in turn. The marketplace cache is content-addressed, so a bundle built beside the source loses its registration to a deleted path on the next plugin update.
Sandbox
Neither half of the bridge survives the command sandbox. lsregister cannot reach Launch Services to register the bundle, and a compiled cannot complete the URL-scheme round trip. So and both carry the plugin's marker, which runs them outside it.