What happened?
When using the openai-responses API style, the agent always sends the system prompt as role: "developer" whenever model.reasoning is enabled, even when the model has compat.supportsDeveloperRole: false in models.json. Providers that don't accept the developer role (e.g. StepFun) silently drop the system prompt, so the model never sees it.
Steps to reproduce
- Configure a StepFun model in
models.json with "reasoning": true and "compat": { "supportsDeveloperRole": false }.
- Set
api to openai-responses.
- Start a pi session with that model and a non-empty system prompt.
- Observe that the model behaves as if no system prompt was provided.
Expected behavior
When supportsDeveloperRole is false, the system prompt should be sent as role: "system" instead of developer.
Version
0.78.1
What happened?
When using the
openai-responsesAPI style, the agent always sends the system prompt asrole: "developer"whenevermodel.reasoningis enabled, even when the model hascompat.supportsDeveloperRole: falseinmodels.json. Providers that don't accept thedeveloperrole (e.g. StepFun) silently drop the system prompt, so the model never sees it.Steps to reproduce
models.jsonwith"reasoning": trueand"compat": { "supportsDeveloperRole": false }.apitoopenai-responses.Expected behavior
When
supportsDeveloperRoleisfalse, the system prompt should be sent asrole: "system"instead ofdeveloper.Version
0.78.1