Skip to content

Locus 1.10.0

Choose a tag to compare

@nahid-sparktales nahid-sparktales released this 03 Aug 22:27

Notarized by Apple and stapled. Download it, move Locus to Applications, and open it — no Gatekeeper detour.

Read this before upgrading

API keys and MCP credentials have moved out of the macOS login keychain into ~/.locus/auth.json, mode 0600 inside a 0700 directory — the way Codex keeps ~/.codex/auth.json. In the sandboxed App Store build it lives in the app container instead.

You will need to re-enter each account's API key once, and re-supply every MCP server credential — re-authorizing OAuth servers and re-entering any bearer token, header value, or environment secret you typed by hand. Nothing is migrated. Your old keychain entries are left where they are; nothing reads them any more, and you can delete them from Keychain Access if you want them gone.

This is a real reduction in protection, and it is worth understanding rather than skipping. The keychain enforced per-application access: a program that was not the one that stored your key triggered an authorization prompt. File permissions do not. They keep your keys away from other user accounts on the Mac and from nothing else — anything running as you can read that file.

What you get for it: Locus stops asking for your keychain password when you run a build signed differently from the one that stored the key.

What that change had to get right

Three guarantees the operating system used to provide are now the app's own, and each has a test:

  • The file is created already 0600 rather than written wide and narrowed, so the secret never exists at a broader mode, and a failed write cannot strand a plaintext copy of every credential.
  • A file that cannot be fully read never looks like an empty one. A single unreadable value degrades the whole file rather than silently dropping its neighbours.
  • While a file is degraded, the orphan sweeps are suppressed — the entries that failed to read are exactly the ones a sweep would mistake for garbage — and the unreadable file is moved aside under a name no earlier salvage owns before anything replaces it.

Requires macOS 14 or later, Apple silicon. Ollama (or a remote endpoint) supplies the models; everything else, including a self-contained Python, is inside the app.

Locus-macOS.zip — SHA-256 8655f637c853bc892d97ded900c5c9b201b06056bd0f97ac013690c84dbe5c30