Codex not properly working with GPT OSS 120B

Resolved 💬 11 comments Opened Aug 21, 2025 by jayteaftw Closed Sep 3, 2025
💡 Likely answer: A maintainer (gpeal, contributor) responded on this thread — see the highlighted reply below.

What version of Codex is running?

codex-cli 0.23.0

Which model were you using?

gpt-oss-120b

What platform is your computer?

Darwin 24.6.0 arm64 arm

What steps can reproduce the bug?

Add VLLM hosting GPT OSS as a proivder

#config.toml
[model_providers.local]
name = "OpenAI using Chat Completions"
base_url = "https://vllm.example.com/v1"
env_key = "OPENAI_API_KEY"

[profiles.genai]
model_provider="local"
model = "openai/gpt-oss-120b"
name = "GenAI"

What is the expected behavior?

When I send the prompt Write me the fibonacci sequence in python and store it in fib.py I expect codex to do that

What do you see instead?

Instead it returns nothing

<img width="504" height="210" alt="Image" src="https://github.com/user-attachments/assets/63439909-1a4c-4dbe-96b4-9d62caf141b9" />

/status
📂 Workspace
  • Path: ~/CodeWorkspace/GenAI/genai-core
  • Approval Mode: on-request
  • Sandbox: workspace-write

🧠 Model
  • Name: openai/gpt-oss-120b
  • Provider: Local

📊 Token Usage
  • Session ID: 9f51cf0a-8eba-45fa-b3b4-e57752e0867f
  • Input: 0
  • Output: 0
  • Total: 0

Additional information

The LOG traces show that it does successfully send the prompt and tokens are being sent back

