Debug a copilot plugin with developer mode
You can use developer mode while testing your plugin to verify if and how the orchestrator selected your plugin for use in response to a given prompt.
Using copilot plugin developer mode
From copilot Chat, you can enable developer mode by typing -developer on
(or off
to disable).
While developer mode is enabled, a card with debug information will be returned whenever the orchestrator searches specifically within your enterprise knowledge (data) and/or skills (plugins) to respond to a prompt. The debug info card includes the following fields:
- Enabled plugins: A list of plugins enabled by the user (from Plugins control below the chat input box)
- Matched functions: A list of plugins and functions matched in the runtime app index lookup
- Selected functions for execution: A list of plugin functions selected for invocation based on orchestrator reasoning
- Function execution details: Request and response function execution status
Troubleshooting execution failures
Here are some common failures you might encounter when debugging plugin execution, and possible causes.
No debug card
If the orchestrator doesn't require your Microsoft 365 data or skills to respond to a prompt, no debug info card will be returned.
Debug cards are also not returned in cases of capacity throttling, where you will typically see an error message to try again later.
Card with No plugins enabled
If no plugins were enabled, the Enabled plugins section will indicate that there are no plugins enabled.
Card with No Matched functions
If relevant plugins are enabled, yet no matched functions were returned for the given prompt, this likely indicates the prompt did not explicitly mention the plugin name.
Card with No functions selected for execution
If no enabled plugin matched the search intent of the prompt, the debug info card will report No functions selected for execution. This is likely because the command description in the manifest is not semantically related to the search intent of the given prompt.
If copilot was previously matching and executing your plugin functions successfully, this could be an indication of throttling.
Card with empty or failed No Function execution details
For non-message extension plugins, if the there are failed or no function execution details , it indicates a failure during copilot's attempt to assign parameters to the selected function of your plugin. If the failure is consistent, it is most likely due to unclear plugin or parameter descriptions, invalid host urls, or other problems with your Open API definition.
For message extension plugins, best practice is to optimize for responses under nine seconds. For more more info, review the technical requirements for message extension plugins.
Currently the timeout limit for copilot execution of a plugin API is set at 10 seconds.
Reporting an issue
Please report any feedback or issues with your plugin by using the thumbs up or thumbs down button. Include the #extensibility tag in your report. Select whether you thumbs up ('I like something') or thumbs down ('I don't like something') right after the copilot response
Then, enter a message including the #extensibility tag in the text box