bug: agent stops responding after multiple concurrent tabs
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
- Issue type
- Bug
- Clarity
- Needs clarification
- Activity status
- Quiet
- Tech stack
- python, typescript
Research direction
Start with the deployed reproduction using three browser tabs, then inspect main.py, especially BoundedMemorySaver(max_threads=200) and the streaming request path. Check whether concurrent sessions, connection limits, rate limits, or unsurfaced backend errors explain the hang; done means independent tabs receive responses, and resource failures show an error instead of waiting silently.
Written by the indexing model from the issue text.
Description
Bug
The agent stops responding when multiple browser tabs are open against the deployed app. On the third tab, the agent hangs after the user sends a message — no response, no streaming indicator, no error.
Steps to reproduce
- Open the deployed app in tab 1, send a message (e.g. "visualize a musical chart") — works fine
- Open tab 2, send a message — works fine
- Open tab 3, send a message (e.g. "I want to understand the difference between BFS and DFS...") — agent never responds
The UI shows the user messages and suggestion chips ("Try these Prompts") but no assistant response arrives. No loading indicator, no error state.
Screenshot

The chat shows:
- "visualize a musical chart"
- "Create a 3D animation of a sphere turning into an icosahedron..."
- "I want to understand the difference between BFS and DFS. Create an interactive comparison on a node graph."
None received a response. Suggestion chips are visible but the agent is unresponsive.
Possible causes
- Thread/session exhaustion — The agent uses
BoundedMemorySaver(max_threads=200)inmain.py. Multiple tabs may be creating separate threads that exhaust the pool or hit a concurrency limit. - WebSocket/SSE connection limit — The browser or server may be hitting a connection limit for streaming responses.
- LangGraph checkpoint contention — Multiple concurrent sessions writing to the in-memory checkpointer could cause deadlocks.
- OpenAI API rate limiting — Multiple concurrent requests to GPT-5.4 could hit rate limits with no visible error surfaced to the user.
- Missing error handling — The frontend may not surface backend errors, making it look like the agent is "thinking" forever.
Expected behavior
Each tab should operate as an independent session. If a resource limit is reached, the user should see an error message rather than silent failure.
Environment
- Deployed on Render
- Agent: LangGraph + CopilotKit middleware
- Model: GPT-5.4 via langchain_openai
- Checkpointer:
BoundedMemorySaver(max_threads=200)
- Dominant language
- TypeScript
- Stars
- 1.6k
- Forks
- 202
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from CopilotKit/OpenGenerativeUI
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
CopilotKit/OpenGenerativeUI#87 · 2 comments ·
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
All issues in CopilotKit/OpenGenerativeUI
Similar issues
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
dennys-bd/agent-hive#184 ·
-
Add: hunch Open
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
AbdelStark/awesome-typesafe#104 ·
-
ai-observability bug team/ai-observability
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
vicharanashala/fln#563 ·