bug(agents): built-in agents cannot inherit an OAuth-backed host LLM
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 68/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- python
- Domain
- ai, authentication
Research direction
Start in raven/config/product_render.py at inherit_llm, then trace the main runtime's provider-readiness or credential-resolution logic referenced by the issue. Add coverage for an OpenAI Codex OAuth host with no provider apiKey, while preserving own-key and API-key inheritance behavior. Done means all four built-in products inherit the host provider and resolve its OAuth credentials.
Written by the indexing model from the issue text.
Description
Summary
The four shipped agent products fail to launch when the host Raven uses an OAuth-backed provider such as OpenAI Codex, even though the host model is authenticated and works.
The products are documented to use either their own key or the host Raven LLM. The host-inheritance branch currently treats only a provider block containing an apiKey as usable, so an authenticated OAuth provider is rejected before the child runtime starts.
Environment
- Raven: 0.2.2
- Platform: macOS
- Host provider:
openai_codex - Host model: an account-catalog Codex model
- Installation: published Raven tool/wheel
Reproduction
- Sign in with
raven provider login openai-codex. - Select an OpenAI Codex model as the main Raven model.
- Verify that
raven doctor --probesucceeds. - Open Agent Connector and re-test Raven-Code, Raven-Design, Raven-Oncall, or Raven-Research.
- Observe that each product starts and immediately exits.
The launchers report:
Raven-Code: CODE_API_KEY is not set and the host config has no provider key to inherit from
Raven-Design: configure a model provider in the host Raven settings before starting Design
Raven-Oncall: ONCALL_API_KEY is not set and the host config has no provider key to inherit from
Raven-Research: RESEARCH_API_KEY is not set and the host config has no provider key to inherit from
At the same time:
raven provider list
openai_codex OpenAI Codex OAuth configured
raven doctor --probe
LLM Probe: success
Root cause
raven/config/product_render.py::inherit_llm currently gates inheritance on an API key stored inside a provider block:
providers = host.get("providers") or {}
if not any(isinstance(p, dict) and p.get("apiKey") for p in providers.values()):
return ""
OAuth credentials are intentionally stored outside the provider block, so a working OAuth provider has no apiKey there. The function therefore returns an empty result before copying the host provider, routing, and model configuration.
This affects all four visible shipped products because their no-own-key paths call inherit_llm directly or depend on the same result.
Expected behavior
A host provider that is authenticated and usable through OAuth should be eligible for built-in-agent inheritance, just like an API-key provider. The child should receive the host provider/model binding and resolve the same OAuth credential store.
Actual behavior
The main Raven can answer through OpenAI Codex OAuth, but every built-in professional agent fails its handshake and cannot be dispatched.
Suggested fix scope
- Replace the
apiKey-presence gate with the same provider-readiness or credential-resolution logic used by the main runtime. - Ensure the rendered child process resolves the host OAuth credential store.
- Add coverage for a host using OpenAI Codex OAuth with no provider
apiKey. - Keep existing own-key and API-key inheritance behavior unchanged.
Privacy
This report contains no credential values, account identifiers, private paths, or private conversation data.
- Dominant language
- Python
- Stars
- 4.1k
- Forks
- 94
- Avg merge
- 10h 2m
- Merged PRs (30d)
- 376
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
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 EverMind-AI/Raven
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
EverMind-AI/Raven#798 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
EverMind-AI/Raven#797 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
EverMind-AI/Raven#640 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
EverMind-AI/Raven#479 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 75/100
EverMind-AI/Raven#474 · 2 comments ·
Maintainers usually reply within 1 day
All issues in EverMind-AI/Raven
Similar issues
-
bug server
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
sportsdataverse/sportsdataverse-py#641 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
googleapis/google-cloud-python#18532 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day