Clarify home-page error when active LLM profile is missing API key
#1,344 opened on Jun 12, 2026
Repository metrics
- Stars
- (43 stars)
- PR merge metrics
- (PR metrics pending)
Description
Problem
A user can get into a confusing blocked state on the main splash/home page when an LLM profile exists and appears selected, but the profile no longer has a usable API key (api_key_set: false).
In this state:
- The model/profile dropdown can still show the configured profile/model.
- The home-page banner says the user needs to set up an LLM profile.
- The prompt/send button is disabled.
- If execution is attempted or a previous conversation resumes, the agent-server can fail with a LiteLLM/OpenAI auth error similar to:
litellm.AuthenticationError: AuthenticationError: OpenAIException - {
"error": {
"message": "Incorrect API key provided: None. You can find your API key at https://platform.openai.com/account/api-keys.",
"type": "invalid_request_error",
"param": null,
"code": "invalid_api_key"
}
}
Why the current UX is misleading
The user has already set up an LLM profile, and the UI may visibly show that profile/model. The actual problem is more specific: the active profile exists but is unusable because its API key is missing/cleared/unreadable (api_key_set: false).
The current message points users toward creating/configuring an LLM profile from scratch, which makes the app feel internally inconsistent because the dropdown still shows a configured model.
Suggested UX improvement
When the active local LLM profile exists but has api_key_set: false, show a more specific recovery message, for example:
Your active LLM profile appears to be missing its API key. Edit the profile and re-enter the key before starting a conversation.
The CTA should take the user directly to the LLM profile editor or otherwise clearly indicate which profile needs repair.
Detection criteria
For local agent-server mode, this can likely be detected from GET /api/profiles:
active_profileis non-null- A matching profile exists in
profiles[] - That matching profile has
api_key_set: false
This should be distinct from the genuinely unconfigured state where there are no profiles or no active profile.
Notes
This can happen if a profile was previously valid but later lost its key, for example after a save flow overwrites the profile without preserving api_key, or after encrypted profile secrets become unreadable due to an agent-server OH_SECRET_KEY/state-dir mismatch and the profile is saved again.
This issue was created by an AI agent (OpenHands) on behalf of the user.