-
-
Notifications
You must be signed in to change notification settings - Fork 4.8k
Open
Labels
bugSomething isn't workingSomething isn't working
Description
What happened?
Usage field server_tool_use is missing when using streaming.
For example when running the following code:
from litellm import completion
o = completion(
model="claude-sonnet-4-5-20250929",
messages=[
{"role": "user", "content": "What is the weather today in NYC?"},
],
web_search_options = {"search_context_size": "medium"}
)
print(o)usage metadata includes web_search_requets.
Usage(completion_tokens=326, prompt_tokens=9457, total_tokens=9783, completion_tokens_details=None, prompt_tokens_details=PromptTokensDetailsWrapper(audio_tokens=None, cached_tokens=0, text_tokens=None, image_tokens=None), server_tool_use=ServerToolUse(web_search_requests=1), cache_creation_input_tokens=0, cache_read_input_tokens=0)
But this is not the case when streaming is enabled, it only includes WebSearchResultBlock:
o = completion(
model="claude-sonnet-4-5-20250929",
messages=[
{"role": "user", "content": "What is the weather today in NYC?"},
],
web_search_options = {"search_context_size": "medium"},
stream=True,
stream_options={"include_usage": True}
)
for chunk in o: print(chunk)('usage', Usage(completion_tokens=287, prompt_tokens=9463, total_tokens=9750, completion_tokens_details=CompletionTokensDetailsWrapper(accepted_prediction_tokens=None, audio_tokens=None, reasoning_tokens=0, rejected_prediction_tokens=None, text_tokens=None), prompt_tokens_details=None)
Relevant log output
Are you a ML Ops Team?
No
What LiteLLM version are you on ?
1.76.0
Twitter / LinkedIn details
No response
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working