Skip to content

Chainlit installed with uv in hardlink/symlink mode displays blank screen #2741

@HdCadUser

Description

@HdCadUser

Describe the bug
Hi,

I am trying to install newest version on Chainlit on my PC using uv. Running default uv add chainlit without additional options installs properly, is able to initialize the server using uv run chainlit run main.py but displays blank page without any content:

<body>
    <div id="root"></div>
</body>

Interestingly, when I add chainlit to the project using uv add chainlit --link-mode copy, chainlit starts as expected.

To Reproduce
Steps to reproduce the behavior:

  1. Create new folder in C:\ partition (same as
  2. Open cmd
  3. uv init
  4. uv add chainlit
  5. Chainlit installs succesfully
  6. Create basic script (main.py):
import chainlit as cl

@cl.on_chat_start
async def start():
    await cl.Message(
        content="👋 Hello! This is the most basic Chainlit UI."
    ).send()

@cl.on_message
async def message(msg: cl.Message):
    await cl.Message(
        content=f"You said: {msg.content}"
    ).send()
  1. Activate venv in cmd
  2. chainlit run main.py
  3. chainlit starts and opens new browser window in http://localhost:8000/
  4. Blank web page appears
  5. following error is displayed in cmd:
(chainlit-default) PS C:\0Code\chainlit-default> chainlit run main.py
2025-12-30 15:56:59 - INFO - chainlit - Your app is available at http://localhost:8000
post request handler error
Traceback (most recent call last):
  File "C:\0Code\chainlit-default\.venv\Lib\site-packages\engineio\async_server.py", line 329, in handle_request
    await socket.handle_post_request(environ)
  File "C:\0Code\chainlit-default\.venv\Lib\site-packages\engineio\async_socket.py", line 112, in handle_post_request
    p = payload.Payload(encoded_payload=body)
  File "C:\0Code\chainlit-default\.venv\Lib\site-packages\engineio\payload.py", line 13, in __init__
    self.decode(encoded_payload)
    ~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "C:\0Code\chainlit-default\.venv\Lib\site-packages\engineio\payload.py", line 44, in decode
    raise ValueError('Too many packets in payload')
ValueError: Too many packets in payload
2025-12-30 15:57:03 - ERROR - engineio.server - post request handler error
Traceback (most recent call last):
  File "C:\0Code\chainlit-default\.venv\Lib\site-packages\engineio\async_server.py", line 329, in handle_request
    await socket.handle_post_request(environ)
  File "C:\0Code\chainlit-default\.venv\Lib\site-packages\engineio\async_socket.py", line 112, in handle_post_request
    p = payload.Payload(encoded_payload=body)
  File "C:\0Code\chainlit-default\.venv\Lib\site-packages\engineio\payload.py", line 13, in __init__
    self.decode(encoded_payload)
    ~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "C:\0Code\chainlit-default\.venv\Lib\site-packages\engineio\payload.py", line 44, in decode
    raise ValueError('Too many packets in payload')
ValueError: Too many packets in payload

Firefox Dev Tools console displays following error:
Loading the module from the address “http://localhost:8000/assets/index-D9fGsswH.js” was blocked due to an invalid MIME type (“application/json”).

Edge Dev Tools console shows following errors:

:8000/assets/index-D9fGsswH.js:1 Failed to load resource: the server responded with a status of 400 (Bad Request)
index-jIFS6fNQ.css:1   Failed to load resource: the server responded with a status of 400 (Bad Request)
index-jIFS6fNQ.css:1   Failed to load resource: the server responded with a status of 400 (Bad Request)

Expected behavior
Show basic chainlit interface:
Image
Image above shows chainlit installed with uv add chainlit --link-mode copy

Screenshots

Desktop (please complete the following information):

  • OS: Windows 10 22H2 (Build 19045.6456)
  • Browser: Both Firefox & Edge
  • Version: 2.9.4

Additional context
Add any other context about the problem here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions