A local graph keeps your notes as ordinary markdown files in a folder you choose on your computer. It needs no server and no account: the files are the notes. Open them in any other editor, back them up, put them in git, or sync the folder with a tool such as Syncthing.

Local graphs work in Chromium-based desktop browsers (Chrome, Edge, Brave, Arc and similar) on Windows, macOS and Linux, because those are the browsers with the feature that lets a website read and write a folder. Firefox and Safari, including everything on an iPhone or iPad, do not have it; use a synced graph there (Synced Graphs).

Choose the folder

On the Knowledge graphs page select Open folder (Local Graph) and pick a folder. Choose an empty one, or one you are happy to dedicate to the graph. EtherPK creates journals/, pages/, assets/ and etherpk/ inside it, writes an AGENTS.md beside them, and from then on your notes live there as files. The graph is named after the folder; rename it from the Knowledge graphs page if you like, which changes the name in EtherPK and not the folder's.

You pick the folder once per graph. A folder that is already an EtherPK graph, a Local Mirror you have stopped, or a folder from another computer, opens as it is.

The permission prompt

EtherPK remembers which folder each graph uses. What the browser asks, once per browser session, is whether EtherPK may still read and write that folder: a single click, "Let this site edit files in MyNotes?", and EtherPK shows Grant access when it is needed. The browser asks because a website is never allowed to reach into your files in the background without you knowing.

To stop being asked, install EtherPK as an app: the browser keeps an installed app's folder permission across restarts (Installing EtherPK As An App). The permission is tied to the browser profile you granted it in, so a different browser or a private window asks again.

Your notes are never at risk from the prompt. They sit in your folder the whole time; the prompt only reconnects EtherPK to them.

Saving

Edits are written to the file a moment after you stop typing; there is no save command, and Ctrl+S is swallowed so the browser's Save dialog never appears. If a write fails (the disk is full, permission lapsed, another program has the file locked) a notice says what happened and offers Retry saving, and your edits are kept in the tab until a save succeeds.

Editing the files outside EtherPK

Because the notes are files, you can change them with another app, let git or Syncthing update them, or let a coding agent work on them while EtherPK has the graph open:

  • When you switch back to EtherPK, it notices files that changed on disk and reloads them. It also checks lightly while the tab is active.
  • If a file changed on disk and you also had unsaved edits to the same file in EtherPK, it stops and asks which to keep: Keep mine or Take disk. It never overwrites your work or merges behind your back.
  • If a file disappears, because git checkout removed it say, EtherPK updates its list.
  • If you change a page's title: in another editor, EtherPK treats it as a rename that has already happened: the open tab follows the file to its new name within a few seconds (Titles Aliases And Frontmatter).

The folder's format, and the rules that keep a file editable by EtherPK, are in Graph Folder Layout.

Hand a file to an agent or another editor

Right-click a document's tab and choose Copy full file path to clipboard. You get something like /home/sidney/notes/pages/Weekly Review.md, ready to paste into a prompt or an Open dialog.

The browser tells EtherPK only the name of the folder you picked, never where it sits on your disk, so the first time you use this on a device EtherPK asks for the folder's full path and remembers it. Change it later under Settings > General > Folder path on this device. The path is kept on that device only and never written into the graph.

The AGENTS.md and CLAUDE.md in your folder

Beside journals/, pages/ and assets/, EtherPK writes an AGENTS.md the first time it opens the folder. A coding agent (Claude Code, Codex, an editor's chat) reads a file of that name before it touches anything, and this one describes the folder, how the markdown is written and what the agent must leave alone. CLAUDE.md beside it exists because Claude Code reads that name; it only imports AGENTS.md.

Both files are yours to add to. Put your own instructions anywhere outside the part between the <!-- BEGIN ETHERPK --> and <!-- END ETHERPK --> lines: that part is rewritten every time the graph opens so it matches the version you are running, and anything outside it is kept as written. If you delete either file, EtherPK writes a fresh one. See Using AI Agents With Your Notes.

If access is lost

If you move the folder, revoke permission or clear the browser's data, EtherPK can lose its connection to your notes. The files are still on your disk. Open the graph again and reconnect, or pick the folder again if it moved. Forgetting a graph with the cross on the Knowledge graphs page removes it from the list and touches nothing on disk.

What EtherPK keeps in the browser

The search index that makes Quick Find, Search, backlinks and tasks fast is kept in the browser's private storage and never written into your folder. If the browser clears it, EtherPK rebuilds it from your files. Settings > Maintenance > Rebuild search index does the same on demand. See Where Your Data Lives.

Moving between local and synced

A local graph's folder is already the portable form of the graph. To make a synced copy, import the folder as a new synced graph; the local graph is untouched. To go the other way, keep a Local Mirror of the synced graph and open it as a local graph, or import the mirror (Keeping A Local Copy Of A Synced Graph, Importing From Logseq Obsidian Or EtherPK).