---
title: "v1.88.4 - Proxy Exception & Guardrails Fixes"
url: "/release_notes/v1.88.4/v1-88-4"
canonical_url: "https://docs.litellm.ai/release_notes/v1.88.4/v1-88-4"
type: "release-notes"
last_updated: "2026-10-09"
related:
  - "/release_notes/v1.88.5/v1-88-5"
  - "/release_notes/v1.88.3/v1-88-3"
---
# v1.88.4 - Proxy Exception & Guardrails Fixes

> Index of all LiteLLM docs: https://docs.litellm.ai/llms.txt

## Deploy this version

**Docker**

```bash
docker run \
-e STORE_MODEL_IN_DB=True \
-p 4000:4000 \
docker.litellm.ai/berriai/litellm:1.88.4
```

**Pip**

```bash
pip install litellm==1.88.4
```

`v1.88.4` is a patch release on top of [`v1.88.3`](/release_notes/v1.88.3/v1-88-3). It restores readable `ProxyException` messages, returns 400 instead of 500 when AIM guardrails block a request, caps Anthropic cache-control injection, and corrects Datadog batch splitting and a chat-completions flag leak.

### What's Changed

- fix(proxy): populate Exception.args so str(ProxyException) returns message - [PR #29015](https://github.com/BerriAI/litellm/pull/29015)
- fix(datadog): split oversized batches on 413 instead of re-queueing forever - [PR #29444](https://github.com/BerriAI/litellm/pull/29444)
- fix: stop use_chat_completions_api flag from leaking into provider request body - [PR #29447](https://github.com/BerriAI/litellm/pull/29447)
- fix(integrations): cap Anthropic cache_control injection at 4 blocks - [PR #30480](https://github.com/BerriAI/litellm/pull/30480)
- fix(guardrails): return 400 not 500 when AIM blocks a request - [PR #30573](https://github.com/BerriAI/litellm/pull/30573)

## Full Changelog

https://github.com/BerriAI/litellm/compare/v1.88.3...v1.88.4

## Related pages

- [v1.88.5](https://docs.litellm.ai/release_notes/v1.88.5/v1-88-5.md)
- [v1.88.3](https://docs.litellm.ai/release_notes/v1.88.3/v1-88-3.md)
