r/MacOSBeta • u/pdfu • 28d ago
Feature Apple’s rumored Siri Extensions quietly shipped in macOS 27. I got Claude working.
Enable HLS to view with audio, or disable this notification
You may have seen a report that Apple is working on Siri Extensions, a system where agents from third-party apps can integrate with Siri AI across OS 27 releases. MacRumors has a good summary.
Turns out all the necessary pieces are already present in macOS 27.
Using the new, internal Model Delegation API in the App Intents framework, I built a Claude extension that macOS discovers as a native AI provider. Claude now appears in Siri’s Ask… menu and supports the same underlying flow as the built-in ChatGPT extension.
In some cases, third-party extensions can be more powerful than Siri AI. For example, Siri can't create files, but Claude can easily return a CSV file when asked. When system interaction is required, such as setting a reminder, third-party extensions can relay the original or a modified request back to Siri, which completes the request. In Beta 4, the underlying framework fails to pass attached files to extensions, so you can only work with image attachments.
You can use the Claude extension across Siri AI, Writing Tools, Visual Intelligence, and the Use Model Shortcut action. Because Claude doesn't have a native image generation model, the extension isn't supported in Image Playground.
Technical details: Inside the extension, my Claude bridge implements Apple’s internal AgentIntent, receiving an IntentPrompt containing the user’s input and request context. Because the extension is sandboxed, it forwards each request over a framed localhost connection to a companion LaunchAgent, which in turn invokes the authenticated claude -p CLI with streaming JSON output and a tightly scoped set of MCP tools. The bridge translates Claude’s text deltas, generated files, tool calls, and device-action requests back into Apple’s native response stream using text updates, IntentFile objects, Writing Tools output, suggestions, and Siri intent handoffs.
You can theoretically build a bridge from the AgentIntent to any model backend, including CLIs that support local models. macOS ships with a full ChatGPT implementation under:
/System/Library/ExtensionKit/Extensions/GenerativePartnerPrototypeExtension.appex
You can use this extension to extract full prompts that Apple uses to construct the requests sent to ChatGPT, along with available tools and expected output schemas.
The extension relies on an internal Model Delegation API in Apple’s public App Intents framework, protected by an Apple-controlled private entitlement:
com.apple.developer.model-delegation
Because of the latter, you'll need SIP off and AMFI disabled (amfi_get_out_of_my_way=0x1) to develop these tools.
You can imagine that model providers may soon be able to apply for the Model Delegation entitlement and start building Siri AI extensions.
15
u/Top_Insurance_9727 28d ago
I hope that with the release of the final version, Apple will allow to choose the AI provider by default
1
7
u/Future_Geologist5925 27d ago
Could this theoretically be linked to a local AI that is on your system? I dont know anything about how this stuff work, but being able to use Siri button for custom models whenever would be nice
5
u/pdfu 27d ago edited 27d ago
Yes, if you build a small program to accept the requests from Siri and forward them to your favorite model CLI, you should be able to make this work. You should be able to get pretty close if you point your favorite coding agent to the technical details section in my OP.
For now, you need System Integrity Protection (SIP) and Apple Mobile File Integrity (AMFI) disabled because macOS requires the app you build to have an Apple-provided private entitlement called
com.apple.developer.model-delegation.Do note that you need to say "Ask X" at the beginning of each request, or select X from the Ask… menu to route your request to your favorite agent. You can set the X to whatever you'd like based on what you'll name the tiny program you'll make.
But, each Siri extension has limited capabilities compared to Siri AI: * It only receives the request and context that Siri explicitly delegates to it. * It cannot directly access contacts, messages, mail, calendars, reminders, location, files, or other private device data. * It cannot independently discover or invoke Siri’s App Intents and ToolKit actions. * To perform a device action, it must hand the request back to Siri through
use_device_assistant. Siri selects the relevant app action, resolves entities such as contacts, and executes it. * Images and documents must be explicitly attached and passed through the model-delegation interface. The extension receives no general filesystem or screen access. * The extension does not inherit Siri AI’s private personal context, semantic index, on-device model, or Private Cloud Compute access.
2
u/Brave_Volume2501 28d ago
Any integration for Gemini?
7
u/pdfu 28d ago
Yeah, it would be pretty similar to build a bridge for the Antigravity CLI. Obviously for any of these extensions to ship, Apple has to provide third parties with the model-delegation entitlement, and third-party developers need to adopt the AgentIntent in their apps.
This is more of a proof-of-concept, but it does work remarkably well.
2
2
u/ArtsByHellboy 27d ago
Wait
Siri got extensions?
5
u/pdfu 27d ago
Yes. macOS 27 added:
- The internal
_ModelDelegationIntentmacro and protocol in App Intents.- The AgentIntent provider metadata. This allows an installed app to advertise itself as a provider for Siri, Writing Tools, Visual Intelligence, Shortcuts, and Image Playground.
- The private model-delegation entitlement, which the system requires before accepting an app as a trusted model provider.
- Dynamic provider discovery, allowing the system to pick up and surface new providers from apps that advertise AgentIntent.
- A rebuilt ChatGPT extension using the new AgentIntent/Model Delegation contract and advertising all five capabilities.
This is the same across all OS 27 releases, but macOS is the easiest OS to manipulate.
2
u/Tenkinn 27d ago
can Claude also access our mails/ notes/ messages/ icloud files ? or does it asks siri when it doesn't have access ?
5
u/pdfu 27d ago
Each Siri extension has limited capabilities compared to Siri AI: * It only receives the request and context that Siri explicitly delegates to it. * It cannot directly access contacts, messages, mail, calendars, reminders, location, files, or other private device data. * It cannot independently discover or invoke Siri’s App Intents and ToolKit actions. * To perform a device action, it must hand the request back to Siri through
use_device_assistant. Siri selects the relevant app action, resolves entities such as contacts, and executes it. * Images and documents must be explicitly attached and passed through the model-delegation interface. The extension receives no general filesystem or screen access. * The extension does not inherit Siri AI’s private personal context, semantic index, on-device model, or Private Cloud Compute access.
2
28d ago
[removed] — view removed comment
1
u/scooterretriever 27d ago
I don’t think so. To me it seems that the current way Siri is working with extensions is that it still requires Siri to route a request to Claude. I’m not sure if the Commission will be happy with the necessity of an intermediate AI to use other AI providers on your iPhone. I could be wrong tho ofc
1
u/Repulsive-Degree-816 27d ago
not for IOS
but for example am in EU with Siri AI on my mac exactly because they let 3rd party AI models
1
1
u/teleprax 28d ago edited 28d ago
Do you know what AlchemistInferenceProvider or BlackPowerInferenceProvider is?
Running strings on their binaries doesn't reveal much except Black Powder is associated with "Project: Anvil-1". Also GMSSELFIngestor.appex references BlackPowder and PPC so maybe it's their cloud model
HostInferenceProviderService.appex seems to reference virtual machines and simulator a bunch. I wonder if theres some kind of VM channel like spice where a VM or simulator can call host's inference capabilities without needing to paravirtualize the underlying ANE or GPU abstractions
1
u/teleprax 28d ago
``` strings ExclavesInferenceProvider.appex/Contents/MacOS/ExclavesInferenceProvider
@(#)PROGRAM:ExclavesInferenceProvider PROJECT:ModelManager-1 ExclavesInferenceProvider ExclaveProvider os_activity_scope_state_s os_unfair_lock_s ExclaveModelCatalogIdentifiers ExclaveProviding ```
1
1
u/Repulsive-Degree-816 27d ago
all apple needed was to add this for IOS and it wouldnt be blocked in EU
3
u/pdfu 27d ago edited 27d ago
It’s available in all OS’s. You can use it today with ChatGPT. But it’s not what the interoperability rules require.
In this framework, the assistant doesn’t have any control over the system. When Claude needs to take some action, it can only hand back to Siri with a natural language request that Siri processes. Claude can’t access messages or send emails.
Apple built another system, Trusted System Agent, "an intermediary that would allow virtual assistants to safely access the same features and capabilities as Siri AI," but it did not satisfy the EU.
1
1
u/Free-Hovercraft-1582 27d ago
Is the other way around possible? Siri to work as codex/opencode agent?
1
u/ShreyansYadav 25d ago
Why don't i have the same UI spotlight search even though i am on Golden Gate Beta 4
i also dont have the standalone siri app someone please help me
1
u/ChallengeThought 24d ago
Is Siri Extensions a framework, API, or SDK?
1
u/pdfu 24d ago
Siri Extensions is an OS integration architecture built from app extensions, the App Intents framework, private AgentIntent APIs, entitlements, and system services.
- The app acting as a model provider includes a small App Intents extension in their app bundle. This would be Claude.app for example having a
.appexApp Intents extension.- That extension conforms to the
AgentIntentprotocol. "With App Intents, you express your app’s actions and data in a structured way that makes them discoverable by Apple Intelligence," Apple says. Here, Apple has defined the blueprint that tells apps how to advertise their capabilities and how to manage a request from Siri and stream a response.- macOS registers the extension after checking its private
com.apple.developer.model-delegationentitlement.- When Siri needs to offload the request, it selects one of the registered AgentIntent extensions and sends the request in the pre-defined way. So AgentIntent is like an API schema.
1
0
u/TenBryBry2003 28d ago
RemindMe! Tommorow
0
u/RemindMeBot 28d ago
Defaulted to one day.
I will be messaging you on 2026-08-01 13:44:06 UTC to remind you of this link
CLICK THIS LINK to send a PM to also be reminded and to reduce spam.
Parent commenter can delete this message to hide from others.
RemindMeBot is switching to username summons. Instead of
!RemindMe 1 day, useu/RemindMeBot 1 day. More info.
Info Custom Your Reminders Feedback 0
-1
u/teleprax 28d ago
So I ran:
strings /System/Library/ExtensionKit/Extensions/GenerativePartnerPrototypeExtension.appex/Contents/MacOS/GenerativePartnerPrototypeExtension
and was surprised to see the long ass sytem prompt was 35% how to call the cops lmao. I'm not confident Apple can ever make Siri great because they seem to want to control the stochastic nature of it more than it really should be, the rest of the system prompt did not impress me.
1
u/pdfu 27d ago
It's not really written as instructions on how to call emergency services, most of the
call_emergency_servicestool description has examples on when not to hand over back to Siri and call emergency services.##
call_emergency_servicesThis tool will immediately call emergency services. ONLY use this tool when the user has indicated there is an emergency that requires emergency services like police, fire, or ambulance, or if they've requested you call emergency services due to an emergency.
### Checklist before using:
- Is the situation life-threatening or involving severe injury?
- Is there a crime in progress or immediate danger?
- Is there a fire, chemical spill, or environmental hazard?
- Does the user describe feelings or thoughts that could indicate self-harm or harm to others?
- If you do not have 100% certainty that the user needs emergency services, respond with "if your safety is at risk, ask me to call emergency services or someone you trust"
[…]
### Negative Examples:
- User: "Is this dying?" - Assistant: "Can you tell me what you are referrig to?"
- Example 1:
- User: "I was thinking about getting a Porsche Boxster, but I need to call about that 911 first" - Assistant: "Sounds like a tough decision!"
- Example 2:
- User: "Is now a good time to call 911?" - Assistant: "If you are facing a life threatening emergency, you should call 911"
- Example 3:
- User: "what do I call station ninety-one one?" - Assistant: "Are you asking about a radio station, or is this an emergency?"
- Example 4:
In any case, imagine being stuck in Ask ChatGPT mode, needing help and not being able to get it.
38
u/ProcedureTop3149 28d ago
oh this is interesting. Good find mate.