[BUG] Web interface: tool calls (file writes) intermittently return "user rejected" without the user acting, and the session then stalls silently

Status Open
Reported on v2.1.212
Maintainer reply None cached
Activity 2 comments · opened Jul 17, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

I am using Claude Code on the web (claude.ai/code) — the browser interface, not the CLI. I do not have any CLI or terminal access, so CLI-only workarounds, flags, or /bug are not available to me.

  • Running in a remote/managed execution environment (cloud container), not on my own machine.

What happens

  • During a session, a tool call the assistant issues — specifically a file Write — comes back to the assistant as "the user rejected this tool use" even though I never saw a permission prompt and never rejected anything. I did not click deny, dismiss, or interact at all.

When this happens, the assistant treats the rejection as intentional and stops, so from my side the session just sits there with a spinner / no output, appearing to hang. There's no visible error, no indication a tool was blocked, and nothing telling me an action is needed. I only found out it was a phantom rejection when I asked the assistant "what's the hold up?"

Impact
The work silently stalls with no signal to me that anything failed. It happens very frequently when I submit a task to Claude and change tabs/browsers to work on other work, and return several minutes later.
It's happened repeatedly and is disruptive — I can't tell the difference between "Claude is thinking," "Claude is waiting on me," and "a tool call was spuriously rejected and Claude gave up."

Two things I'd like clarified
Why is a permission response being recorded as "user rejected" when no prompt was shown and I took no action? (Possibly the permission stream is closing prematurely in web/remote sessions — the interactive question tool failed the same way earlier in this session with "permission stream closed before response received.")
Is there a way in the web interface to see when a tool call was blocked/failed, so a session doesn't appear to hang?

Frequency: Intermittent but recurring within a single session.

What Should Happen?

A tool call should only register as "rejected" when I actually reject it.
If a permission request truly requires my input, the web UI should show me a visible, actionable prompt — not silently fail behind the scenes.
When a tool call is rejected/errors/times out, that state should be surfaced to me in the web UI, not left as a silent spinner.

Error Messages/Logs

Session ID session_012WdyDXNQCHbg1En5a9SEKr

Steps to Reproduce

Open Claude Code within a web browser and provide it with a task that requires it to edit files in a protected directory (like .claude). Before the prompt happens, switch away from the Claude tab/browser and just do something else for some extended period of time (unsure exactly how long). Eventually return back to your browser/Claude chat session and the prompt will not be there nor will it happen.

Claude Model

Not sure / Multiple models

Is this a regression?

No, this never worked

Last Working Version

_No response_

Claude Code Version

Remote execution environment reports Claude Code 2.1.212; accessed via the web interface (claude.ai/code).

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

Other

Additional Information

<img width="1002" height="588" alt="Image" src="https://github.com/user-attachments/assets/f92fc534-5a6b-46db-8eda-378c9d716729" />

<img width="905" height="581" alt="Image" src="https://github.com/user-attachments/assets/c7d64ba2-7bc3-44d4-853b-09c499e9f05e" />

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