warpdotdev/warp · error
Timed out refreshing workspace metadata
Error message
Timed out refreshing workspace metadata
What it means
`warp model list` first refreshes workspace metadata so LLM preferences are current, wrapping the refresh in WORKSPACE_METADATA_REFRESH_TIMEOUT. If the refresh future resolves to Err (timeout), the command reports this fatal error before listing any models.
Source
Thrown at app/src/ai/agent_sdk/model.rs:41
Ok(())
}
}
}
/// Singleton model for running async work as part of model CLI commands.
struct ModelCommandRunner;
impl ModelCommandRunner {
fn list(&self, global_options: GlobalOptions, ctx: &mut ModelContext<Self>) {
let output_format = global_options.output_format;
// Ensure workspace metadata is refreshed so LLM preferences are up-to-date.
let refresh_future = super::common::refresh_workspace_metadata(ctx);
ctx.spawn(refresh_future, move |_, refresh_result, ctx| {
if refresh_result.is_err() {
super::report_fatal_error(
anyhow::anyhow!("Timed out refreshing workspace metadata"),
ctx,
);
return;
}
let llm_prefs = LLMPreferences::as_ref(ctx);
let mut ids = BTreeSet::new();
for info in llm_prefs.get_base_llm_choices_for_agent_mode(ctx) {
ids.insert(info.id.to_string());
}
let items = ids
.into_iter()
.map(|id| ModelListItem { id })
.collect::<Vec<_>>();
output::print_list(items, output_format);
View on GitHub (pinned to e72fd7aacb)
Solutions
- Retry the command — transient slowness is the usual cause
- Check network/proxy access to the warp-server URL
- Confirm auth and server health with a lighter command such as `warp whoami`
- If persistent, report with timing details; the timeout is a code constant, not user-configurable
Defensive patterns
Strategy: retry
Try / catch
for i in 1 2 3; do
out=$(warp model list 2>&1) && { echo "$out"; exit 0; }
case "$out" in *'Timed out refreshing workspace metadata'*) wait $((i * 5));; *) echo "$out" >&2; exit 1;; esac
done
echo 'workspace metadata refresh kept timing out' >&2; exit 1 Prevention
- Warm the network path (VPN/proxy) before first CLI calls of a session
- Retry once before investigating — most occurrences are transient
- Correlate persistent timeouts with server status before bug reports
When it happens
Trigger: `warp model list` when the workspace-metadata request to warp-server exceeds its timeout: slow or blocked network, server-side latency, or a large workspace syncing for the first time after login.
Common situations: Flaky connections (VPN, tethering); warp-server under load; first-run sync of a big workspace; egress-filtered CI networks.
Understand the failure class
- Timeouts: ETIMEDOUT, deadlines, and hung requests — what actually expires when a request times out.
Related errors
- Timed out refreshing team metadata
- Timed out refreshing team metadata
- Failed to fetch images: {}
- Timed out waiting for Warp Drive to sync
- Failed to fetch images: {err}
AI-assisted analysis of warpdotdev/warp@e72fd7aacb (2026-08-16).
Data as JSON: /api/errors/2ef43f4675c42113.
Report an issue: GitHub.