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
BetaAPI 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 availableEvery 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.