Hook’s New URL Schemes for Links of Certain Apps

This post is a bit technical. All that most users need to know is that if you have used a version of Hook before June 13, and created links in Bear, Drafts, Evernote, nvALT, Fantastical or Ulysses, then you should run Hook public beta build #2498 at least once.


Hook Public Beta build #2468, released on June 13, 2019, contains significant changes in the format of the links that Hook creates for the following apps: Bear, Drafts, Evernote, nvALT, Fantastical and Ulysses. Hook links to items in other apps (such as Mail) are not affected.

The format of Hook links to and from documents in Bear, Drafts, Evernote, nvALT, Fantastical and Ulysses will change from hook://<app-name> to <app-name>://.

Bidirectional links (in ACCESS LINKED ITEMS section of Hook window) will be converted automatically

If you have previously created Hook window links between items in those apps and any other item, in this build Hook will convert those links automatically for you. “Hook window links” are bidirectional links; they appear in the ACCESS LINKED ITEMS section of the Hook window (as opposed to links you might copy/paste in other documents).

It is important to launch this build at least once because the automatic conversion will be removed from the database after the public beta, which ends soon. Otherwise, your previous links to and from items in those particular apps will no longer work.

Implications for hook:// links you may have pasted in docs and notes

If you have previously pasted links to items of these apps (links that use the old hook:// schemes) somewhere, then when you click on those links, Hook will map the address to the new scheme (a redirect) and format. For example, if you pasted a hook://bear/<identifier> link into a TextEdit document, and then you click on that link, Hook will translate it to bear://x-callback-url/open-note?id=<identifier>.

Of course, Hook cannot and will not convert hook:// links you pasted. Hook just serves these links (i.e., when you click on them, Hook responds to them and does the appropriate invocation).

This redirect code is new in this release. If you encounter issues please let us know. We will tweak it if needed. We expect to keep the redirect code (in some form) indefinitely, though it is only useful for users of prior Hook builds.

Details of scheme changes

The following table details the specific scheme changes in question.

App old scheme new scheme
Bear hook://bear/<id> bear://x-callback-url/open-note?id=<id>
Drafts 5 hook://drafts5/open?uuid=<id> hook://drafts5/open?uuid=<id>
Evernote hook://evernote//view/<id> evernote:///view/<id>
nvALT hook://nvalt/<id> nvalt://find//?NV=<id>
Fantastical 2 hook://fantastical/<id> x-fantastical2://show/calendar/<id>
Ulysses hook://ulysses/<id> ulysses://x-callback-url/open?id=<id>

Principle used by CogSci Apps for determining schemes of links created by Hook

Going forward, the general rule followed by Hook is this. When Hook creates a link, it will use an app’s scheme or standard scheme as long as links with such schemes can sufficiently reliably be resolved. Otherwise, Hook will use the hook:// scheme with a subscheme.

An example of a hook:// link is hook://mail links. Here “mail” is the subscheme. Hook resolves mail links, and deals with idiosyncrasies of various mail clients. This allows you change mail apps. It also allows you to send email links to other people such that email messages can be opened in the app of their choice.

Another example is hook://file links. These links are much more robust that the file:// protocol. file: is the subscheme.

Release notes

For information on other updates in this big build, please consult the Releases category of Hook productivity forum.


Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.