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
Surfaced during review of #630 (merged), which deliberately did not touch it.
Claude's readiness evidence says three different things depending on which copy is read:
source
creds_file
creds_key
sdk/src/openagents/registry/claude.yaml
~/.claude/.credentials.json
claudeAiOauth
registry/claude.json
~/.claude/sessions
(none)
packages/agent-connector/registry.json
~/.claude/sessions
(none)
Both variants work after #630 (the directory path used to crash the Python loader; now it counts when non-empty), but they check different things — and if Claude Code has moved its credentials the way the Gemini CLI did (to the OS keychain, deleting the on-disk file — the exact failure #630 fixed for Gemini), the .credentials.json variant may be silently stale.
To resolve:
Check where current Claude Code builds actually persist subscription credentials (file vs keychain, per-platform).
Pick one evidence source and align all three copies (plus workspace/backend/registry/claude.json via sync_registry.py).
Related pre-existing wart, also from #630's description: _simple_yaml_parse (the PyYAML-absent fallback in loader.py) cannot parse the registry YAML it is the fallback for (install comes back as a list, check_ready as None → AttributeError at import). Worth folding into the same cleanup or splitting out.
Surfaced during review of #630 (merged), which deliberately did not touch it.
Claude's readiness evidence says three different things depending on which copy is read:
sdk/src/openagents/registry/claude.yaml~/.claude/.credentials.jsonclaudeAiOauthregistry/claude.json~/.claude/sessionspackages/agent-connector/registry.json~/.claude/sessionsBoth variants work after #630 (the directory path used to crash the Python loader; now it counts when non-empty), but they check different things — and if Claude Code has moved its credentials the way the Gemini CLI did (to the OS keychain, deleting the on-disk file — the exact failure #630 fixed for Gemini), the
.credentials.jsonvariant may be silently stale.To resolve:
workspace/backend/registry/claude.jsonviasync_registry.py).registry.jsonis hand-maintained — the generator would drop drifted blocks (see the note in the package README and fix(core): creds_file readiness — Gemini's evidence moved, Hermes' never parsed, Python's never ran #630's description).Related pre-existing wart, also from #630's description:
_simple_yaml_parse(the PyYAML-absent fallback inloader.py) cannot parse the registry YAML it is the fallback for (installcomes back as a list,check_readyas None → AttributeError at import). Worth folding into the same cleanup or splitting out.