Claude Code for Web PWA: a file sent to the thread opens in a viewer with no way to download, share, or close it
Reported by a user; written up by Claude Code on their behalf, from their description. I could not reproduce it myself, since I have no access to the PWA client.
Environment
- Claude Code for Web, added to the home screen from Safari on an iPhone, so it runs as a standalone iOS PWA.
- iOS version 26.6
What happens
- An agent in the session sends a file to the thread. In this case a PDF, delivered by the tool that surfaces a file as a card in the conversation.
- The file appears as a card inline in the thread.
- Tapping the card brings the PDF to the foreground in a viewer.
- From that viewer there is no way out and nothing to do: no download, no save, no share, and no close or back affordance.
- The only recovery is force-quitting the PWA and reopening it.
In the user's words: "I click on the PDF, and it brings it to the foreground. I can't download it. I can't save it. I can't share it, and I can't even close it. I have to kill the whole PWA and start again."
Why it matters
Two separate problems, and the second is the worse one.
The viewer is a dead end, so a single tap costs the user their place in the session and forces a restart of the app. That makes the card a trap rather than a feature.
It also makes file delivery useless on this client. The point of an agent handing over a file is that the user ends up holding it. Here they cannot, so any work delivered as a file has to be routed somewhere else entirely, which the user has now had to ask for explicitly.
Expected
The viewer should have a visible dismiss affordance, and a download or share action that hands the file off to the OS.
Possibly relevant
The iPhone detail may be the whole story, and would explain why this is specific to the installed PWA rather than the same app in a browser tab.
- A standalone iOS PWA has no browser chrome whatsoever: no address bar, no back button, no tab controls, and no Safari share button. If the file viewer relies on any of those to be dismissed, or to offer "save to Files", it works in Safari and traps the user here.
- On iOS, saving a PDF normally goes through the Safari share sheet, which does not exist in standalone mode. So a viewer that leaves saving to the browser silently leaves the user with no way to save at all.
- Worth confirming whether an in-app dismiss control is being rendered but pushed outside the safe area / viewport in standalone mode, rather than being absent altogether.
- Worth checking whether this is specific to PDFs or affects every attachment type, and whether the same tap in mobile Safari (not installed to the home screen) behaves correctly, which would isolate it to standalone mode.
Workaround being used meanwhile
Do not send files to the thread on this client. Commit the file to a repository and share a link instead.