[BUG] Desktop: clicks on pane Buttons do nothing while the pane redraws every ~200 ms
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separately for multiple bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
In the desktop app, clicks on a plugin pane's Buttons do nothing while the pane redraws every 213 ms. The Buttons stay drawn under the pointer, with the same keys, and no ui.press event arrives. Once the redraws stop, clicks work again.
My pane shows an Undo Button for 5 seconds after a row is closed. During that time it redrew every 213 ms to animate a progress bar under the row. A log of ui.press events showed the press that closed the row, then no events at all until the 5 seconds ended, though the Undo Button and the other rows' Buttons were clicked during that time.
When I changed the pane to redraw once, at the end of the 5 seconds, every click registered. In one test, 19 presses in a row reached ui.press, including Undo presses during the 5 seconds.
What Should Happen?
A click on a Button that is drawn under the pointer, before and after a redraw, should reach ui.press, however often the pane redraws.
Error Messages/Logs
None. The ui.press hook isn't called for these clicks.
Steps to Reproduce
- In a plugin, draw a
Panewith a few Buttons and aui.presshook that logs each press. - Redraw the pane every ~200 ms without changing the Buttons or their keys. Mine wrote a store value the pane's render reads on a timer, and each redraw changed a
Textprogress bar. - Open the pane in a Code-mode session in the Claude desktop app and click the Buttons. No presses are logged.
- Stop the timer and click again. Each click is logged.
Claude Model
Not model-related.
Is this a regression?
Don't know.
Claude Code Version
2.1.295 (the engine the desktop app runs), Claude desktop app 2.31226.1
The CLI is on 2.1.296. I haven't tested 2.1.296 in the desktop app.
Platform
Anthropic API
Operating System
macOS 15.7.3
Terminal/Shell
Claude desktop app (Code mode)
Additional Information
These steps are reduced from my plugin's pane. I haven't run them as a separate minimal plugin, and I didn't find the redraw interval at which clicks start working.
This may be related to #100874, where a click is lost when the focused Button leaves the next drawing. Here the Buttons stay in every drawing.