No Linkable Item in …

No valid resource detected

When you invoke the Hook window, it needs to identify the current item (document or object). If Hook cannot identify it, the status bar message will say

No linkable item found in <App>. Learn more

where <App> is the name of the app. For example, “No linkable item found in Mail.”

There are several likely explanations for this situation.

1. You have not granted accessibility permission to the app.

Please make sure that your app is listed in System Preferences > Security & Privacy > Automation > Hook >

see also: Accessibility Permissions – Hook

Since macOS sometimes gets confused: if your app is enabled, you may need to disable it and re-enable it (toggling the checkboxes).

2. The foreground item has not been saved

It is impossible to link to (or from) a item until it is saved. Some applications (e.g., Bear, nvALT) save new items as soon as they’re created, but many applications (e.g. TextEdit, BBEdit, Photoshop) let you open a new window and start writing or modifying new items which don’t exist in the file system and cannot be hooked until they are saved.

Tip: Save new items before invoking Hook on them.

3. The message is a draft email, or the email app does not have automation

Hook normally identifies emails by their standard “Message-ID” , per Section 3.6.4 of RFC 2822.

Until an email message is sent, the message does not have an ID. Therefore it cannot be referenced.

If you happen to use the Spark email client by Readdle, as of 2019-12-05 it still does not support automation to get the name and ID of emails., MailMate and Airmail 3 and even Outlook do support automation.

Tip: Use an email app that supports automation, and make sure you are not dealing with a message that has been sent.

4. No item is selected, open or loaded in the frontmost window

If the frontmost window has no object, or no object has been selected, then there is no item for Hook to get information about.

If you are in an app but have not opened an item, then there is no item for Hook to get information about.

If you have accessed a web page that has not yet loaded, it is not possible for apps (including Hook) to tell what the address or name of the web page is.

Tip: Ensure that the correct window is frontmost, and that the desired item is open or selected.

4.1 A palette is open or has the focus

Some apps have palettes. When Hook is invoked in the context of a window but a palette window is open, Hook might show the “No linkable item found in” message. That is because when Hook communicates with the app to get information about the frontmost window, the app returns information related to the palette, or no information at all.

Mellel 5 is an example of this. Compare this forum discussion..

5. UI scripted app and macOS or app language is not yet supported

Where possible, Hook integrates with apps using an automation language (like JavaScript or AppleScript). But if the app is not fully linkable with automation, then Hook may use screen scripting, which involves simulating interacting with the user interface (e.g., to click on Edit menu and choose Copy Link.

In this case Hook’s internal scripts need to be in the same language as the app is currently configured. Hook supports English, and partially supports other languages. This page lists languages. If your language is not yet supported, you can our tech contact support, preferably providing the equivalent to Copy Link for that app. Compare this Firefox issue.

6. The app is unsupported

Most macOS applications work with Hook but some require special support for their integration.

Tip: Learn more about integrating Hook with unsupported applications.

7. You’ve problematically overridden Hook’s integration script for this app

For Pro users, it is possible inadvertently to modify the integration script for an app in a way that breaks the integration between Hook and the app. If you don’t know what this means, then you most likely have not done this. But if you have, then your best bet may be to remove your custom integration, as follows.

  1. On the left side of the Scripts Panel of Hook’s Preferences window select the app bundle in question.
  2. click the “-” (minus) button on the bottom.

That will enable Hook to use Hook’s integration script for the app (which depending on the could be the default script). See Creating and Modifying Integration Scripts – Hook for more information.

8. System Integrity Protection (SIP) is disabled

As mentioned on Hook’s “buy” page, Hook requires that System Integrity Protection be enabled on your Mac. That is the default of macOS and requires root privileges to disable, and is generally not recommended. Compare:
System Integrity Protection on your Mac (Apple Support).

Ongoing and future developments

CogSci Apps, with the help of its savvy forum members supports a growing number of linkable apps.

Tip: Subscribe to the Hook newsletter or Hook productivity forum.

Help Contents

Help > Hook Window :

All Help