How to create a chat application in an layot like column / tab


Im looking for a workaround to put sreamlit chat within a tab or a column layout

Steps to reproduce

Code snippet:

col1,col2 = stl.columns(2)
with col1:
st.chat_input ......

If applicable, please provide the steps we should take to reproduce the error or specified behavior.

Expected behavior:

Explain what you expect to happen when you run the code above.

Actual behavior:

Explain the undesired behavior or error you see when you run the code above.
If you’re seeing an error message, share the full contents of the error message here.

Debug info

  • Streamlit version: (get it with $ streamlit version)
  • Python version: (get it with $ python --version)
  • Using Conda? PipEnv? PyEnv? Pex?
  • OS version:
  • Browser version:

Requirements file

Using Conda? PipEnv? PyEnv? Pex? Share the contents of your requirements file here.
Not sure what a requirements file is? Check out this doc and add a requirements file to your app.


  • Link to your GitHub repo:
  • Link to your deployed app:

Additional information

If needed, add any other context about the problem here.

From the docs:


Chat input can only be used once per app page and inside the main area of the app. It cannot be used in the sidebar, columns, expanders, forms or tabs. We plan to support this in the future.

1 Like

Hey @Rami_Mankevich

Just wanted to update release 1.31.0 is out and you can now put chat features in containers, the side bar, tabs, expanders, the bottom of the page and more! Check out the docs to learn more.

Looking forward to seeing your apps with these new features! Feel free to share them here on the forum. :smiling_face: