Skip to content

Prefer OpenHarness-scoped API key env vars over provider globals#93

Open
siaochuan wants to merge 1 commit into
HKUDS:mainfrom
siaochuan:codex/api-key-env-isolation
Open

Prefer OpenHarness-scoped API key env vars over provider globals#93
siaochuan wants to merge 1 commit into
HKUDS:mainfrom
siaochuan:codex/api-key-env-isolation

Conversation

@siaochuan
Copy link
Copy Markdown
Contributor

Summary

  • prefer OPENHARNESS_* provider-scoped API key env vars over provider-native globals
  • keep native provider env vars as fallback for compatibility
  • forward the OpenHarness-scoped provider/auth env vars to spawned teammates
  • add tests covering env precedence and teammate env propagation

Why

When multiple provider integrations are tested in the same shell, broad global env vars like ANTHROPIC_API_KEY and OPENAI_API_KEY are easy to mix up. This makes it too easy for OpenHarness to pick up the wrong credential from shared shell state.

This change gives OpenHarness a safer default path:

  1. prefer project-scoped OPENHARNESS_* provider keys
  2. fall back to provider-native env vars only when the scoped vars are absent

Related to #84.

Testing

  • python -m pytest tests/test_config/test_settings.py tests/test_swarm/test_spawn_utils.py
  • python -m pytest tests/test_auth/test_external.py -k third_party_base_url_for_claude_subscription

tjb-tech pushed a commit that referenced this pull request May 24, 2026
Prefer OPENHARNESS_<PROVIDER>_API_KEY variables over provider-native globals while resolving API-key auth. Keep provider-native variables as fallback and avoid applying unrelated native keys across active profiles.

Forward the OpenHarness-scoped auth/provider environment variables to spawned teammates.

Based-on: #93
@tjb-tech
Copy link
Copy Markdown
Collaborator

已将这个 PR 的核心修复手动抽取到 main:63ac368。当前 PR 与最新 main 有冲突,所以没有直接 merge;新提交保留了原作者署名,并补齐了更多 provider 的 OPENHARNESS__API_KEY 覆盖与子 agent env 继承测试。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants