Typed hooks report “Property does not exist on type”
The hooks came fromskybridge/web instead of the generated helpers.ts. The bare hooks aren’t typed against your server; only the generated ones carry your tool names, inputs, and outputs.
Tool names don’t autocomplete
Type inference needs the server to export its type andhelpers.ts to consume it, with every tool registered by method chaining so it lands in AppType.
generateHelpers for the full setup.
A hook throws or returns isError
Some hooks only work on one host. Skybridge picks the runtime at load, and calling a host-specific hook on the other one fails, either throwing or returning { isError: true }. Check that each hook runs on the host your view targets .
A hook has no effect
useDownload, useRequestModal, and setDisplayMode must be user-initiated. Hosts reject calls fired from an effect on mount, with no visible result. Trigger them from a click or menu action instead.
The view loads in DevTools but breaks in a real host
DevTools runs a loose CSP, so violations don’t surface locally. Production enforces the policy and blocks any origin the view didn’t declare. List every domain the view reaches in the tool’s CSP config, then confirm through the tunnel or the Audit. See Configure CSP for the field reference.DevTools fails to authenticate with invalid_client
DevTools cached an OAuth registration that the server no longer recognizes, after you switched servers or rotated credentials. Click Sign out in the DevTools header to clear it and force a fresh registration on the next connect.
Go Further
Configure CSP
Let your views reach the domains they need
Audit
Validate before submission