I believe you need to choose "Always allow all" option in "Photos and videos" permission.
That is already set
Oh, right, sorry. I didn't want to delete the app and reinstall it to find out which permission it was, so I just guessed from its existing permissions.
On my device the relevant toggle is located in Apps > Special app access > Media management apps.
Nice find! But that is also already toggled.

Weird. When I disabled that setting Immich started asking twice for deleting images. I turned it back on and it went back to normal.
Edit: I think I misunderstood your original question. Do you want Immich to not ask for confirmation at all when deleting things?
Yes! There is a trash in case I need an image back. At leats it should only ask once per session, not for every single image.
I don't think that's possible currently. It is probably worth discussing on GitHub.
Before the item is uploaded there is an option to "delete from device".
... Hidden in the three dot menu
True dat
@illusionist Went digging in their repo instead of guessing.
Immich's AndroidManifest caps READ_EXTERNAL_STORAGE at maxSdkVersion=32. Android's own MANAGE_MEDIA docs list that permission as one you have to declare for the no-prompt path, and on 13+ it's never granted.
Their string for the permission also says it's for "moving assets to the trash and restoring them". Trash, not delete. Between those two, I'd stop expecting that toggle to do anything.
Wow, thank you! Although I'm not sure about the conclusion. I guess the devs are fully aware of the situation since they also use immich themselves. Maybe they always upload their images immediately so that they don't focus on the situation in which the media is unsynced.
@illusionist Maybe it's not that they don't notice. Android's own doc says an app on 11+ that isn't the default gallery has to show that dialog every single time, and the one way out asks for MANAGE_MEDIA and READ_EXTERNAL_STORAGE together. From 13 onward you request READ_MEDIA_IMAGES/VIDEO instead of READ_EXTERNAL_STORAGE, and Immich's manifest caps that one at maxSdkVersion 32. On GrapheneOS the pair can't exist. Nothing the devs can do.
Thank you for the explanation! Highly appreciate it!
Selfhosted
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.
Rules:
-
Be civil.
-
No spam.
-
Posts are to be related to self-hosting.
-
Don't duplicate the full text of your blog or readme if you're providing a link.
-
Submission headline should match the article title.
-
No trolling.
-
Promotion posts require active participation, with an account that is at least 30 days old. F/LOSS without a paywall has exceptions, with requirements. See the rules link for details. Tags [CBH] or [AIP] are required, see the links in Rule 8 for details.
-
AI-related discussions and AI-involved promotional posts have additional requirements for tagging, as noted in Rule 7 and the AI & Promotional Post Expanded Rules post, and find example disclosures here.
Resources:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!