Share links
Copy a link to any doc or folder and send it to a teammate. Open Knowledge handles the GitHub round-trip, the deep link, and the branch on the other end.
Open Knowledge has a Share button in the editor toolbar. Click it and the app copies a https://openknowledge.ai/d/… URL to your clipboard. Anyone you send it to lands on a splash page that knows the project and target, and a single click opens it in their copy of Open Knowledge.
Sending a share link
Click the Share button to copy a deep link to the current doc or folder to your clipboard. The sharing functionality is backed by GitHub and requires that your project has a remote origin.
Without a remote
If the project has no origin configured, the Share button opens the Publish to GitHub wizard. The wizard:
- Lists the GitHub accounts and orgs you can push to.
- Validates the repo name as you type; name collisions, SAML SSO blocks, and rate-limit errors all surface inline.
- On submit, creates the repository through GitHub's API, sets it as
origin, and runs the initialgit push. - Once the push lands, copies the share URL to your clipboard automatically.
If the push fails after the repo was created (auth lost mid-flow, network blip), the wizard shows a Retry push affordance. The GitHub-side repo isn't recreated, only the push is retried.
Opening a share link
The recipient clicks the URL and lands on a splash page showing the target (file or folder) name, the owner/repo path, and the branch from which it was shared.
Two CTAs sit on the splash page:
- Open in Open Knowledge fires the deep link and opens the Open Knowledge desktop app — on the shared doc, folder overview, or project root depending on what was shared.
- Download for macOS downloads the arm64 DMG for users who do not yet have the desktop app.
What the desktop app does when it receives the link
The deep link arrives at the desktop app's handler, which runs a three-question receive flow:
- Q1: Do you already have this repo? The app scans recent projects for one whose
gitRemoteUrlmatches the share'sowner/repo. A hit silently routes to that project (no dialog, the window just opens and navigates to the shared doc, folder, or project root). - Q2: Clone or locate? If Q1 misses, a dialog asks "Clone to a new folder" or "I already have it locally". The locate path lets you point at an existing folder.
- Q3: Clone. On the clone path, the app runs an auth check, asks where to put the folder, then runs
git clone -b <share-branch>so the new checkout lands on the right branch before opening.
Receiving on a different branch
If you have the repo open locally but on a different branch, the app falls through to a branch-switch dialog instead of silently opening the wrong content. Behavior depends on whether the shared target (file or folder) exists on your current branch:
- Target exists on both branches. The dialog offers
Open on <current-branch>orSwitch to <share-branch> and open. - Target only on the share's branch. The dialog offers
Switch to <share-branch> and openplus Cancel.
Receiving without push permission
If the shared repo is one your GitHub account can't push to (you're not a collaborator on a public repo, or you have read-only access on a private one), Open Knowledge skips the usual "Enable auto-sync?" prompt. Sync is also disabled for the same reason in Settings → Sync. If the project owner grants you write access later, click the sync indicator to re-check; Open Knowledge will pick up the change without an app restart. See GitHub sync: GitHub-side blockers for the full set of permission shapes the sync UI handles.
See GitHub sync for how to automatically sync changes to GitHub, and Timeline and recovery for per-doc history once the doc is open.