-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Fix: LiteLLM API key field not showing in UI configuration #4105
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
jamadeo
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @jalateras , a couple of thoughts here:
- I'm surprised we only render the input if the key is required. @zanesq do you know why there isn't a way to have an optional input in the UI?
- Is it always required to have a LITELLM_API_KEY? I haven't used litellm but from a quick glance they seem to support running your proxy locally -- would this be a case where you wouldn't need to set it? what happens then?
|
@jamadeo I think it was just a UX consideration at the time to limit the fields to only whats needed and keep it simple for the user to configure if nothing is needed. That being said I think it makes sense to put an optional field for everything and pass it along in case since params can change later also. |
|
Thanks for the review @jamadeo and @zanesq! To address your questions:
RecommendationI suggest we proceed with this PR as an immediate fix because:
For the longer-term solution, I propose creating a follow-up issue to enhance the UI to show optional configuration fields. This could be implemented by:
This way we deliver immediate value while planning for a more flexible configuration UI. What do you think? |
✅ E2E Testing CompletedI've successfully tested this fix end-to-end with LiteLLM: Test Setup:
# config.yaml
model_list:
- model_name: openai-gpt-4o-mini
litellm_params:
model: openai/gpt-4o-mini
api_key: sk-xxx
litellm_settings:
drop_params: trueand to run docker run -p 4000:4000 \
-v $(pwd)/litellm_config.yaml:/app/config.yaml \
ghcr.io/berriai/litellm:main-latest \
--config /app/config.yaml \
--port 4000
Test Results:
Verification:The fix works as intended - changing Tested with:
|
Follow-up Work NeededA separate PR should address the wider architectural issue of supporting truly optional configuration fields in the UI. This would involve:
|
Signed-off-by: jalateras <[email protected]>
…ock#3953) The LITELLM_API_KEY field was marked as not required, preventing it from appearing in the UI provider configuration modal. Changed the required flag from false to true to match other providers and ensure the field is displayed for users to configure. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]> Signed-off-by: jalateras <[email protected]>
f071e15 to
c905ab6
Compare
…-unification * 'main' of github.com:block/goose: (24 commits) feat(cli): add `path` & `limit` to `session list` command (#4878) Allow better concurrent access (#4896) fix: Windows prompt cursor positioning issue with ANSI escape sequences (#4464) Fix: LiteLLM API key field not showing in UI configuration (#4105) fix: path is duplicated on tool calls causing them to fail (#4658) (#4859) add new prompt to get all available tutorials (#4802) Add filtering for agentVisible: false messages on streaming providers (#4847) alexhancock/mcp-crate-cleanup (#4885) docs: rename sub-recipe to subrecipe (#4886) docs: new multi-model section with autopilot topic (#4864) make agent manager singleton (#4880) Cli web auth token (#4456) fix(token_counter): fix panic with GitHub Copilot (#4632) Revert "Internal MCP Crate Cleanup (#4800)" (#4883) remove 2 redundant comments and one that lies (#4866) Internal MCP Crate Cleanup (#4800) Fix #4612: Return non-zero exit code when CLI session ends with error (#4621) Dead code cleanup (#4873) fix: restoring test data and correcting name (#4875) Add .goosehints file to enforce lowercase branding in documentation (#4870) ...
* remove only-pr-labels (block#4842) Signed-off-by: Angela Ning <[email protected]> * Docs: Add link to Plug & Play video for Reddit MCP (block#4852) * Fix: Token count UI doesn't re-render if it's open. (block#4822) * Update databricks flash model (block#4836) * Session manager (block#4648) Co-authored-by: Douwe Osinga <[email protected]> * Add Hacktoberfest Guides (block#4830) Co-authored-by: taniashiba <[email protected]> * docs: goose x Hacktoberfest 2025 Blog (block#4855) Co-authored-by: Tania Chakraborty <[email protected]> Co-authored-by: Angie Jones <[email protected]> * fix: delete some flaky and not-useful tests (block#4861) * can tell the system what shell it is using (block#4807) * new subrecipe blog post banner (block#4862) * docs: remove recipe generator link from next to extension search (block#4858) * lowercase g in goose (block#4832) * doc: file parameter recipe update (block#4594) * Fiie input recipe ref doc (block#4869) * Add .goosehints file to enforce lowercase branding in documentation (block#4870) Co-authored-by: Angie Jones <[email protected]> * fix: restoring test data and correcting name (block#4875) * Dead code cleanup (block#4873) Co-authored-by: Douwe Osinga <[email protected]> Co-authored-by: Michael Neale <[email protected]> * Fix block#4612: Return non-zero exit code when CLI session ends with error (block#4621) Signed-off-by: jalateras <[email protected]> * Internal MCP Crate Cleanup (block#4800) * remove 2 redundant comments and one that lies (block#4866) Co-authored-by: Douwe Osinga <[email protected]> * Revert "Internal MCP Crate Cleanup (block#4800)" (block#4883) * fix(token_counter): fix panic with GitHub Copilot (block#4632) Signed-off-by: sings-to-bees-on-wednesdays <[email protected]> main was broken. this seems important * Cli web auth token (block#4456) Signed-off-by: Evanfeenstra <[email protected]> * make agent manager singleton (block#4880) * docs: new multi-model section with autopilot topic (block#4864) * docs: rename sub-recipe to subrecipe (block#4886) * alexhancock/mcp-crate-cleanup (block#4885) * Temporary workaround for mcp server * Add filtering for agentVisible: false messages on streaming providers (block#4847) * add new prompt to get all available tutorials (block#4802) Signed-off-by: AdemolaAri <[email protected]> * Fix for auth in extension, fix for stale keychain * fix: path is duplicated on tool calls causing them to fail (block#4658) (block#4859) Signed-off-by: demetrio108 <[email protected]> * Fix: LiteLLM API key field not showing in UI configuration (block#4105) Signed-off-by: jalateras <[email protected]> Co-authored-by: Ebony Louis <[email protected]> Co-authored-by: Claude <[email protected]> Co-authored-by: Jack Amadeo <[email protected]> * fix: Windows prompt cursor positioning issue with ANSI escape sequences (block#4464) Signed-off-by: Matt Donovan <[email protected]> Co-authored-by: Matt Donovan <[email protected]> * Allow better concurrent access (block#4896) Co-authored-by: Douwe Osinga <[email protected]> * feat(cli): add `path` & `limit` to `session list` command (block#4878) * Added CMD+T keyboard shortcut that takes you to the Home tab (block#4541) Signed-off-by: Guillaume Simard <[email protected]> --------- Signed-off-by: Angela Ning <[email protected]> Signed-off-by: jalateras <[email protected]> Signed-off-by: Evanfeenstra <[email protected]> Signed-off-by: AdemolaAri <[email protected]> Signed-off-by: demetrio108 <[email protected]> Signed-off-by: Matt Donovan <[email protected]> Signed-off-by: Guillaume Simard <[email protected]> Co-authored-by: Angela Ning <[email protected]> Co-authored-by: Emma Youndtsmith <[email protected]> Co-authored-by: David Katz <[email protected]> Co-authored-by: Douwe Osinga <[email protected]> Co-authored-by: Douwe Osinga <[email protected]> Co-authored-by: Ebony Louis <[email protected]> Co-authored-by: taniashiba <[email protected]> Co-authored-by: taniandjerry <[email protected]> Co-authored-by: Tania Chakraborty <[email protected]> Co-authored-by: Angie Jones <[email protected]> Co-authored-by: Jack Amadeo <[email protected]> Co-authored-by: Michael Neale <[email protected]> Co-authored-by: w. ian douglas <[email protected]> Co-authored-by: Alex Hancock <[email protected]> Co-authored-by: Jarrod Sibbison <[email protected]> Co-authored-by: Rizel Scarlett <[email protected]> Co-authored-by: Jim Alateras <[email protected]> Co-authored-by: sings-to-bees-on-wednesdays <[email protected]> Co-authored-by: Evan Feenstra <[email protected]> Co-authored-by: Yingjie He <[email protected]> Co-authored-by: dianed-square <[email protected]> Co-authored-by: Ademola Arigbabuwo <[email protected]> Co-authored-by: Demetrio ⚡️ <[email protected]> Co-authored-by: Claude <[email protected]> Co-authored-by: Jack Amadeo <[email protected]> Co-authored-by: Matt Donovan <[email protected]> Co-authored-by: Matt Donovan <[email protected]> Co-authored-by: Robert Mcgregor <[email protected]> Co-authored-by: Guillaume Simard <[email protected]>
* main: (206 commits) Tiny: fix github casing (block#4903) remove anyOf from create_task tool (block#4897) chore(deps): bump tracing-subscriber from 0.3.19 to 0.3.20 (block#4442) fix optional recipe schema zod validation (block#4900) Added CMD+T keyboard shortcut that takes you to the Home tab (block#4541) feat(cli): add `path` & `limit` to `session list` command (block#4878) Allow better concurrent access (block#4896) fix: Windows prompt cursor positioning issue with ANSI escape sequences (block#4464) Fix: LiteLLM API key field not showing in UI configuration (block#4105) fix: path is duplicated on tool calls causing them to fail (block#4658) (block#4859) add new prompt to get all available tutorials (block#4802) Add filtering for agentVisible: false messages on streaming providers (block#4847) alexhancock/mcp-crate-cleanup (block#4885) docs: rename sub-recipe to subrecipe (block#4886) docs: new multi-model section with autopilot topic (block#4864) make agent manager singleton (block#4880) Cli web auth token (block#4456) fix(token_counter): fix panic with GitHub Copilot (block#4632) Revert "Internal MCP Crate Cleanup (block#4800)" (block#4883) remove 2 redundant comments and one that lies (block#4866) ...
Signed-off-by: jalateras <[email protected]> Co-authored-by: Ebony Louis <[email protected]> Co-authored-by: Claude <[email protected]> Co-authored-by: Jack Amadeo <[email protected]> Signed-off-by: HikaruEgashira <[email protected]>
Summary
requiredflag fromfalsetotrueto match other providersProblem
As reported in #3953, users were unable to set an API key for LiteLLM because the input field did not show up in the Settings > Models > Configure Providers > LiteLLM dialog.
The root cause was that the UI only displays configuration fields that are marked as
required: true, but LITELLM_API_KEY was incorrectly marked asrequired: false.Solution
Updated the LiteLLM provider metadata to mark LITELLM_API_KEY as required, consistent with how all other providers (OpenAI, Anthropic, Google, etc.) handle their API keys.
Test plan
cargo test test_litellm_metadata_api_key_requiredcargo fmtFixes #3953