Assist pipeline pickers never refresh a non-empty cache, so new pipelines are missing from CarPlay Quick Access
Maintainers usually reply within 1 day
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 78/100
Research direction
Start with AssistPipelineAddList.fetchPipelines() and AssistPipelinePicker.fetchPipelines() in the paths linked in the issue; compare their cache behavior with AssistViewModel, which refreshes pipelines each session. Confirm both pickers can display cached pipelines while requesting current ones from the server. Done when newly created pipelines appear in the pickers without first opening the in-app Assist screen.
Written by the indexing model from the issue text.
Description
iOS device model, version and app version
Model Name: iPhone 15 (iPhone15,4)
Software Version: iOS 26.6.2
App version: 2026.9.1 (2026.2985)
Home Assistant Core Version
2026.8.3
Describe the bug
When adding an item in the Settings Quick Access configuration for CarPlay (Add item > Assist / Assist prompt), the pipeline list shows only the pipelines that were cached the last time the app fetched them. Pipelines created in Home Assistant after that never appear, even after force-quitting the app. In my case two pipelines created weeks apart (one on 12 Sep, one today) were both missing, while the older three were listed.
Opening the in-app Assist screen once fixes it: AssistViewModel refetches pipelines on every session and saves them to the database, after which the new pipelines show up in the picker.
The cause appears to be that both pickers read the GRDB cache and only request pipelines from the server when the cache is empty:
assistConfigs = try AssistPipelines.config() ?? []
if assistConfigs.isEmpty {
requestPipelines()
}
So a non-empty but stale cache is never refreshed from these screens.
To Reproduce
- Use Assist in the app at least once so pipelines are cached.
- In Home Assistant, create a new Assist pipeline.
- Force-quit and reopen the Companion app.
- Settings > CarPlay > Quick Access > Add item > Assist (or Assist prompt).
- The new pipeline is not listed.
- Open the in-app Assist screen, close it, and repeat step 4: the pipeline now appears.
Expected behavior
The pipeline pickers show current pipelines. For example, show the cached list immediately and refresh from the server in the background (as AssistViewModel already does), or offer pull-to-refresh.
Screenshots
The Add item > Assist list showed only Preferred, Home Assistant (fully local), Home Assistant (Claude API) and Claw. The two newer pipelines (OpenClaw, Hank Car) were missing until the in-app Assist screen had been opened once.
Additional context
Found while setting up CarPlay Assist on iOS 26.4+.
- Dominant language
- Swift
- Stars
- 2.4k
- Forks
- 531
- Avg merge
- 15h 24m
- Merged PRs (30d)
- 195
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from home-assistant/iOS
-
The label displayed in Control Center appears to be inverted relative to the current cover state.Openbug ios
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
home-assistant/iOS#5989 ·
Maintainers usually reply within 1 day
-
bug ios
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
home-assistant/iOS#5844 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
home-assistant/iOS#5570 · 1 comment ·
Maintainers usually reply within 1 day
-
bug mac
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
home-assistant/iOS#5009 · 1 comment ·
Maintainers usually reply within 1 day
-
bug ios
Difficulty 4/5 3-5 days Newbie friendliness 48/100
home-assistant/iOS#6014 · 3 comments ·
Maintainers usually reply within 1 day
All issues in home-assistant/iOS
Similar issues
-
Bug 🐞
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
mozilla-mobile/firefox-ios#35986 ·
Maintainers usually reply within 1 day
-
Reading an empty file leaks a 4 KB buffer on Linux (Data(contentsOf:), String(contentsOfFile:))Open
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
swiftlang/swift-foundation#2304 ·
Maintainers usually reply within 1 day
-
area:caching bug
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
axeslasher/Jelly-Shark#321 ·
Maintainers usually reply within 1 day
-
[iOS] Script init caches the wrong view model when dataBind is applied after state-machine creationPossibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 63/100
rive-app/rive-nitro-react-native#414 ·
Maintainers usually reply within 1 day
-
type: bug
Difficulty 2/5 1-3 hours Newbie friendliness 77/100
googleapis/google-cloud-swift#1412 · 1 comment ·
Maintainers usually reply within 1 day