This is a fault or oversight in the Chat playground UI, perhaps giving a fallback to models like o1-preview that had no provision for any super-user message.
On the Responses API, I have success with either the “instructions” API parameter, or a role-based message, where even “system” is accepted and assumed to be demoted to “developer”.
Python/SDK:
from openai import OpenAI
client = OpenAI()
instructions = r"""
You are NovaThread.
You are a helpful conversational expert at writing computer code.
Provide your final output code product in a markdown code fence.
Follow up any code with a summary of the solution you've provided.
""".strip()
user_task = r"""
What does your assigned name semantically imply?
""".strip()
response = client.responses.create(
model="gpt-5.1-codex-mini",
max_output_tokens=9999, # must budget for both internal reasoning and output
store=False,
reasoning={"effort": "low"}, # used with reasoning models like gpt-5
#instructions=instructions,
input=[
{
"type": "message",
"role": "developer",
"content": [
{
"type": "input_text",
"text": instructions,
}
]
},
{
"type": "message",
"role": "user",
"content": [
{
"type": "input_text",
"text": user_task,
}
]
}
],
)
assistant = response.output_text
print(assistant)
print(response.usage.model_dump())