Framework agents call the OpenAI Responses API regardless of the configured model
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 55/100
Research direction
Start by reproducing the failure with examples/agents/93_openai_runner_hello_world.py and CONDUCTOR_AGENT_LLM_MODEL=anthropic/claude-sonnet-4-6 while the server lacks OPENAI_API_KEY. Read the conductor.ai Runner/framework-agent path, then inspect the execution and workflow responses for Assistant_llm and reasonForIncompletion. Done means the example routes to the configured model or reports the missing dependency clearly and exits non-zero.
Written by the indexing model from the issue text.
Description
In short: run one of the *_openai_runner_* examples with an Anthropic model against a server that has no OpenAI key, and it fails — because this code path always calls OpenAI, whatever model you configured. It then prints None and exits 0, so nothing notices.
Files: examples/agents/93_openai_runner_hello_world.py, 94_openai_runner_tools.py, 95_openai_runner_handoffs.py, 96_openai_runner_streaming.py (the conductor.ai Runner / framework-agent path)
Symptom
With no OPENAI_API_KEY in the server process's environment:
$ CONDUCTOR_AGENT_LLM_MODEL=anthropic/claude-sonnet-4-6 python examples/agents/93_openai_runner_hello_world.py
Framework agent 'Assistant' execution FAILED
None
Both 93 and 96 exit 0 despite failing, so exit-code-based tooling — including scripts/run_examples.sh — scores them green.
Cause
The framework-agent path calls the OpenAI Responses API regardless of the configured model. With an Anthropic model and no OpenAI key on the server, the Assistant_llm LLM_CHAT_COMPLETE task sends an empty key to OpenAI instead of routing to Anthropic:
Task execution failed: OpenAI Responses API call failed: Responses API failed with status 401:
{"error": {"message": "Incorrect API key provided: ''. You can find your API key at
https://platform.openai.com/account/api-keys.", "type": "invalid_request_error",
"param": null, "code": "invalid_api_key"}}
Read it back with:
curl -s localhost:8080/api/agent/executions?size=5
curl -s "localhost:8080/api/workflow/<executionId>?includeTasks=true" # Assistant_llm -> reasonForIncompletion
Confirmed by changing only the server's environment, one server, everything else fixed:
| Server env | model | result |
|---|---|---|
no OPENAI_API_KEY |
anthropic/claude-sonnet-4-6 |
FAILED |
no OPENAI_API_KEY |
anthropic/claude-opus-4-6 |
FAILED |
OPENAI_API_KEY present |
anthropic/claude-sonnet-4-6 |
pass |
OPENAI_API_KEY present |
anthropic/claude-opus-4-6 |
pass |
Ruled out:
- the client's environment — fails with the client key set, passes with it unset
langchain-anthropicbeing installed — passes with it uninstalled
Only the server's environment matters.
Fix
Either drop the OpenAI dependency when the target model is not OpenAI, or fail with a message naming the missing key. Silent failure with None and exit 0 is the worst outcome.
Verify
Start the server with no OPENAI_API_KEY, run 93 with an Anthropic model — it should either work or say why, and exit non-zero if it fails.
Note: These examples document CONDUCTOR_AGENT_LLM_MODEL=openai/gpt-4o (or anthropic/claude-opus-4-6), so a user following the Anthropic option with an Anthropic-only server hits this immediately.
- Dominant language
- Python
- Stars
- 104
- Forks
- 43
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 4
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from conductor-oss/python-sdk
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
conductor-oss/python-sdk#507 ·
-
Difficulty 1/5 1-3 hours Newbie friendliness 90/100
conductor-oss/python-sdk#502 ·
-
bug dependencies
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
conductor-oss/python-sdk#486 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
conductor-oss/python-sdk#483 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
conductor-oss/python-sdk#478 ·
All issues in conductor-oss/python-sdk
Similar issues
-
documentation help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
simonw/sqlite-utils#872 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100