Skip to content

feat: litellm-master-key - #378

Merged
yxtay merged 2 commits into
mainfrom
feat/litellm-master-key
Jul 29, 2026
Merged

feat: litellm-master-key#378
yxtay merged 2 commits into
mainfrom
feat/litellm-master-key

Conversation

@yxtay

@yxtay yxtay commented Jul 29, 2026

Copy link
Copy Markdown
Owner

Summary by CodeRabbit

  • Configuration
    • Added a sample LiteLLM master key and salt key to the environment configuration template.
    • Expanded fallback options for reasoning, complex, and medium requests to improve routing resilience.

@coderabbitai

coderabbitai Bot commented Jul 29, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@yxtay, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 50 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 5da55bcb-2eaf-4a76-9895-aaf3f52c15b2

📥 Commits

Reviewing files that changed from the base of the PR and between a5f84d5 and c9f3783.

📒 Files selected for processing (1)
  • agent/litellm/config.yaml
📝 Walkthrough

Walkthrough

LiteLLM configuration examples now include sample key values, and router fallback mappings support ordered lists of fallback candidates across reasoning tiers.

Changes

LiteLLM Configuration

Layer / File(s) Summary
LiteLLM environment key examples
agent/.env.example
Adds a sample LITELLM_MASTER_KEY value and a new LITELLM_SALT_KEY entry while retaining the key-generation comment.
Ordered fallback routing
agent/litellm/config.yaml
Changes reasoning, complex, and medium fallback mappings from single targets to ordered candidate lists.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Possibly related PRs

Poem

A rabbit hops through keys so bright,
Salt and master tucked in sight.
Fallback paths now gently flow,
From reasoning down below.
Three neat steps, then off I go! 🐇

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title is concise and matches a real part of the changeset by highlighting the LiteLLM master key update.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/litellm-master-key

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Jul 29, 2026

Copy link
Copy Markdown

MegaLinter analysis: Success

Descriptor Linter Files Fixed Errors Warnings Elapsed time
✅ BASH shfmt 11 0 0 0 0.02s
✅ JSON prettier 1 0 0 0 0.32s
✅ MARKDOWN markdownlint 5 0 0 0 0.54s
✅ MARKDOWN markdown-table-formatter 5 0 0 0 0.15s
✅ TERRAFORM terraform-fmt 7 0 0 0 0.3s
✅ YAML prettier 49 0 0 0 0.83s

Notices

📣 MegaLinter 9.5.0 is out! Discover the new features and security recommendations in the release announcement. (Skip this info by defining SECURITY_SUGGESTIONS: false)

See detailed reports in MegaLinter artifacts

Your project could benefit from a custom flavor, which would allow you to run only the linters you need, and thus improve runtime performances. (Skip this info by defining FLAVOR_SUGGESTIONS: false)

  • Documentation: Custom Flavors
  • Command: npx mega-linter-runner@9.6.0 --custom-flavor-setup --custom-flavor-linters BASH_SHFMT,JSON_PRETTIER,MARKDOWN_MARKDOWNLINT,MARKDOWN_MARKDOWN_TABLE_FORMATTER,TERRAFORM_TERRAFORM_FMT,YAML_PRETTIER

MegaLinter is graciously provided by OX Security
Show us your support by starring ⭐ the repository

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@agent/.env.example`:
- Around line 19-21: Update the LITELLM_MASTER_KEY example in the environment
template to be empty or a clearly non-credential placeholder, and document that
each deployment must provide its own generated value. Keep the existing
LITELLM_SALT_KEY guidance unchanged.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 02f03cf4-f74e-4e34-a07a-b4dea4e6da24

📥 Commits

Reviewing files that changed from the base of the PR and between 6e2f445 and a5f84d5.

📒 Files selected for processing (2)
  • agent/.env.example
  • agent/litellm/config.yaml

Comment thread agent/.env.example
Comment on lines +19 to +21
LITELLM_MASTER_KEY=sk-litellm-master-key
# generate using `openssl rand -hex 32`
LITELLM_MASTER_KEY=
LITELLM_SALT_KEY=

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔒 Security & Privacy | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== candidate files =="
git ls-files | rg '(^|/)(\.env\.example|compose\.ya?ml)$' || true

echo
echo "== agent/.env.example =="
if [ -f agent/.env.example ]; then
  nl -ba agent/.env.example | sed -n '1,80p'
fi

echo
echo "== agent compose references =="
if [ -f agent/compose.yaml ]; then
  nl -ba agent/compose.yaml | sed -n '1,220p'
elif [ -f agent/docker-compose.yml ]; then
  nl -ba agent/docker-compose.yml | sed -n '1,220p'
elif [ -f agent/docker-compose.yaml ]; then
  nl -ba agent/docker-compose.yaml | sed -n '1,220p'
else
  fd -i 'compose.*ya?ml' agent -x sh -c 'echo "--- $1"; nl -ba "$1" | sed -n "1,220p"' sh {}
fi

echo
echo "== LITELLM_MASTER_KEY / LITELLM_SALT_KEY usages =="
rg -n -H 'LITELLM_(MASTER_|SALT_)KEY|master_key|salt' . --glob '!node_modules' --glob '!dist' --glob '!build' | sed -n '1,200p'

Repository: yxtay/docker-stacks

Length of output: 847


🌐 Web query:

LiteLLM master_key setting documentation

💡 Result:

The master_key in LiteLLM is the proxy's administrative credential [1][2][3]. It is used to authenticate admin API calls, serve as the password for the Admin UI, and manage virtual keys [4][2][5][3]. Configuration You can set the master key using either an environment variable or the configuration file [4][2]: 1. Environment Variable: Set the LITELLM_MASTER_KEY variable (must start with sk-) [4][5][3]. 2. Config File: Specify it under general_settings: master_key in your config.yaml [4][6]. If both are set, the value in the config file takes precedence [2]. Important Considerations - Security: The master key bypasses standard model-level checks and gives access to every model on the proxy [1]. It should be treated as a highly sensitive operator credential [1]. - Encryption: In some deployments, if a separate LITELLM_SALT_KEY is not configured, the master key is also used to encrypt sensitive data (such as API keys and credentials) at rest in the database [2]. If the master key is used for this purpose, rotating it requires a specific re-encryption process to prevent losing access to stored credentials [2]. - Best Practices: It is recommended to keep the key in a secure secret manager and follow the official master key rotation documentation when updating it [2][3].

Citations:


🏁 Script executed:

#!/bin/bash
set -euo pipefail

sed -n '1,120p' agent/.env.example
echo
sed -n '1,220p' agent/compose.yaml
echo
printf '\nLITELLM usages in agent:\n'
rg -n -H 'LITELLM_(MASTER_|SALT_)KEY|master_key|salt' agent --glob '!node_modules' --glob '!dist' --glob '!build' || true

Repository: yxtay/docker-stacks

Length of output: 6002


🌐 Web query:

LiteLLM v1.94.0 environment variables LITELLM_MASTER_KEY configured

💡 Result:

In LiteLLM, the LITELLM_MASTER_KEY environment variable serves as the primary administrative key for the LiteLLM Proxy [1][2][3]. It grants full admin access, allowing you to perform operations such as creating, blocking, or unblocking virtual keys [1][3][4]. Key details regarding the LITELLM_MASTER_KEY: Configuration and Precedence - Environment Variable: You can set the master key directly via the environment variable LITELLM_MASTER_KEY (e.g., export LITELLM_MASTER_KEY="sk-...") [2][3]. - Configuration File: You can also specify the master key in your config.yaml file under the general_settings section using master_key: <key> or master_key: os.environ/LITELLM_MASTER_KEY [1][3]. - Precedence: If both are configured, the value defined in general_settings.master_key in the config.yaml file generally takes precedence over the environment variable [5]. Operational Usage - Authentication: The master key is used to authenticate requests to administrative endpoints, such as the key management APIs (/key/generate, /key/block, /key/unblock) [1][4]. It is passed in the Authorization header as a Bearer token: Authorization: Bearer LITELLM_MASTER_KEY [1]. - Admin UI: The master key acts as the password for the Admin UI when accessing the proxy [6]. - Security Best Practices: It is highly recommended to use a strong, unique key starting with sk- [1][3]. Always avoid hardcoding the key in configuration files; use environment variables or secret management systems (e.g., AWS Secret Manager) instead [3][7]. - Versioning Note: LiteLLM v1.94.0 includes updates to proxy behavior, including fixes related to master key routing and startup initialization, ensuring that the master key configuration is preserved correctly during the proxy's lifecycle [8][9].

Citations:


Do not commit the default LiteLLM master key.

agent/compose.yaml loads .env into the LiteLLM service, and LITELLM_MASTER_KEY is the admin/proxy credential. Copying this example unchanged can deploy the shared placeholder sk-litellm-master-key; leave it empty or a non-credential placeholder and require generated per-deployment values.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@agent/.env.example` around lines 19 - 21, Update the LITELLM_MASTER_KEY
example in the environment template to be empty or a clearly non-credential
placeholder, and document that each deployment must provide its own generated
value. Keep the existing LITELLM_SALT_KEY guidance unchanged.

