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/copilot@1.0.67    # roll back to last-good
# then fully exit all CLI sessions and restart VS Code

Related

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