litellm - 💡(How to fix) Fix [Bug]: vectorStores.retrieve/delete fail with model=None while vectorStores.create/files.* work [1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
BerriAI/litellm#28242Fetched 2026-05-20 03:40:37
View on GitHub
Comments
0
Participants
1
Timeline
3
Reactions
0
Author
Participants
Timeline (top)
labeled ×3

Error Message

09:59:12 - LiteLLM Proxy:ERROR: common_request_processing.py:1495 - litellm.proxy.proxy_server._handle_llm_api_exception(): Exception occured - 400: {'error': 'avector_store_delete: Invalid model name passed in model=None. Call /v1/models to view available models for your key.'} Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/litellm/proxy/vector_store_endpoints/endpoints.py", line 538, in vector_store_delete return await processor.base_process_llm_request( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<16 lines>... ) ^ File "/usr/lib/python3.13/site-packages/litellm/proxy/common_request_processing.py", line 979, in base_process_llm_request llm_call = await route_request( ^^^^^^^^^^^^^^^^^^^^ ...<4 lines>... ) ^ File "/usr/lib/python3.13/site-packages/litellm/proxy/route_llm_request.py", line 563, in route_request raise ProxyModelNotFoundError( ...<2 lines>... ) litellm.proxy.route_llm_request.ProxyModelNotFoundError: 400: {'error': 'avector_store_delete: Invalid model name passed in model=None. Call /v1/models to view available models for your key.'

Root Cause

Possible Root Cause

Code Example

model_list:
  - model_name: gpt-5.2
    litellm_params:
      model: openai/gpt-5.2
      api_key: os.environ/OPENAI_API_KEY

general_settings:
  master_key: os.environ/LITELLM_MASTER_KEY

---

const client = new OpenAI({
  apiKey: 'xxxxxxx',
  baseURL: 'http://localhost:4000/v1',
  defaultHeaders: { 'x-litellm-model': 'gpt-5.2' },
  defaultQuery: {  model: 'gpt-5.2' },
});

---

return await processor.base_process_llm_request(
    ...
    route_type="avector_store_retrieve",
    model=None,
    ...
)

---

const vs = await client.vectorStores.create({
  name: 'test-all-functions',
  expires_after: {
    anchor: 'last_active_at',
    days: 1,
  },
});

---

await client.vectorStores.retrieve(vs.id);

---

await client.vectorStores.delete(vs.id);

---

09:59:12 - LiteLLM Proxy:ERROR: common_request_processing.py:1495 - litellm.proxy.proxy_server._handle_llm_api_exception(): Exception occured - 400: {'error': 'avector_store_delete: Invalid model name passed in model=None. Call `/v1/models` to view available models for your key.'}
Traceback (most recent call last):
  File "/usr/lib/python3.13/site-packages/litellm/proxy/vector_store_endpoints/endpoints.py", line 538, in vector_store_delete
    return await processor.base_process_llm_request(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<16 lines>...
    )
    ^
  File "/usr/lib/python3.13/site-packages/litellm/proxy/common_request_processing.py", line 979, in base_process_llm_request
    llm_call = await route_request(
               ^^^^^^^^^^^^^^^^^^^^
    ...<4 lines>...
    )
    ^
  File "/usr/lib/python3.13/site-packages/litellm/proxy/route_llm_request.py", line 563, in route_request
    raise ProxyModelNotFoundError(
    ...<2 lines>...
    )
litellm.proxy.route_llm_request.ProxyModelNotFoundError: 400: {'error': 'avector_store_delete: Invalid model name passed in model=None. Call `/v1/models` to view available models for your key.'
RAW_BUFFERClick to expand / collapse

Check for existing issues

  • I have searched the existing issues and checked that my issue is not a duplicate.

What happened?

Summary

vectorStores.retrieve() and vectorStores.delete() fail on the LiteLLM proxy with: Invalid model name passed in model=None

While other vector store operations work correctly:

  • vectorStores.create
  • vectorStores.files.create
  • vectorStores.files.poll
  • vectorStores.files.list

Environment

  • LiteLLM Docker latest
  • OpenAI provider
  • OpenAI Node SDK
  • LiteLLM used as an OpenAI-compatible proxy
  • LiteLLM Configuration
model_list:
  - model_name: gpt-5.2
    litellm_params:
      model: openai/gpt-5.2
      api_key: os.environ/OPENAI_API_KEY

general_settings:
  master_key: os.environ/LITELLM_MASTER_KEY
  • OpenAI Client Configuration
const client = new OpenAI({
  apiKey: 'xxxxxxx',
  baseURL: 'http://localhost:4000/v1',
  defaultHeaders: { 'x-litellm-model': 'gpt-5.2' },
  defaultQuery: {  model: 'gpt-5.2' },
});

Investigation

From investigating the LiteLLM codebase, it looks like the retrieve/delete routes directly call:

return await processor.base_process_llm_request(
    ...
    route_type="avector_store_retrieve",
    model=None,
    ...
)

inside vector_store_retrieve(...) and vector_store_delete(...) This appears to bypass model routing resolution entirely.

Possible Root Cause

This may explain why routing fails for plain OpenAI vector store IDs: vs_xxxxx while LiteLLM file operations work correctly because LiteLLM file IDs preserve routing metadata internally. Example LiteLLM file ID payload: litellm:file-xxx;model,gpt-5.2 Vector store IDs do not appear to preserve equivalent routing metadata, so retrieve/delete eventually route with: model=None

Steps to Reproduce

  1. Start LiteLLM proxy with an OpenAI model configured.
  2. Create a vector store:
const vs = await client.vectorStores.create({
  name: 'test-all-functions',
  expires_after: {
    anchor: 'last_active_at',
    days: 1,
  },
});
  1. Retrieve the vector store:
await client.vectorStores.retrieve(vs.id);
  1. Observe the failure: Invalid model name passed in model=None
  2. Delete the vector store:
await client.vectorStores.delete(vs.id);
  1. Observe the same failure.

Relevant log output

09:59:12 - LiteLLM Proxy:ERROR: common_request_processing.py:1495 - litellm.proxy.proxy_server._handle_llm_api_exception(): Exception occured - 400: {'error': 'avector_store_delete: Invalid model name passed in model=None. Call `/v1/models` to view available models for your key.'}
Traceback (most recent call last):
  File "/usr/lib/python3.13/site-packages/litellm/proxy/vector_store_endpoints/endpoints.py", line 538, in vector_store_delete
    return await processor.base_process_llm_request(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<16 lines>...
    )
    ^
  File "/usr/lib/python3.13/site-packages/litellm/proxy/common_request_processing.py", line 979, in base_process_llm_request
    llm_call = await route_request(
               ^^^^^^^^^^^^^^^^^^^^
    ...<4 lines>...
    )
    ^
  File "/usr/lib/python3.13/site-packages/litellm/proxy/route_llm_request.py", line 563, in route_request
    raise ProxyModelNotFoundError(
    ...<2 lines>...
    )
litellm.proxy.route_llm_request.ProxyModelNotFoundError: 400: {'error': 'avector_store_delete: Invalid model name passed in model=None. Call `/v1/models` to view available models for your key.'

What part of LiteLLM is this about?

Proxy

What LiteLLM version are you on ?

1.82.6

Twitter / LinkedIn details

No response

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

litellm - 💡(How to fix) Fix [Bug]: vectorStores.retrieve/delete fail with model=None while vectorStores.create/files.* work [1 participants]