The assistant beside your notes
A model in a column beside the note you are writing — Claude, OpenAI, Gemini, or one running on your own machine. Your key, your provider, and nothing in between.
Open it with ⌥⌘A, the sparkle in the editor header, or ⌘K → Ask the assistant. It sits where the document panel sits, and the seam beside it drags.
Set it up once
- Choose a provider: Claude, OpenAI, Gemini, or Local or other.
- Paste your key. Get a key beside the field goes to the right page for the provider you picked.
- Change the model if you want a different one. It is a text field, not a menu, so a model released tomorrow works today — the suggestions are only suggestions.
The form takes itself away as soon as there is a key. The chip in the panel header shows which model you are talking to, and opens the form again.
Why a key, and not a sign-in?
Because none of the providers offer one. A Claude Pro, ChatGPT Plus or Google AI subscription is for that company’s own apps: there is no way for another application to sign you in and use it on your behalf, and no OAuth flow published for it. The API key is the only door any of them opens to a third party.
It is a different account balance from a subscription, so an API key is billed by usage and a subscription you already pay for does not cover it. Creating one is free and takes about a minute; the free tiers are generous enough to try this out on. If you would rather pay nobody, run a model on your own machine — the next section.
Choosing a model
Once there is a key, the Model box is a list of what that key can actually use, fetched from the provider — not a list written into ForkLeaf. If the model ForkLeaf was holding is not on it, one that is gets chosen instead.
That is on purpose. Providers retire models without warning, and a name hard-coded here would break the day they did — which is exactly what used to happen. Press Type a name instead for one the listing does not mention, such as a model on a server that has no listing at all.
“You exceeded your current quota”
Two different things arrive as that message, and only one of them is worth waiting out. A rate limit means you asked too quickly; the panel says roughly how long to wait and offers Try again. A quota of zero means the key is not allowed to use that model at all — which is what a free Google key gets for the Pro models — and no amount of waiting changes it. There the panel says so and offers Choose another model instead.
Where it happens, the panel names a model that will work and offers to ask again on it in one press, rather than sending you to a menu to guess. This is also why ForkLeaf offers a Flash model first for Gemini: it is the one a free Google key can actually run. Pick a Pro model yourself and that choice is respected — and refused by Google until you add billing.
A model on your own machine
Choose Local or other and give it the address. For Ollama that is http://localhost:11434/v1, and no key is needed. Ollama has to be told this page may talk to it:
OLLAMA_ORIGINS='*' ollama serveLM Studio and anything else that speaks the OpenAI API work the same way. OpenRouter is the one non-local address this option accepts: https://openrouter.ai/api/v1, with an OpenRouter key.
What it can see
The open note travels with each question, which is what makes the answers about your writing rather than about the world in general. The tick below the box says which note that is, and turning it off sends the question alone — the thing to do when the note is one you would rather not send anywhere.
Nothing else goes: not your other notes, not your repository, not your GitHub token. A very long note is cut to fit, and the model is told it was.
Using an answer
Answers are formatted as you would see them in a note. Four things can be done with one:
- Add to note puts it at the end of the open note.
- Replace the note swaps the whole body for it — which is what a tidy-up or a rewrite is for. The previous text is one
⌘Zaway, and every save is a commit, so the version you replaced is still in the note’s history. - Copy takes the Markdown to the clipboard for anywhere else.
- Show Markdown swaps the formatted answer for the exact characters, for checking before you keep them.
A locked or encrypted note cannot be written to, and the panel says which rather than quietly dropping the buttons. Stop ends a long answer mid-sentence.
Where the key lives
In this browser, and nowhere else. Questions go straight from the page to the provider you chose: there is no ForkLeaf key, no ForkLeaf proxy and no ForkLeaf server in the path, and we could not read your conversations if we wanted to. Nothing is written into your repository either — a key is not a fact about your notebook.
The trade is that a key in a browser is readable by anything that manages to run script on this page. It is your own key, scoped to your own account: if you ever want it gone, press Forget this key, and revoke it at the provider.