Summary
When Charon is started for the first time while Codex is configured to use a third-party relay, it captures the current live configuration as the protected default profile.
As a result, the relay is effectively treated as the permanent baseline configuration and cannot be edited or deleted from the UI.
Environment
- Charon: v1.3.8
- OS: macOS
- Codex CLI: v0.144.1
Steps to reproduce
-
Configure Codex to use a third-party provider:
model_provider = "relay"
[model_providers.relay]
base_url = "https://relay.example.com/v1"
wire_api = "responses"
requires_openai_auth = true
-
Store the relay API key in ~/.codex/auth.json.
-
Start Charon for the first time.
-
Open the Codex profile list.
Actual behavior
Charon captures the relay configuration as:
default
Default (auto-captured)
The captured profile is protected and cannot be edited or deleted, even though it represents a user-defined third-party relay rather than the official OpenAI configuration.
Expected behavior
A third-party configuration should not become an immutable default merely because it was active when Charon started for the first time.
Possible solutions include:
- Detect whether the current configuration actually uses the built-in OpenAI provider before protecting it as the official default.
- Import a detected third-party provider as a normal editable profile.
- Create a clean official OpenAI profile separately.
- Ask the user whether the current configuration should become the protected default.
Impact
Users who install Charon while a relay is active cannot subsequently edit or delete that relay through the UI. Correcting the profile currently requires manually modifying Charon's internal profile files.
Summary
When Charon is started for the first time while Codex is configured to use a third-party relay, it captures the current live configuration as the protected
defaultprofile.As a result, the relay is effectively treated as the permanent baseline configuration and cannot be edited or deleted from the UI.
Environment
Steps to reproduce
Configure Codex to use a third-party provider:
Store the relay API key in
~/.codex/auth.json.Start Charon for the first time.
Open the Codex profile list.
Actual behavior
Charon captures the relay configuration as:
The captured profile is protected and cannot be edited or deleted, even though it represents a user-defined third-party relay rather than the official OpenAI configuration.
Expected behavior
A third-party configuration should not become an immutable default merely because it was active when Charon started for the first time.
Possible solutions include:
Impact
Users who install Charon while a relay is active cannot subsequently edit or delete that relay through the UI. Correcting the profile currently requires manually modifying Charon's internal profile files.