@github-actions

github-actions Bot commented Jul 29, 2026

Copy link
Copy Markdown

MegaLinter analysis: Success

Descriptor Linter Files Fixed Errors Warnings Elapsed time
✅ BASH bash-exec 11 0 0 0.03s
✅ BASH shellcheck 11 0 0 0.16s
✅ REPOSITORY betterleaks yes no no 1.6s
✅ REPOSITORY checkov yes no no 25.66s
✅ REPOSITORY dustilock yes no no 0.02s
✅ REPOSITORY gitleaks yes no no 0.7s
✅ REPOSITORY grype yes no no 64.6s
✅ REPOSITORY kingfisher yes no no 12.67s
✅ REPOSITORY osv-scanner yes no no 0.39s
✅ REPOSITORY secretlint yes no no 1.76s
✅ REPOSITORY syft yes no no 1.67s
✅ REPOSITORY trivy yes no no 12.99s
✅ REPOSITORY trivy-sbom yes no no 0.16s
✅ REPOSITORY trufflehog yes no no 3.93s
✅ TERRAFORM tflint yes no no 9.57s

Notices

📣 MegaLinter 9.5.0 is out! Discover the new features and security recommendations in the release announcement. (Skip this info by defining SECURITY_SUGGESTIONS: false)

See detailed reports in MegaLinter artifacts

Your project could benefit from a custom flavor, which would allow you to run only the linters you need, and thus improve runtime performances. (Skip this info by defining FLAVOR_SUGGESTIONS: false)

  • Documentation: Custom Flavors
  • Command: npx mega-linter-runner@9.6.0 --custom-flavor-setup --custom-flavor-linters BASH_EXEC,BASH_SHELLCHECK,REPOSITORY_CHECKOV,REPOSITORY_DUSTILOCK,REPOSITORY_GITLEAKS,REPOSITORY_BETTERLEAKS,REPOSITORY_GRYPE,REPOSITORY_OSV_SCANNER,REPOSITORY_SECRETLINT,REPOSITORY_SYFT,REPOSITORY_TRIVY,REPOSITORY_TRIVY_SBOM,REPOSITORY_TRUFFLEHOG,REPOSITORY_KINGFISHER,TERRAFORM_TFLINT

MegaLinter is graciously provided by OX Security
Show us your support by starring ⭐ the repository

@github-actions

github-actions Bot commented Jul 29, 2026

Copy link
Copy Markdown

⚠️MegaLinter analysis: Success with warnings

Descriptor Linter Files Fixed Errors Warnings Elapsed time
✅ ACTION actionlint 4 0 0 0.23s
✅ ACTION zizmor 4 0 0 0 0.29s
✅ BASH bash-exec 11 0 0 0.03s
✅ BASH shellcheck 11 0 0 0.16s
✅ BASH shfmt 11 0 0 0 0.02s
⚠️ COPYPASTE jscpd yes 1 no 0.1s
✅ EDITORCONFIG editorconfig-checker 107 0 0 0.17s
✅ JSON prettier 1 0 0 0 0.21s
✅ JSON v8r 1 0 0 1.72s
✅ MARKDOWN markdownlint 5 0 0 0 0.81s
✅ MARKDOWN markdown-table-formatter 5 0 0 0 0.16s
✅ REPOSITORY betterleaks yes no no 1.5s
✅ REPOSITORY checkov yes no no 27.08s
✅ REPOSITORY gitleaks yes no no 0.62s
✅ REPOSITORY git_diff yes no no 0.01s
✅ REPOSITORY grype yes no no 65.05s
✅ REPOSITORY osv-scanner yes no no 0.23s
✅ REPOSITORY secretlint yes no no 1.26s
✅ REPOSITORY syft yes no no 2.03s
✅ REPOSITORY trivy yes no no 11.5s
✅ REPOSITORY trivy-sbom yes no no 0.28s
✅ REPOSITORY trufflehog yes no no 6.59s
⚠️ SPELL lychee 56 41 0 1.72s
✅ YAML prettier 49 0 0 0 1.09s
✅ YAML v8r 49 0 0 17.73s
✅ YAML yamllint 49 0 0 1.18s

