1.0.0-beta β€” the macOS 27 release. Two lists below: beta caveats (things that go away or firm up as 1.0 finalizes) and on-device limitations carried over from the stable line (real, and not going away β€” they're the nature of running a small model locally).

Beta notes & known issues

Found through real testing, not a generic disclaimer

Beta caveats

πŸ§ͺ Needs the macOS 27 and Xcode 27 betas

Until both GA

The app needs the macOS 27 beta. Building the SDK against 1.0 needs the Xcode 27 beta β€” Core's model layer is built on FoundationModels' LanguageModel protocol, which is macOS 27. On macOS 26, stay on 0.8; that line continues separately.

☁️ The Private Cloud Compute model isn't working yet

Fix targeted for a later release

Of the four model providers, PCCModelProvider β€” Apple's Private Cloud Compute, the larger model Apple runs on its own servers for requests the on-device model can't handle β€” does not function in this beta. A session routed to pcc fails rather than falling back. The other three all work: Apple's on-device model, Claude, and downloaded open-weight (MLX) models. Use one of those; PCC support is deferred to a later release.

πŸ”€ No API-stability guarantee between betas

Expected

1.0.0-beta.N can move signatures between releases. Pin an exact LOCALLM_SDK_VERSION and expect to touch your call sites when you bump it. Nothing has been renamed or removed relative to 0.8.x β€” if a build error looks like more than the one documented enum-resilience change, it's a bug worth reporting.

πŸ’­ Model reasoning streams inline, not on its own channel

Post-beta

Several open-weight models emit chain-of-thought in their output (<think>…</think> and similar). The 1.0-beta MLX bridge streams that through verbatim in the response text β€” there's no separate reasoning channel yet (Apple's streamResponse doesn't surface incremental reasoning). If you want a clean answer, strip the delimiters consumer-side, the way Prompt Playground's "Thinking…" pane does.

🌐 LAN access is lightly tested

Beta

API Lab's LAN HTTPS mode (reaching the API from another machine on your network) works in our testing but hasn't been exercised across a wide range of network setups. Localhost is the well-trodden path. If LAN gives you trouble, tell us what your setup looks like.

On-device limitations (carried over)

These aren't beta bugs β€” they're what running a small model fully on-device looks like. Neither is fixed by server-side workarounds that quietly rewrite what the model sees or says; that would break the raw in, raw out design the app is built around.

πŸ“‰ Enabling many connectors/MCP tools at once can exhaust a small context window

Guideline available

Every connector and MCP tool you enable adds its schema to the model's context budget before it has seen your prompt. Apple's on-device model has a small window (~8K tokens), so a few connectors plus several MCP servers all on at once can consume most of it, and the request fails with a context-window error rather than degrading gracefully.

Guideline: enable only what a task needs β€” disable unused connectors and MCP tools in the relevant panel. 1.0 also gives you another lever: route heavier turns to a model with a bigger window (a larger MLX model, or Claude) and keep the on-device model for light ones. session.contextBudget and retryOnContextOverflow help a long session survive.

πŸ‘€ Updating a Contact can occasionally set an unrequested field

Mitigated, not eliminated

Asked to change one field on an existing contact, a small model can occasionally also set a different field to a copied value. This affects updateContact (Full Access) only, and only sometimes. The tool description tells the model explicitly not to do this, which measurably reduces it, but no guardrail on our side catches it without filtering what the model writes β€” which we deliberately don't do. If you use Contacts' write capability, glance at the result.

Contact

Hit something not listed here? neuron@thisbrain.ai or the Discord.