litellm - 💡(How to fix) Fix [Bug]: shorten_message_to_fit_limit grows content instead of trimming when half_length is 0 [1 pull requests]

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…

Error Message

AssertionError: Content grew: trimmed result is longer than original

Fix Action

Fixed

Code Example

AssertionError: Content grew: trimmed result is longer than original
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?

When the trimming ratio is aggressive enough that new_length < 2, half_length becomes 0. Python's -0 == 0 means content[-0:] == content[0:] == entire string. The trimmed result becomes "" + ".." + full_content — longer than the original on every iteration. The loop hits MAX_TOKEN_TRIMMING_ATTEMPTS without ever shrinking content, causing context_length_exceeded from the provider.

Expected behavior: content should always be shorter after trimming.

I have a fix ready and will submit a PR immediately after filing this issue.

Steps to Reproduce

  1. Install litellm: pip install litellm

  2. Run the following Python script:

from litellm.utils import shorten_message_to_fit_limit content = "hello " * 100 result = shorten_message_to_fit_limit(content, 1) assert len(result) < len(content), f"Content grew: {len(result)} > {len(content)}"

  1. Observe AssertionError — content was not trimmed

Relevant log output

AssertionError: Content grew: trimmed result is longer than original

What part of LiteLLM is this about?

SDK (litellm Python package)

What LiteLLM version are you on ?

v1.86.0

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]: shorten_message_to_fit_limit grows content instead of trimming when half_length is 0 [1 pull requests]