Detailed Issues

⚠️ COPYPASTE / jscpd - 1 error
Using config from /action/lib/.automation/.jscpd.json
Clone found (bash)
 - bin/oci-rm-stack-create.sh [32:1 - 40:5] (9 lines, 51 tokens)
   bin/oci-rm-stack-update.sh [12:1 - 20:5]
┌────────┬────────────────┬─────────────┬──────────────┬──────────────┬──────────────────┬───────────────────┐
│ Format │ Files analyzed │ Total lines │ Total tokens │ Clones found │ Duplicated lines │ Duplicated tokens │
├────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ bash   │ 7              │ 214         │ 1120         │ 1            │ 8 (3.74%)        │ 51 (4.55%)        │
├────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ hcl    │ 4              │ 382         │ 1407         │ 0            │ 0 (0.00%)        │ 0 (0.00%)         │
├────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ txt    │ 1              │ 29          │ 379          │ 0            │ 0 (0.00%)        │ 0 (0.00%)         │
├────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ Total: │ 12             │ 625         │ 2906         │ 1            │ 8 (1.28%)        │ 51 (1.75%)        │
└────────┴────────────────┴─────────────┴──────────────┴──────────────┴──────────────────┴───────────────────┘
Found 1 clones.
HTML report saved to megalinter-reports/copy-paste/jscpd-report.html
ERROR: jscpd found too many duplicates (1.3%) over threshold (0.0%)
time: 28.097ms
⚠️ SPELL / lychee - 41 errors
📝 Summary
---------------------
🔍 Total...........68
🔗 Unique..........58
✅ Successful......20
⏳ Timeouts.........0
🔀 Redirected.......0
👻 Excluded.........0
❓ Unknown..........0
🚫 Errors..........41
⛔ Unsupported.....41

Errors in agent/compose.yaml
[ERROR] http://localhost:2375/_ping (at 89:32) | Connection refused - server may be down or port blocked
[ERROR] http://localhost:4000/health/liveliness (at 129:70) | Connection refused - server may be down or port blocked
[ERROR] http://localhost:9119/api/status (at 41:33) | Connection refused - server may be down or port blocked
[ERROR] https://hermes/ (at 12:67) | Connection failed. Check network connectivity and firewall settings

Errors in agent/litellm/config.yaml
[ERROR] http://headroom:8787/ (at 119:19) | Connection failed. Check network connectivity and firewall settings
[404] https://inference-api.nousresearch.com/v1 (at 99:17) | Rejected status code: 404 Not Found
[404] https://opencode.ai/zen/go/v1 (at 111:17) | Rejected status code: 404 Not Found
[404] https://opencode.ai/zen/v1 (at 105:17) | Rejected status code: 404 Not Found

Errors in arcane/compose.yaml
[ERROR] http://localhost:3552/ (at 6:27) | Connection refused - server may be down or port blocked

Errors in homeassistant/compose.yaml
[ERROR] http://localhost:10000/health (at 146:33) | Connection refused - server may be down or port blocked
[ERROR] http://localhost:6052/version (at 105:33) | Connection refused - server may be down or port blocked
[ERROR] http://localhost:8095/ (at 66:32) | Connection refused - server may be down or port blocked
[ERROR] http://localhost:8123/ (at 27:33) | Connection refused - server may be down or port blocked

Errors in immich/compose.yaml
[ERROR] http://localhost:8080/ (at 160:32) | Connection refused - server may be down or port blocked

Errors in infra/compose.yaml
[ERROR] http://localhost:2375/_ping (at 60:32) | Connection refused - server may be down or port blocked
[ERROR] http://localhost:9002/healthz (at 95:36) | Connection refused - server may be down or port blocked

Errors in monitoring/compose.yaml
[ERROR] http://localhost:8090/ (at 73:44) | Connection refused - server may be down or port blocked
[ERROR] http://localhost:8090/ (at 94:27) | Connection refused - server may be down or port blocked

Errors in pangolin/compose.yaml
[ERROR] http://gerbil:3004/ (at 63:23) | Connection failed. Check network connectivity and firewall settings
[ERROR] http://localhost/ping (at 121:32) | Connection refused - server may be down or port blocked
[ERROR] http://localhost:3001/api/v1/ (at 51:33) | Connection refused - server may be down or port blocked
[ERROR] http://localhost:3004/healthz (at 87:32) | Connection refused - server may be down or port blocked
[ERROR] http://pangolin:3001/api/v1/ (at 65:24) | Connection failed. Check network connectivity and firewall settings

