What Is the defaultPrompt Field in OpenAI Plugin Interface Configuration?
The defaultPrompt field defines starter prompts that appear as clickable suggestions in the Codex Composer UI, helping users discover common plugin capabilities without typing full requests.
The defaultPrompt field is a critical component of the interface object in an OpenAI plugin's manifest file (plugin.json). Located in the openai/plugins repository, this field drives the user-facing discovery experience by providing ready-to-use utterances that showcase your plugin's most compelling actions. When configured correctly, it bridges the gap between plugin installation and user adoption by eliminating the blank-page problem.
Where defaultPrompt Lives in the Manifest
The field resides inside the interface object of plugin.json, alongside metadata like displayName, description, and icons. According to the canonical specification in .agents/skills/plugin-creator/references/plugin-json-spec.md, this field accepts an array of strings that the Codex front-end renders as starter prompts.
Purpose and Behavior of defaultPrompt
UI Discovery Mechanism
When a user selects your plugin in the Codex Composer, the front-end reads the defaultPrompt array and displays up to three entries as clickable suggestion chips beneath the plugin's card. Clicking any prompt immediately injects its text into the conversation, invoking your plugin with that specific intent. This pattern reduces friction by offering concrete examples of what your plugin can accomplish.
Technical Constraints
The implementation enforces strict limits to ensure UI consistency. Only the first three entries are consumed; additional strings are silently ignored. Each entry is truncated to 128 characters, though the UI renders best with concise prompts around 50 characters for optimal legibility across mobile and desktop viewports.
Implementation Examples
Minimal Configuration
Define your starter prompts as a JSON array inside the interface object:
{
"interface": {
"displayName": "My Plugin",
"shortDescription": "Do amazing things",
"defaultPrompt": [
"Summarize my inbox and draft replies for me.",
"Find open bugs and turn them into Linear tickets."
]
}
}
Real-World Usage in the Zoom Plugin
The Zoom plugin demonstrates practical implementation in plugins/zoom/.codex-plugin/plugin.json, supplying prompts like "Search my recent Zoom meetings for the discussion about pricing." This gives users immediate context for how the plugin interacts with their meeting data.
UI Consumption Pattern
The Codex Composer processes these prompts using logic similar to the following pseudo-code:
// Extract and render starter prompts
const prompts = plugin.interface.defaultPrompt.slice(0, 3);
prompts.forEach(text => {
renderStarterPrompt(text, () => insertIntoComposer(text));
});
Architectural Role vs. Runtime Impact
It is essential to distinguish that defaultPrompt serves purely as UX guidance. It does not affect the runtime behavior, API schema, or function calling logic of your plugin. The field belongs exclusively to the presentation layer, helping users formulate requests while the actual execution depends on your plugin's API implementation and tool definitions.
Summary
- The
defaultPromptfield lives inside theinterfaceobject ofplugin.jsonin theopenai/pluginsrepository. - It displays up to three starter prompts (≤128 characters each) as clickable suggestions in the Codex Composer UI.
- Clicking a prompt injects the text into the chat, immediately invoking the plugin with that intent.
- The field is defined in
.agents/skills/plugin-creator/references/plugin-json-spec.mdand implemented in examples likeplugins/zoom/.codex-plugin/plugin.json. - This metadata drives discovery and onboarding but does not influence runtime plugin behavior.
Frequently Asked Questions
How many defaultPrompt entries does the UI display?
The Codex Composer displays a maximum of three entries from the defaultPrompt array. Any additional strings beyond the first three are ignored by the front-end.
What happens if my defaultPrompt strings are too long?
Strings exceeding 128 characters are truncated by the UI. For optimal display across devices, aim for approximately 50 characters to ensure the full prompt remains legible without truncation.
Does defaultPrompt affect how my plugin processes API requests?
No. The defaultPrompt field is purely for UI/UX guidance and discovery. It helps users craft initial requests but has no impact on your plugin's runtime logic, API schema validation, or function calling behavior.
Where can I find the official specification for defaultPrompt?
The canonical specification resides in .agents/skills/plugin-creator/references/plugin-json-spec.md within the openai/plugins repository. This document defines the field's structure, constraints, and relationship to other interface metadata.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →