You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
OpenAI’s family of reasoning models (e.g. o1, o1-mini) do not accept system messages.
When I configured OpenCommit with OCO_MODEL=o1-mini and tried to generate a commit,
the process failed with an HTTP 400 error indicating 'messages[0].role' does not support 'system' for this model.
Expected Behavior
I expected OpenCommit to successfully generate a commit message for these new reasoning models without error.
Current Behavior
The process immediately stops with a HTTP 400 “unsupported_value” error if the first message is system. It never proceeds to generate the commit message.
Possible Solution
A solution might be to detect these models (“reasoning” family) in OpenAiEngine.generateCommitMessage()
and remove or merge any system message content into the user prompt.
This ensures the request is valid for those models.
Feature request #441 has been opened for this and includes more detail on possible solution implementations.
Steps to Reproduce
oco config set OCO_MODEL=o1-mini
Optionally set OCO_TOKENS_MAX_INPUT=128000 and OCO_TOKENS_MAX_OUTPUT=65536
Stage a few file changes and run oco
Observe the 400 error about 'system' role not supported
Relevant log output
$ oco
┌ open-commit
│
◇ 9 staged files:
.cspell.json
.editorconfig
.github/dependabot.yml
.github/workflows/ci.yml
.github/workflows/spellcheck.yml
.gitignore
.markdownlint.yaml
.vscode/extensions.json
lychee.toml
│
◇ ✖ Failed to generate the commit message
BadRequestError3: 400 Unsupported value: 'messages[0].role' does not support 'system' with this model.
at APIError3.generate (path/to/lib/node_modules/opencommit/out/cli.cjs:60664:14)
at OpenAI.makeStatusError (path/to/lib/node_modules/opencommit/out/cli.cjs:60213:22)
at OpenAI.makeRequest (path/to/lib/node_modules/opencommit/out/cli.cjs:60256:24)
at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
at async OpenAiEngine.generateCommitMessage (path/to/lib/node_modules/opencommit/out/cli.cjs:63730:28)
at async generateCommitMessageByDiff (path/to/lib/node_modules/opencommit/out/cli.cjs:64405:27)
at async generateCommitMessageFromGitDiff (path/to/lib/node_modules/opencommit/out/cli.cjs:64617:25)
at async trytm (path/to/lib/node_modules/opencommit/out/cli.cjs:64584:18)
at async commit (path/to/lib/node_modules/opencommit/out/cli.cjs:64786:35) {
status: 400,
headers: {
'access-control-expose-headers': 'X-Request-ID',
'alt-svc': 'h3=":443"; ma=86400',
'cf-cache-status': 'DYNAMIC',
'cf-ray': 'REDACTED',
connection: 'keep-alive',
'content-length': '221',
'content-type': 'application/json',
date: 'Sun, 12 Jan 2025 00:31:44 GMT',
'openai-organization': 'user-REDACTED',
'openai-processing-ms': '13',
'openai-version': '2020-10-01',
server: 'cloudflare',
'set-cookie': '__cf_bm=REDACTED; path=/; expires=Sun, 12-Jan-25 01:01:44 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None, _cfuvid=REDACTED; path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None',
'strict-transport-security': 'max-age=31536000; includeSubDomains; preload',
'x-content-type-options': 'nosniff',
'x-ratelimit-limit-requests': '500',
'x-ratelimit-limit-tokens': '200000',
'x-ratelimit-remaining-requests': '499',
'x-ratelimit-remaining-tokens': '195903',
'x-ratelimit-reset-requests': '120ms',
'x-ratelimit-reset-tokens': '1.228s',
'x-request-id': 'REDACTED'
},
request_id: 'REDACTED',
error: {
message: "Unsupported value: 'messages[0].role' does not support 'system' with this model.",
type: 'invalid_request_error',
param: 'messages[0].role',
code: 'unsupported_value'
},
code: 'unsupported_value',
param: 'messages[0].role',
type: 'invalid_request_error'
}
│
└ ✖ 400 Unsupported value: 'messages[0].role' does not support 'system' with this model.
The text was updated successfully, but these errors were encountered:
Opencommit Version
3.2.5
Node Version
22.13.0
NPM Version
10.9.2
What OS are you seeing the problem on?
Other Linux Distro
What happened?
OpenAI’s family of reasoning models (e.g.
o1
,o1-mini
) do not accept system messages.When I configured OpenCommit with
OCO_MODEL=o1-mini
and tried to generate a commit,the process failed with an HTTP 400 error indicating
'messages[0].role' does not support 'system' for this model.
Expected Behavior
I expected OpenCommit to successfully generate a commit message for these new reasoning models without error.
Current Behavior
The process immediately stops with a HTTP
400
“unsupported_value” error if the first message issystem
. It never proceeds to generate the commit message.Possible Solution
A solution might be to detect these models (“reasoning” family) in
OpenAiEngine.generateCommitMessage()
and remove or merge any system message content into the user prompt.
This ensures the request is valid for those models.
Feature request #441 has been opened for this and includes more detail on possible solution implementations.
Steps to Reproduce
oco config set OCO_MODEL=o1-mini
OCO_TOKENS_MAX_INPUT=128000
andOCO_TOKENS_MAX_OUTPUT=65536
oco
400
error about'system' role not supported
Relevant log output
The text was updated successfully, but these errors were encountered: