Safari extension
The extension’s Safari toolbar item is titled Save to Linkgarden.
Screens
Section titled “Screens”| Screen | Shown when | What you can do |
|---|---|---|
| Loading | While the popup is reading the current tab and talking to Linkgarden | — |
| Save form | The page is savable and not already saved | Edit the name, pick a folder, tick tags, add a note, Add or Cancel |
| Already in Linkgarden | A live bookmark already has this address | Import all open tabs, Close |
| This link is in Recently Deleted | A deleted bookmark has this address | Restore or Cancel |
| Saved to Linkgarden | The save succeeded | Done |
| Restored | The restore succeeded | Done |
| Import result | A tab import finished | Done |
| Open Linkgarden once to finish setup. | The app has never run, so its shared storage does not exist yet | Close |
| Let Linkgarden read this page | The extension has no permission for this page | Close |
| This page can’t be saved. | The address is not http/https, has no host, or exceeds 2048 characters |
Close |
| Something went wrong | A message to Linkgarden failed or timed out | Retry or Close |
Save form
Section titled “Save form”- Name — pre-filled from the page title, cleaned of control characters and truncated at 300 characters. Selected on open so you can type over it.
- Host — the page’s host, shown below the name.
- Folder — a dropdown of your folders in sidebar order, defaulting to None.
- Tags — a filter box plus a checkbox per tag, in sidebar order. Each tag is shown in its own colour. Once five are ticked, the rest are disabled and a caption reads “Up to 5 tags.”
- Add a note — reveals a text area, up to 2000 characters. Blank notes are not stored.
Sync line
Section titled “Sync line”After a save, restore, or import, a line under the confirmation tracks what happens next.
| Message | Meaning |
|---|---|
| Syncing to iCloud… | Waiting for confirmation. |
| Starting Linkgarden… | Still waiting after 5 seconds; the app is being woken. |
| Synced to iCloud | The bookmark has been uploaded. |
| Sign in to iCloud to sync. | No iCloud account is available. |
| iCloud sync needs attention — open Linkgarden. | Sync reported an error. |
| No internet connection. | The browser reported the device is offline. |
| It’ll finish syncing next time you open Linkgarden. | No confirmation arrived within 25 seconds. |
None of these mean the bookmark was lost. It is written to local storage before any of this begins.
The popup never closes itself — use Done, Cancel, or Close.
Duplicate matching
Section titled “Duplicate matching”Two addresses are the same bookmark when they match after:
- lowercasing the scheme and the host
- dropping the
#fragment - treating a bare
/path as no path
The path and the query string are compared as-is, so example.com/a and
example.com/a?ref=x are two distinct bookmarks.
Import all open tabs
Section titled “Import all open tabs”Available from the save form and from the Already in Linkgarden screen. It considers every tab in every Safari window.
Each tab ends up in one of three buckets, reported on the result screen:
- Imported — saved, with only its address and title.
- Already in Linkgarden — matched an existing bookmark, live or deleted.
- Skipped — not an
http/httpspage, an unusable address, or past the 500-item limit.
What the extension needs
Section titled “What the extension needs”- Linkgarden must have been opened at least once. The extension writes into the storage the app creates on first launch. Until then the popup only shows “Open Linkgarden once to finish setup.”
- Safari must have granted the extension access to the page. Otherwise the popup shows “Let Linkgarden read this page” with instructions.
Platform notes
Section titled “Platform notes”The extension works on both macOS and iPadOS.
Waking Linkgarden in the background to push a save to iCloud — and the app quitting itself again afterwards — is macOS behaviour. On iPadOS the extension cannot launch the app, so the save is stored locally and uploads the next time you open Linkgarden yourself; the sync line will end with “It’ll finish syncing next time you open Linkgarden.”

