zed-industries/zed · error · LanguageModelCompletionError
ChatGPT subscription compaction returned no replacement cont
Error message
ChatGPT subscription compaction returned no replacement context
What it means
The compaction event stream completed without ever emitting a CompactionUpdate::Finished event, so there is no replacement context to swap in. The upstream ended the stream early (error, empty response, or only usage/intermediate events).
Source
Thrown at crates/openai_subscribed/src/openai_subscribed.rs:855
let mut usage = language_model::TokenUsage::default();
while let Some(event) = event_stream.next().await {
match event? {
LanguageModelCompletionEvent::Compaction(
language_model::CompactionUpdate::Finished(context),
) => {
if compacted_context.replace(context).is_some() {
return Err(LanguageModelCompletionError::Other(anyhow!(
"ChatGPT subscription compaction returned multiple replacement contexts"
)));
}
}
LanguageModelCompletionEvent::UsageUpdate(updated_usage) => {
usage = updated_usage;
}
_ => {}
}
}
let context = compacted_context.ok_or_else(|| {
LanguageModelCompletionError::Other(anyhow!(
"ChatGPT subscription compaction returned no replacement context"
))
})?;
Ok(CompactionResult { context, usage })
})
.boxed()
}
fn supported_effort_levels(&self) -> Vec<LanguageModelEffortLevel> {
let default_effort = self.model.default_reasoning_effort();
self.model
.supported_reasoning_efforts()
.iter()
.copied()
.filter_map(|effort| {View on GitHub (pinned to 5a9b9558db)
Solutions
- Retry the compaction request — truncated streams are often transient network failures
- Check that the conversation context is not empty or already below the compaction threshold
- If persistent, inspect the upstream response for errors surfaced before the stream ended
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at crates/openai_subscribed/src/openai_subscribed.rs:823 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of zed-industries/zed@5a9b9558db (2026-08-20).
Data as JSON: /api/errors/398ac5076e8c312f.
Report an issue: GitHub.