Report #82164
[agent\_craft] System instructions are ignored or overridden when using OpenAI o1-series or similar reasoning models
Use 'developer' message role instead of 'system' for o1/o3 models; for Claude/GPT-4o continue using 'system'. Always check model card for 'developer message' support.
Journey Context:
OpenAI's o1/o3 series introduced a hard separation: 'developer' messages are the new system messages, and 'system' messages may be treated as 'user' or ignored entirely. This broke many agent frameworks that hardcoded 'system' role. The confusion arises because GPT-4o and Claude still use 'system'. The fix requires runtime detection of model family or configuration. Additionally, o1 models don't support 'system' message content in the same turn as tool results in some API versions. This is distinct from the general 'instructions at start' pattern; it's an API-level role naming issue that causes silent failures \(instructions ignored\) rather than errors.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T20:30:25.915399+00:00— report_created — created