A background queue changes the thread. A continued-processing request changes scheduling. Neither alone grants background Neural Engine access. macOS 27 makes those responsibilities separate—and testable.
Attempt one: move the inference loop to a background queue. The UI stays responsive, but this does not create a system-managed background task.
Attempt two: submit a BGContinuedProcessingTaskRequest. The work is now schedulable, but Apple’s macOS 27 release notes add another boundary: background Neural Engine use requires the Background Inference entitlement.
The useful design starts after those two failed mental models. Treat the job as a contract with three independent clauses.

Clause one: the scheduler owns time, not completion
A continued-processing task lets macOS manage work that may continue after the foreground moment. It does not promise unlimited runtime. The app still needs an expiration path, progress accounting, and a unit of work small enough to checkpoint.
Define the job by durable inputs and a stable job identifier. Write output to a temporary location. Mark a chunk complete only after its result is durable. That turns interruption into a normal state transition rather than an exceptional mystery.
Clause two: the entitlement owns background Neural Engine access
Apple’s macOS 27 material describes a dedicated Background Inference entitlement associated with BGContinuedProcessingTask. Scheduling the task and receiving the entitlement are separate. A release checklist should therefore verify both the task lifecycle and the signed build’s entitlement, not infer one from the other.
Clause three: the application owns recovery
| Layer | It can prove | It cannot prove |
|---|---|---|
| Background queue | Work is off the main thread | The OS will continue it after foreground loss |
| Continued-processing task | The OS accepted a managed work request | Neural Engine access is authorized |
| Inference entitlement | The signed app has the declared capability | The job can recover after expiration |
| Checkpoint ledger | Completed chunks and restart position are durable | The current hardware path will always be available |
What to promise in the product
Promise resumable progress, not uninterrupted execution. Show whether a job is queued, running, paused by the system, or ready to resume. Preserve user intent across relaunch. If the preferred accelerator is unavailable, choose an explicit fallback—pause, reduce the workload, or continue on a supported path—rather than silently changing performance and battery behavior.
Official sources
- Apple — Background Inference entitlement, checked August 18, 2026.
- Apple — BGContinuedProcessingTask, checked August 18, 2026.
- Apple — macOS 27 release notes, checked August 18, 2026.
Pingback: Rosetta Support Ending After macOS 27: Migration Audit
Pingback: macOS 27 ImageCreator Migration Guide