No Linkable Item in …

No valid resource detected

When you invoke the Hookmark window, it tries to identify the current item (document or object). If Hookmark 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 Preview.”

There are several possible causes and solutions for this situation. First, let’s consider a general work-around.

0. General work-around: Use the app’s UI, if any, and Hookmark’s Focus on Link in Clipboard

You can work around any No linkable item found in <App> message shown in any app that has a Copy Link function, even if it lacks proper automation for linking.

Simply copy a link using the app’s user interface, and then use Hookmark’s Focus on Link in Clipboard (⌃⌘L). That puts the link in the title bar. If the link’s name is not helpful, you can easily rename it with Hookmark’s Rename in Hookmark title bar command (aka ⌃⇧). See also 💡Rename Links to Suit Your Needs

1. You have not granted accessibility permission to Hookmark

Make sure that Hookmark is present in Apple menu > System Preferences menu item > Security & Privacy > Privacy tab > Accessibility pane.

This allows Hookmark to interact with macOS and its apps.

Click here to open Security & Privacy > Privacy > Accessibility on your Mac.

1.1 Your accessibility permission database is corrupted

The macOS accessibility permissions database can get confused. In that case you might see strange behavior like not being able to disable or enable permissions for an app. In that case, you may reset Accessibility for Hookmark as follows:

  1. tccutil reset Accessibility com.cogsciapps.hook
  2. Reboot your Mac.

For example: Accessibility problem – Discussion & Help – Hookmark Forum.

2. Hookmark’s Automation permission to control the app is effectively disabled

In addition to general “accessibility”, Hookmark also needs automation permission for any app that you want it to control.

So, perhaps you have not granted Hookmark Automation permission to control that particular app. Or, due to an apparent bug in macOS, macOS may have ‘forgotten’, or failed to record, that you granted Hookmark permission to control a particular app. Or you may have revoked such permission.

You can grant, or re-grant, permissions as follows:

Hook-Automation

  1. From the Apple menu, open System Preferences.
  2. Click on the Security & Privacy button.
  3. Click on the Privacy tab.
  4. click on the Automation tab.
  5. If the app is not enabled, enable it.
  6. If the problematic app is enabled, try unchecking it, then checking the checkbox again.
  7. You will need to relaunch the app, and perhaps even restart your Mac.

In rare cases: Even if your app is listed, due to an apparent Bug in macOS (particularly Big Sur), you may need to uncheck the app (remove the checkmark), re-check the app, and restart your Mac.

Click here to open Security & Privacy > Privacy > Accessibility on your mac.

3. 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. Notes.app, 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 Hookmark on them.

4. The email has not been sent

You cannot (normally) link to or from an unsent email. That’s because the ID of an email is assigned after it is sent. Hookmark 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 an unsent email cannot be referenced.

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

In the following conditions, there is no item for Hookmark to get information about:

  1. there is no open window;
  2. the frontmost window has no object; or
  3. no item has been selected in a window that lists several items.

So, you’ll get No linkable item found in <App>. You can still use Hookmark’s search in that case.

Examples:

  • If you are in an app but have not opened an item, then there is no item for Hookmark to get information about.
  • If you have accessed a web page that has not yet loaded, it is not possible for apps (including Hookmark) to determine 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.

5.1 A palette is open or has the focus

Some apps have palettes. When Hookmark is invoked in the context of a window but a palette window is open, Hookmark might show the “No linkable item found in” message. That is because when Hookmark 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. See this forum discussion. So is Mathematica.

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

Some Mac apps lack adequate automation (such as x-callback-url, JavaScript or AppleScript). If Hookmark works with these apps at all, it is normally through “UI scripting”. Those apps are not fully linkable. “UI scripting” involves simulating interactions with the user interface (e.g., click on the Edit menu and choose Copy Link).

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

Ulysses is an example of a Mac app with no automation. Hookmark has a method for controlling this app. However, we recommend using its alternatives, like Craft which do have adequate automation. That will also give you many advantages apart from Hookmark compatibility.

7. The app is unsupported

Some apps have no adequate facility for linking. In that case your best options are:

  1. Contact the app’s developer using these tips. MANY developers have added support for linking. For most developers, this is a simple change. If a developer is uncertain how to proceed, you can point them to the x-callback-url website — there are plenty of examples of Mac developers who have added automation to their apps. (Or they can check out Hookmark’s apps page.
  2. Switch to a competitor that understands the value of linking and automation.

Keep in mind: if an app you are using has no automation, then sooner or later you might pay the price of vendor lockin. It’s best to use apps that provide automation for getting data out of them.

8. You’ve overridden Hookmark’s integration script for this app

For Hookmark Pro users, it is possible inadvertently to modify the integration script for an app in a way that breaks the integration between Hookmark and the app. If you don’t know what that 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 Hookmark’s Preferences window, select the app bundle in question.
  2. Click the - (minus) button on the bottom left.

That will enable Hookmark to use Hookmark’s integration script for the app (the default script). See Creating and Modifying Integration Scripts for more information.

You might need to perform a Hookmark software update to get the latest integration software from CogSci Apps Corp.

9. System Integrity Protection (SIP) is disabled

As mentioned on Hookmark’s “buy” page, Hookmark requires System Integrity Protection to be enabled on your Mac. SIP-enabled is the default of macOS; it requires root privileges to disable. It is generally not recommended to disable SIP. See:
System Integrity Protection on your Mac (Apple Support).

Workarounds: Copy the Link manually, etc.

As long as an app has a Copy Link function, you can use it with Hookmark.

  1. Use the app’s Copy Link command.
  2. Go to another item in another app.
  3. Invoke Hookmark and choose Hook to Copied Link.

You can also use Hookmark’s other functions, such as searching its bookmarks.

Ongoing and future developments

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

Tip: Subscribe to the Hookmark newsletter or Hookmark forum.