Errors in pangolin/traefik/dynamic/config.yml
[ERROR] http://pangolin:3000/ (at 80:18) | Connection failed. Check network connectivity and firewall settings
[ERROR] http://pangolin:3002/ (at 85:18) | Connection failed. Check network connectivity and firewall settings

Errors in pangolin/traefik/traefik.template.yml
[ERROR] http://pangolin:3001/api/v1/traefik-config (at 7:15) | Connection failed. Check network connectivity and firewall settings

Errors in proxy/compose.yaml
[ERROR] http://localhost/healthz (at 36:32) | Connection refused - server may be down or port blocked
[ERROR] https://tinyauth/ (at 50:24) | Connection failed. Check network connectivity and firewall settings

Errors in security/compose.yaml
[ERROR] http://localhost:8080/ (at 52:16) | Connection refused - server may be down or port blocked
[ERROR] http://localhost:8080/health (at 34:32) | Connection refused - server may be down or port blocked

Errors in torrent/compose.yaml
[ERROR] http://localhost:6868/ (at 220:33) | Connection refused - server may be down or port blocked
[ERROR] http://localhost:7878/ping (at 140:33) | Connection refused - server may be down or port blocked
[ERROR] http://localhost:8191/health (at 16:33) | Connection refused - server may be down or port blocked
[ERROR] http://localhost:8989/ping (at 182:33) | Connection refused - server may be down or port blocked
[ERROR] http://localhost:9696/ping (at 45:33) | Connection refused - server may be down or port blocked
[ERROR] https://profilarr/ (at 205:15) | Connection failed. Check network connectivity and firewall settings

Errors in usenet/compose.yaml
[ERROR] http://127.0.0.1:7000/ (at 83:32) | Connection refused - server may be down or port blocked
[ERROR] http://localhost:1337/ (at 288:32) | Connection refused - server may be down or port blocked
[ERROR] http://localhost:3000/health (at 26:32) | Connection refused - server may be down or port blocked
[ERROR] http://localhost:7000/health (at 134:32) | Connection refused - server may be down or port blocked
[ERROR] https://aiostreams/ (at 232:18) | Connection failed. Check network connectivity and firewall settings

Hint: You can configure accepted/rejected response codes with `-a` or `--accept`

Notices

📣 MegaLinter 9.5.0 is out! Discover the new features and security recommendations in the release announcement. (Skip this info by defining SECURITY_SUGGESTIONS: false)

See detailed reports in MegaLinter artifacts

Your project could benefit from a custom flavor, which would allow you to run only the linters you need, and thus improve runtime performances. (Skip this info by defining FLAVOR_SUGGESTIONS: false)

  • Documentation: Custom Flavors
  • Command: npx mega-linter-runner@9.6.0 --custom-flavor-setup --custom-flavor-linters ACTION_ACTIONLINT,ACTION_ZIZMOR,BASH_EXEC,BASH_SHELLCHECK,BASH_SHFMT,COPYPASTE_JSCPD,EDITORCONFIG_EDITORCONFIG_CHECKER,JSON_V8R,JSON_PRETTIER,MARKDOWN_MARKDOWNLINT,MARKDOWN_MARKDOWN_TABLE_FORMATTER,REPOSITORY_CHECKOV,REPOSITORY_GIT_DIFF,REPOSITORY_GITLEAKS,REPOSITORY_BETTERLEAKS,REPOSITORY_GRYPE,REPOSITORY_OSV_SCANNER,REPOSITORY_SECRETLINT,REPOSITORY_SYFT,REPOSITORY_TRIVY,REPOSITORY_TRIVY_SBOM,REPOSITORY_TRUFFLEHOG,SPELL_LYCHEE,YAML_PRETTIER,YAML_YAMLLINT,YAML_V8R

MegaLinter is graciously provided by OX Security
Show us your support by starring ⭐ the repository

@github-actions github-actions Bot added size/S and removed size/XS labels Jul 29, 2026
@yxtay
yxtay merged commit d1e9bd2 into main Jul 29, 2026
30 checks passed
@yxtay
yxtay deleted the feat/litellm-master-key branch July 29, 2026 06:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant