Kuberwastaken/claurst · error
team memory pull failed with status
Error message
team memory pull failed with status {} What it means
The team-memory pull GET (with ETag/bearer auth against the sync API) returned a non-success status other than the handled 404-no-data case — the formatted status is the server's answer, typically 5xx, rate limiting, or auth rejection. The pull aborts; local memory files stay as-is.
Solutions
- Retry the pull later; transient server errors resolve on their own
- If 401/403, refresh the sync token and pull again
- Check the repo name and API base are correct for the team workspace
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at src-rust/crates/core/src/team_memory_sync.rs:161 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of Kuberwastaken/claurst@b0637c97ec (2026-09-10).
Data as JSON: /api/errors/77a647fd5217e4d7.
Report an issue: GitHub.
Appendix: source
Thrown at src-rust/crates/core/src/team_memory_sync.rs:161
self.api_base,
urlencoding::encode(&self.repo),
);
let response = client
.get(&url)
.bearer_auth(&self.token)
.send()
.await
.context("team memory pull: HTTP request failed")?;
let http_status = response.status();
if http_status.as_u16() == 404 {
return Ok(()); // No remote data yet
}
if !http_status.is_success() {
anyhow::bail!("team memory pull failed with status {}", http_status);
}
// Capture ETag before consuming the response body
if let Some(etag) = response
.headers()
.get("etag")
.and_then(|v| v.to_str().ok())
{
state.last_known_etag = Some(etag.to_string());
}
let data: TeamMemoryData = response
.json()
.await
.context("team memory pull: failed to parse response JSON")?;
state.server_checksums.clear();
View on GitHub (pinned to b0637c97ec)