``` log
^[[2m2025-08-21T17:10:52.856956Z^[[0m ^[[34mDEBUG^[[0m Configuring session: model=openai/gpt-oss-120b; provider=ModelProviderInfo { name: "OpenAI using Chat Completions", base_url: Some("https://vllm.example.com/v1"), env_key: Some("OPENAI_API_KEY"), env_key_instructions: None, wire_api: Chat, query_params: None, http_headers: None, env_http_headers: None, request_max_retries: None, stream_max_retries: None, stream_idle_timeout_ms: None, requires_openai_auth: false }
^[[2m2025-08-21T17:10:52.885172Z^[[0m ^[[34mDEBUG^[[0m Recording items for conversation: [Message { id: None, role: "user", content: [InputText { text: "<environment_context>\nCurrent working directory: /Users/jaytea/CodeWorkspace/GenAI/genai-core\nApproval policy: on-request\nSandbox mode: workspace-write\nNetwork access: restricted\n</environment_context>" }] }]
^[[2m2025-08-21T17:10:52.885210Z^[[0m ^[[35mTRACE^[[0m handle_codex_event: SessionConfigured(SessionConfiguredEvent { session_id: 9f51cf0a-8eba-45fa-b3b4-e57752e0867f, model: "openai/gpt-oss-120b", history_log_id: 22874317, history_entry_count: 60 })
^[[2m2025-08-21T17:13:32.098737Z^[[0m ^[[34mDEBUG^[[0m Submission ^[[3msub^[[0m^[[2m=^[[0mSubmission { id: "0", op: UserInput { items: [Text { text: "Write me the fibonacci sequence in python and store it in fib.py" }] } }
^[[2m2025-08-21T17:13:32.098792Z^[[0m ^[[34mDEBUG^[[0m Submission ^[[3msub^[[0m^[[2m=^[[0mSubmission { id: "1", op: AddToHistory { text: "Write me the fibonacci sequence in python and store it in fib.py" } }
^[[2m2025-08-21T17:13:32.098833Z^[[0m ^[[34mDEBUG^[[0m Recording items for conversation: [Message { id: None, role: "user", content: [InputText { text: "Write me the fibonacci sequence in python and store it in fib.py" }] }]
^[[2m2025-08-21T17:13:32.098860Z^[[0m ^[[34mDEBUG^[[0m Recording items for conversation: []
^[[2m2025-08-21T17:13:32.098881Z^[[0m ^[[35mTRACE^[[0m handle_codex_event: TaskStarted
^[[2m2025-08-21T17:13:32.099040Z^[[0m ^[[34mDEBUG^[[0m POST to https://vllm.example.com/v1/chat/completions: {
"model": "openai/gpt-oss-120b",
"messages": [
{
"role": "system",
"content": "You are a coding agent running in the Codex CLI, a terminal-based coding assistant. Codex CLI is an open source project led by OpenAI......
},
{
"role": "user",
"content": "<environment_context>\nCurrent working directory: /Users/jaytea/CodeWorkspace/GenAI/genai-core\nApproval policy: on-request\nSandbox mode: workspace-write\nNetwork access: restricted\n</environment_context>"
},
{
"role": "user",
"content": "Write me the fibonacci sequence in python and store it in fib.py"
}
],
"stream": true,
"tools": [
{
"type": "function",
"function": {
"parameters": {
"type": "object",
"properties": {
"command": {
"type": "array",
"items": {
"type": "string"
},
"description": "The command to execute"
},
"justification": {
"type": "string",
"description": "Only set if ask_for_escalated_permissions is true. 1-sentence explanation of why we want to run this command."
},
"timeout": {
"type": "number",
"description": "The timeout for the command in milliseconds"
},
"with_escalated_permissions": {
"type": "boolean",
"description": "Whether to request escalated permissions. Set to true if command needs to be run without sandbox restrictions"
},
"workdir": {
"type": "string",
"description": "The working directory to execute the command in"
}
},
"required": [
"command"
],
"additionalProperties": false
},
"name": "shell",
"description": "\nThe shell tool is used to execute shell commands.\n- When invoking the shell tool, your call will be running in a landlock sandbox, and some shell commands will require escalated privileges:\n - Types of actions that require escalated privileges:\n - Reading files outside the current directory\n - Writing files outside the current directory, and protected folders like .git or .env\n - Commands that require network access\n\n - Examples of commands that require escalated privileges:\n - git commit\n - npm install or pnpm install\n - cargo build\n - cargo test\n- When invoking a command that will require escalated privileges:\n - Provide the with_escalated_permissions parameter with the boolean value true\n - Include a short, 1 sentence explanation for why we need to run with_escalated_permissions in the justification parameter.",
"strict": false
}
},
{
"type": "function",
"function": {
"parameters": {
"type": "object",
"properties": {
"explanation": {
"type": "string"
},
"plan": {
"type": "array",
"items": {
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "One of: pending, in_progress, completed"
},
"step": {
"type": "string"
}
},
"required": [
"step",
"status"
],
"additionalProperties": false
},
"description": "The list of steps"
}
},
"required": [
"plan"
],
"additionalProperties": false
},
"name": "update_plan",
"description": "Updates the task plan.\nProvide an optional explanation and a list of plan items, each with a step and status.\nAt most one step can be in_progress at a time.\n",
"strict": false
}
}
]
}
^[[2m2025-08-21T17:13:32.246780Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"role": String("assistant"), "content": String("")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:32.246796Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String("")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:32.250680Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String("")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:32.255126Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String("")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:32.259316Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String("We")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:32.264292Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String(" need")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:32.269112Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String(" to")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:32.273239Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String(" write")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:32.278178Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String(" a")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:32.283398Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String(" Python")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:32.287255Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String(" file")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:32.292164Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String(" fib")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:32.297087Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String(".py")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:32.301338Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String(" with")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:32.306144Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String(" code")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:32.311280Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String(" that")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:32.315143Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String(" generates")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:32.320150Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String(" Fibonacci")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:32.325191Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String(" sequence")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:32.329318Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String(".")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:32.334175Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String(" Lik")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:32.339101Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String("ely")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:32.373993Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String(" a")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:32.376122Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String(" function")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:32.376132Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String(" to")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:32.376139Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String(" generate")}, "logprobs": Null, "finish_reason": Null}]}

^[#Truncated

^[[2m2025-08-21T17:13:33.514157Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String(" argument")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:33.519174Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String(".\\")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:33.524438Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String("n")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:33.528058Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String("+")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:33.533168Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String("\\\"")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:33.538111Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String("\\\"")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:33.542239Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String("\\\"\\")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:33.547166Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String("n")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:33.552185Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String("+\\")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:33.556187Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String("n")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:33.561093Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String("+")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:33.566241Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String("from")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:33.570079Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String(" __")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:33.575166Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String("future")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:33.580104Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String("__")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:33.584179Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String(" import")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:33.589234Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String(" annotations")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:33.597734Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String("\\n")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:33.598184Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String("+\\")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:33.603192Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String("n")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:33.608279Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String("+")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:33.612108Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String("from")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:33.617119Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String(" typing")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:33.622100Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String(" import")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:33.627143Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String(" List")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:33.631109Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String("\\n")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:33.641528Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String("+\\")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:33.641561Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String("n")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:33.646184Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String("+\\")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:33.650143Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String("n")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:33.654196Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String("+")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:33.658991Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String("def")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:33.664125Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String(" fib")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:33.668120Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String(".py")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:33.673544Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String("\\n")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:33.678063Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String("+")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:33.682108Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String("***")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:33.687097Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String(" End")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:33.692120Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String(" Patch")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:33.696131Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String("\"}")}, "logprobs": Null, "finish_reason": Null}]}
^[[2m2025-08-21T17:13:33.701079Z^[[0m ^[[35mTRACE^[[0m chat_completions received SSE chunk: Object {"id": String("chatcmpl-30322e3663044745a4cb1767c5ca5fb4"), "object": String("chat.completion.chunk"), "created": Number(1755796412), "model": String("openai/gpt-oss-120b"), "choices": Array [Object {"index": Number(0), "delta": Object {"reasoning_content": String("")}, "logprobs": Null, "finish_reason": String("stop"), "stop_reason": Number(200012)}]}
^[[2m2025-08-21T17:13:33.701110Z^[[0m ^[[34mDEBUG^[[0m Turn completed
^[[2m2025-08-21T17:13:33.701129Z^[[0m ^[[35mTRACE^[[0m handle_codex_event: TaskComplete(TaskCompleteEvent { last_agent_message: None })

View original on GitHub ↗

11 Comments

ociata · 11 months ago

I see similar problem and looks like it is connected to the tools usage. When you prompt codex to simply return information back(like say hi) it does so. But when you prompt to use tool like calculating fibonaci or reading a local file it just stops working. Curios how others were able to run codex with vllm serving the gpt-oss.

Codex:

<img width="563" height="337" alt="Image" src="https://github.com/user-attachments/assets/b10ab20a-1013-4b19-9d4b-b59e562b52be" />

Server log:

<img width="867" height="78" alt="Image" src="https://github.com/user-attachments/assets/4864108b-4c43-4f1c-9543-65cef0784e28" />

tunesmith · 10 months ago

Possible dupe of #2293

jayteaftw · 10 months ago

@tunesmith I dont think it is related because VLLM already has 128K context window size set.

JordanATAT · 10 months ago

This issue seems to come from vLLM rather than CodexCLI. For reference, see this issue: https://github.com/vllm-project/vllm/issues/22519

R-omk · 10 months ago

I am observing a similar problem when connecting through (open-webui -> ollama).

However, when connecting directly to ollama, everything works without problems.

(I am using open-webui to override the default model options, the main purpose is to set the context size, secondary - the presence of key authentication.)

At the same time, I do not observe any problems with the operation in other applications with tools in this model when connecting through open-webui (for example, the continue extension for vscode).


#profile = "oui"
profile = "ollama"

[model_providers.oui]
name = "OUI"
base_url = "http://127.0.0.1:8080/api"
env_key = "CODEX_API_KEY"

[profiles.oui]
model = "gpt-oss:20b"
model_provider = "oui"

[model_providers.ollama]
name = "ollama"
base_url = "http://127.0.0.1:11434/v1"

[profiles.ollama]
model = "gpt-oss:20b"
model_provider = "ollama"

UPD:

I also tried the combination of litellm -> ollama. The result is the same - it doesn't work.

[model_providers.litellm]
name = "litellm"
base_url = "http://127.0.0.1:33841/v1"
env_key = "CODEX_API_KEY"
wire_api = "chat"
#wire_api = "responses"

[profiles.litellm]
model = "gpt"
model_provider = "litellm"

litellm conf:

model_list:
  - model_name: gpt
    litellm_params:
      model: ollama/gpt-oss:20b
      api_base: http://127.0.0.1:11434
      num_ctx: 130000
gpeal contributor · 10 months ago

Duplicate of #2293

Swipe4057 · 10 months ago

the problem is still relevant

tonydavis629 · 9 months ago

Yeah this issue should be reopened

teub · 8 months ago

Is this the same issue I reported recently #5775 ?

kidandcat · 8 months ago

Still happening, and it has nothing to do with context, I'm running it using cerebras as provider, and it do not answer after just a couple of ls commands, also Codex do not show any errors to the user.

gerroon · 6 months ago

The 1 Trillion dollar company can't even develop a proper extension that works with its own model. What a great world we live in. I am pretty sure that a company that can't develop an extension can't develop AGI.