OpenKnowledge
Changelog

v0.58.1

Released Aug 18, 2026.

Patch Changes

  • In-app agents now know they're talking to Open Knowledge. The ACP handshake identifies the app by name and version (the protocol's clientInfo field), so agents can show which client is driving them, cross-implementation debugging gets version context, and Open Knowledge is counted correctly in ACP ecosystem usage metrics instead of appearing as an anonymous client.

  • Blob Run goes back to being a secret, and reads better once you find it. The Resources menu no longer lists the game — the mascot gesture, the command palette, and the mascot button on the connecting banner still open it — and the Community section now leads with GitHub, then X, then Discord. Waking the game from the mascot takes eight rapid clicks instead of four, and a burst that is already in flight is no longer restarted by the clicks that follow it, so the fireworks the clicking earns actually get to play. In the game itself, the score moved from the far corner of the track to directly under the blob, where the player is already looking, and the key names in the hint line now render as keycaps.

  • Stop re-seeding the built-in skills into agents you removed them from

    Seeding open-knowledge-discovery and open-knowledge-write-skill ran on every launch and topped the bundles back up into every agent folder on the machine, so uninstalling one from a single agent was undone the next time OpenKnowledge started. Agents that read the shared ~/.agents/skills hub also ended up with a second copy under their own path and reported a name collision.

    Seeding is now a first-run act: once a bundle exists anywhere the user can reach it, its host set is theirs to choose and the sweep leaves it alone. A machine where the bundle is absent everywhere still gets the full set, so a fresh install is unchanged.

    Uninstalling a built-in from one agent also works now — the reserved-name gate that guards authoring was rejecting the lifecycle verbs too.

  • For fresh PATH setups, the desktop app now adds the ok command to Fish only when Fish is the login shell or has independent usage or configuration evidence. New Zsh and Bash setups no longer create an unused Fish configuration file; files recorded by older installs remain available to Settings and ok uninstall for cleanup.

  • Fixed MCP write tools (write, edit, move, delete, and related) returning HTTP 401 when the server runs behind an authenticating reverse proxy with --external-url/OK_EXTERNAL_URL set to the public origin. The tools' internal server-to-self API calls were being issued against the public, auth-gated URL, so they hairpinned out through the proxy and hit the login gate instead of the local server. These self-calls now always target loopback, so a single OK_EXTERNAL_URL pointing at your public origin gives working remote UI, reads, and writes at once. User-facing preview and share links are unaffected — they were never derived from this URL.

  • The new-file keyboard shortcut now skips the dialog when there is nothing to ask. With no template resolved for the folder you're creating in, the only field left was a name you were about to retype in the editor anyway, so the shortcut creates an untitled doc (then untitled-2, untitled-3, …) and opens it straight away. Add a template for the folder and the dialog comes back, because now there's a real choice to make. The New file dialog itself also drops the "Start from" picker entirely when no templates resolve, instead of showing an empty picker plus a hint — that applies to every surface that still opens it (file tree, command palette, folder overview).

  • Setting up your AI tools is now one checkbox instead of a checklist.

    The first-launch screen used to ask for a row-by-row audit — a checkbox per tool (including tools you don't have), a checkbox per skill, and a Skip button that meant something subtly different from unchecking everything. Now it's a single pre-checked box covering every tool we found, with a "What this changes" expander listing the exact files it writes. Adding ok to your terminal stays a separate checkbox, since that's an unrelated decision. The same treatment applies when you create a project: the AI-tool choice moves out of Advanced settings and becomes one checkbox with the same disclosure.

    You see more than before, not less. The checkbox names every tool it will write to whether or not you expand it, and if setup would replace an existing OpenKnowledge entry, that warning sits right next to the checkbox.

    It also only names tools it can actually set up. Creating a project used to offer tools that take no per-project setup at all — Claude Desktop, OpenClaw, Antigravity, LM Studio, Hermes — where ticking the box did nothing. Copilot is listed once its OpenKnowledge connection exists, since until then its project skill can't load.

    Two behavior changes worth knowing: onboarding no longer installs the open-knowledge-write-skill bundle — it's an authoring convenience, so it now waits for you to turn it on in Settings, and any copy you already have is left alone. And declining setup never removes anything: it writes nothing and tears nothing down. Removal lives in Settings, where the row tells you what it removes.

  • Add native Excalidraw drawing-canvas support for .excalidraw files. Opening one in the editor now mounts an infinite canvas board; changes serialize to the file's Y.Text('source') as an Excalidraw JSON snapshot and sync live across peers.

    Scoped to the .excalidraw extension only. .canvas was intentionally left alone — it's already Obsidian's canvas JSON schema, which the text viewer opens with syntax highlighting; Excalidraw can't parse it.

  • Settings got a simpler sidebar with clearer ownership. "This project" now has a Preferences page, mirroring the one under User, and the attachment-location control moved there from User → Preferences, where it wrongly suggested a personal setting (it writes the shared project config; it now carries a Project scope badge). Content rules and Terminal folded into the same page as blocks under one page title. Sync and Config sharing merged into one "Sync & sharing" page. Everything that moved is still searchable by its old name, and old settings deep links land on the page that absorbed them.

  • Every settings section heading now says where its values are stored. The scope badge that plugin panels already carried is on all of them, with a third value for per-machine settings: User (your user config, personal to this device), Project (committed to config.yml and shared through git), and This machine (stored in .ok/local for this project on this computer only). Hovering or focusing a badge explains the storage location in full. Descriptions that existed only to state scope have been trimmed, since the badge now carries it.

  • Prepares share links to work correctly for projects whose Open Knowledge content lives in a subdirectory of the repository (configured with content.dir). Existing share links are unaffected.

  • Starter pack cards now say what a pack contains and what clicking one does. Each card shows a "N files · N folders" count and a "See what's added" footer, so it's clear the click opens a preview rather than installing anything, and hovering (or focusing) a card lists the folders the pack scaffolds with a one-line summary for each. The Navigator's starter-pack pills, which previously showed only a name, now show the pack description on hover.

View v0.58.1 on GitHub