Skip to content

Regression of #2802: main pane freezes / output swallowed - infinite React/Ink render loop (Maximum update depth exceeded) returns on v1.0.72+ (VS Code integrated terminal, native Windows) #4222

Description

@jasonthecuber

Summary

The infinite React/Ink render loop reported and closed in #2802 (v1.0.31) has regressed. On recent releases the main view intermittently freezes: the submitted prompt disappears, the UI shows "Working...", and no output is rendered. Exiting and running /resume dumps the previously-invisible buffered output and the session often works on the next try. It is intermittent - with the same binary, one session works and the next freezes within the same minute.

The underlying error in the logs is identical to #2802:

[ERROR] Maximum update depth exceeded. This can happen when a component
calls setState inside useEffect, but useEffect either doesn't have a
dependency array, or one of the dependencies changes on every render.

Version correlation (strong evidence it's a version regression)

Across all local ~/.copilot/logs/process-*.log files:

  • Zero Maximum update depth occurrences on v1.0.67 and earlier (ran 3-4 concurrent sessions daily for days with no wedge).
  • First-ever occurrence: 2026-07-20T18:24:58.714Z - ~1 second after an auto-update completed:
    2026-07-20T18:24:44.133Z [INFO] Cleaned up 1 old package version(s): 1.0.67
    2026-07-20T18:24:57.593Z [INFO] Successfully updated binary
    2026-07-20T18:24:58.714Z [ERROR] Maximum update depth exceeded. ...
    
    That update landed on v1.0.72.
  • Still reproduces on v1.0.73.
  • 15 separate session logs carry the loop, all on/after that update.
  • Rolling the global npm binary back to v1.0.67 eliminates it (confirmed stable).

(I can't pinpoint whether 1.0.68-1.0.71 were affected - they only ran briefly during the auto-update climb - but 1.0.67 is clean and 1.0.72/1.0.73 are not.)

Things that are NOT the cause (ruled out)

  • Not multi-session contention - this workflow runs 3-4 CLI sessions in the VS Code integrated terminal daily and was fine for months on 1.0.67.
  • The IDE banner Conflict: A connection for this session already exists prints on every launch (working or frozen) - benign, not a predictor.
  • MCP Servers reloaded: 1 server connected is not a reliable success marker - sessions froze even after it printed.
  • No reliable UI tell for working-vs-frozen; it behaves like a race in the IDE-reconnect / MCP-reload handshake, which matches the intermittency and the self-heal on a fresh /resume.

Environment

Workaround

setx COPILOT_AUTO_UPDATE false           # pin auto-update off
npm install -g @github/[email protected]    # roll back to last-good
# then fully exit all CLI sessions and restart VS Code

Related

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:platform-windowsWindows-specific: PowerShell, cmd, Git Bash, WSL, Windows Terminalarea:terminal-renderingDisplay and rendering: flickering, scrolling, line wrapping, output formatting

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions