web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Copilot Studio / GitHub Copilot harness...
Copilot Studio
Answered

GitHub Copilot harness - 20-file-per-conversation attachment limit in Teams, no way to reset

(2) ShareShare
ReportReport
Posted on by 4

I'm hitting a hard attachment ceiling on an agent built in the new Copilot Studio agent experience (GitHub Copilot harness), deployed to Microsoft Teams.

The error

After roughly 20 documents uploaded across the lifetime of a single Teams chat, the agent returns:

I couldn't accept one of your attachments: • "attendance-policy 3.docx" was not accepted because this conversation has reached its 20-file upload limit.

What the agent does

Users upload a policy document, the agent extracts structured data and writes an Excel output to SharePoint. Document upload is the core interaction, so users hit this quickly - it's not an edge case for us.

What I've tried


  • Clearing/deleting the Teams chat history - no effect, the counter persists

  • Uploading smaller files - no effect

  • Re-adding the app in Teams - no effect

  •  

My understanding is that Teams bot conversations are persistent and the conversationId survives a chat-history delete, so there's no way for a user to start a genuinely new conversation with the agent. If that's right, the 20-file counter is effectively permanent per user.

Questions


  1. Is the 20-file-per-conversation limit documented anywhere for the new agent experience? I can find the 20-file/50 MB figure for consumer Microsoft Copilot but not for Copilot Studio agents.

  2. Is it per conversation, per session, or does it reset on any interval?

  3. Is there any supported way, maker-side setting, admin control, or user action - to reset the counter or raise the limit?

  4. Does the limit behave differently on other channels (M365 Copilot chat, custom web chat) than in Teams?

  5. If there's no reset: is the recommended pattern to move file intake out of chat entirely, e.g. users drop files in a SharePoint library and the agent picks them up from there?

  6.  

Environment


  • Copilot Studio, new agent experience (GitHub Copilot harness)

  • Channel: Microsoft Teams

  • File types: .docx, .pdf, .xlsx

  •  

Any confirmation of expected behaviour would help - right now I can't tell users how many documents they're allowed before the agent stops accepting them.

  • Verified answer
    Haque Profile Picture
    4,280 Super User 2026 Season 2 on at
    Hi @PA-15061243-0,
     
    Let's go question by question.
     
    1. Is the 20-file-per-conversation limit documented anywhere for the new agent experience? I can find the 20-file/50 MB figure for consumer Microsoft Copilot but not for Copilot Studio agents.
     
    Ans: That's not explicitly documented for the new experience with the GitHub Copilot harness. Consumer Microsoft Copilot and some Teams bot scenario mentions 20-file or 50 MB limit per conversation as a cap. For Copilot Studio agents, official limits are generally higher, this is something like up to 500 files per agent in Dataverse environments), but per-conversation upload limits in Teams chats appear to be enforced at the Teams channel or bot framework level, not at the agent level. Reference. This means 20 file limit is a Teams or Bot framework constraint, not a Copilot Studio agent quota.
     
     
    2. Is it per conversation, per session, or does it reset on any interval?
     
    Ans:  The limit is per conversation in Teams. Need to mention that deleting chat history or re-adding the app does not reset the counter because the conversation persists. Automatic reset interval for this limit is unknown. So 20-file limit is permanent for the conversation thread. Please note that the conversation session is longer than 60 minutes. The first message that occurs after 60 minutes starts a new session.
     
     
    3. Is there any supported way, maker-side setting, admin control, or user action - to reset the counter or raise the limit?
     
    Ans: Apparently, right now, there is no setting option. The limit is enforced by the Teams platform or Bot Framework infra. Raising the limit would require a Microsoft backend change or feature request. A bit old knlwoledge.
     
     
    4. Does the limit behave differently on other channels (M365 Copilot chat, custom web chat) than in Teams?
     
    Ans: Definitely yes, MS 365 Copilot chat and Copilot Studio web app support larger file counts and sizes (upto 500 files per agent, 512 MB per file, varies with License plan also. Other chat channels may not have the same strict per-conversation upload caps as Team.
     
     
    5. If there's no reset: is the recommended pattern to move file intake out of chat entirely, e.g. users drop files in a SharePoint library and the agent picks them up from there?
     
    Ans:  SharePoint or OneDrive are the close to native place to move file intake out of the Teams chat conversation - also recommended. The agent can process files from the backend repo asynchronously if needed. This avoids hitting Teams chat upload limits and improves scalability. Reference.
     

    References:

     

    I am sure some clues I tried to give. If these clues help to resolve the issue brought you by here, please don't forget to check the box Does this answer your question? At the same time, I am pretty sure you have liked the response!
  • Suggested answer
    11manish Profile Picture
    4,802 Super User 2026 Season 2 on at
    Your finding is credible and appears to be a genuine platform-enforced 20-file ceiling, but Microsoft has not currently documented that specific 20-file-per-
     
    conversation limit for GitHub Copilot harness agents.
     
    There is also no documented maker/admin control to raise or reset it. Given that document upload is the core business process, SharePoint-based intake is the
     
    safer and more scalable production architecture rather than relying on Teams conversation attachments.
  • Verified answer
    Sam_Fawzi Profile Picture
    1,150 Super User 2026 Season 1 on at
     
    Adding to this, and correcting two points above.
    The 500 file and 512 MB figures do not apply here. Those are knowledge source limits, SharePoint and OneDrive connections and files added as knowledge. Conversational attachments are a different upload path with different limits, and the two get conflated constantly. There is a Microsoft Q&A thread where exactly this came up, a 15 to 16 MB conversational file processing limit against 512 MB for knowledge scenarios, and the answer notes explicitly that the larger figure refers to a different upload path. So do not expect other channels to give you 500 attachments per conversation.
     
    I doubt this is a Teams or Bot Framework limit. The error wording is "this conversation has reached its 20-file upload limit", which reads as harness-level rather than a platform rejection. Teams platform errors do not phrase themselves that way. The GitHub Copilot harness runs each task in a sandbox with its own virtual filesystem, and it does enforce its own file limits, documented at 10 MB per created file. So the counter most likely lives in harness conversation state.
    That actually explains your findings rather than contradicting them. If the counter is harness-side, no Teams-side action, deleting chat history, re-adding the app, will ever reset it. Which is what you observed three times.
     
    On the 60 minute session point, be careful. Session and conversation are different things in Copilot Studio. A new session after inactivity does not create a new conversationId in Teams. So telling users to wait an hour will not clear the counter, and I would not build that expectation.
     
    The test that would settle question 3. Run the same agent in a second channel, the test pane or M365 Copilot chat, and count attachments there. If each surface has its own independent 20, the counter is per conversation and your read is correct, which means the limit is effectively permanent per user in a Teams 1:1 since that conversationId is stable. If the count is shared, it is per agent or per user and something quite different is going on. Either answer tells you what to tell your users, which is what you actually need right now.
     
    One interim workaround. The limit is per conversation, and a Teams group chat or channel conversation has a different conversationId from a 1:1. So moving a user into a fresh group chat with the agent gives a fresh counter. Ugly, and not something to build a process on, but it unblocks someone mid-task.
     
    On question 5, yes. Move intake out of chat. This is also where the harness is pointed, the documented example for it is an accounts payable process where the agent reads invoices, matches them to purchase orders, and routes exceptions, which is your pattern and does not assume chat upload. Users drop files in a SharePoint library, the agent picks them up, and you are no longer bound by a conversation-scoped counter. You also get an audit trail and reprocessing, which chat attachments never give you.

    Worth filing. An undocumented hard limit that blocks a core business process is a legitimate docs gap at minimum. Raise it through the Power Platform admin center and also use the feedback link on the tools overview page, since the limits section there lists the 10 MB created file cap and the MCP concurrency cap but not this one.
     

    The documented limits page (lists the 10 MB created-file cap and the MCP concurrency cap, and notably does not list a 20-file upload limit, which supports his question 1)
    https://learn.microsoft.com/en-us/microsoft-copilot-studio/agents-experience/tools-overview

    Created files, 10 MB per file (shows the harness enforces its own file handling)
    https://learn.microsoft.com/en-us/microsoft-copilot-studio/agents-experience/created-files-overview

    The harness runs each task in a secure sandbox, and the accounts payable example
    https://learn.microsoft.com/en-us/microsoft-copilot-studio/harnesses-overview

    Knowledge limits vs conversational upload path being different (the Q&A thread where the conflation is called out, 15 to 16 MB conversational processing against 512 MB for knowledge)
    https://learn.microsoft.com/en-us/answers/questions/5984793/the-file-size-exceeds-the-limit-and-will-be-skippe

  • Suggested answer
    Valantis Profile Picture
    7,545 Super User 2026 Season 2 on at
     
     

    For your scenario, the safer pattern is exactly what you suggested: move intake to SharePoint or OneDrive, then let the agent or workflow process the uploaded files from there. If you need Microsoft to confirm whether the 20-file counter can be reset for Teams conversations, I’d raise a support ticket, because I don’t see a supported reset or increase option documented.

    Best regards,
     
    Valantis  
    ✅ If this helped solve your issue, please Accept as Solution so others can find it quickly.
     
    ❤️ If it didn’t fully solve it but was still useful, please click “Yes” on “Was this reply helpful?” or leave a Like :).
     
    🏷️ For follow-ups  @Valantis.
     
    💼 LinkedIn  
    ▶️ YouTube
  • Suggested answer
    M Bilal Khan Profile Picture
    376 on at

    I think the important point here is that the 20-file limit doesn't appear to be a currently documented Copilot Studio limit for the new GitHub Copilot harness.

    Microsoft's current documentation does document conversation attachments and their retention/size behavior, but I haven't found a published limit saying that a Teams conversation is limited to exactly 20 uploaded files.

    Because you're consistently hitting the limit after ~20 files, I'd test the same published agent in M365 Copilot or web chat. If those channels don't hit the same limit, that would be a strong indication that this is a Teams/harness-specific limitation rather than the agent itself.

    I also wouldn't rely on deleting the Teams chat or reinstalling the app as a reset mechanism unless Microsoft confirms that this creates a new attachment context. There doesn't appear to be a maker/admin setting in Copilot Studio to reset or increase this counter.

    For a document-processing scenario where users may process many files, I'd consider moving the intake outside the conversation:

    SharePoint library → Agent/Power Automate processes the document → structured output → SharePoint/Excel

    That also gives you a better audit trail and avoids making the conversation attachment quota part of the business process.

    I'd raise a support ticket with the exact message:

    "This conversation has reached its 20-file upload limit."

    and ask Microsoft to confirm whether this is an intentional Teams + GitHub Copilot harness quota, and whether it is scoped per conversation, user, or session and whether there is any supported reset/increase option.

    So I wouldn't tell users that 20 is an official Copilot Studio limit yet — I'd treat it as an observed Teams/harness limitation until Microsoft confirms it.

     

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Season of Sharing Community Challenge Winners!

Congratulations to our community stars!

Kudos to our 2025 Community Spotlight Honorees

Expanding mentorship, skilling, and AI innovation

Leaderboard > Copilot Studio

#1
Mohsin Ali Profile Picture

Mohsin Ali 360

#2
Valantis Profile Picture

Valantis 253 Super User 2026 Season 2

#3
11manish Profile Picture

11manish 184 Super User 2026 Season 2

Last 30 days Overall leaderboard