{"record":{"id":"283793a81dd438a8","repo":"warpdotdev/warp","slug":"timed-out-waiting-for-warp-drive-to-sync-283793","errorCode":null,"errorMessage":"Timed out waiting for Warp Drive to sync","messagePattern":"Timed out waiting for Warp Drive to sync","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"app/src/ai/agent_sdk/environment.rs","lineNumber":195,"sourceCode":"                ListWarpDevImagesResult::UserFacingError(_) | ListWarpDevImagesResult::Unknown => {\n                    super::report_fatal_error(anyhow::anyhow!(\"Failed to fetch images\"), ctx);\n                }\n            },\n            Err(err) => {\n                super::report_fatal_error(anyhow::anyhow!(\"Failed to fetch images: {}\", err), ctx);\n            }\n        });\n    }\n\n    fn list(&self, global_options: GlobalOptions, ctx: &mut ModelContext<Self>) {\n        let initial_sync = UpdateManager::as_ref(ctx)\n            .initial_load_complete()\n            .with_timeout(WARP_DRIVE_SYNC_TIMEOUT);\n\n        ctx.spawn(initial_sync, move |_, result, ctx| {\n            if result.is_err() {\n                super::report_fatal_error(\n                    anyhow::anyhow!(\"Timed out waiting for Warp Drive to sync\"),\n                    ctx,\n                );\n                return;\n            }\n\n            let environments = CloudAmbientAgentEnvironment::get_all(ctx);\n\n            let environment_infos: Vec<_> = environments\n                .iter()\n                .map(|environment| {\n                    let name = environment.model().string_model.name.clone();\n                    let description = environment.model().string_model.description.clone();\n                    let base_image = environment.model().string_model.base_image.clone();\n                    let github_repos = environment.model().string_model.github_repos.clone();\n                    let setup_commands = environment.model().string_model.setup_commands.clone();\n\n                    let creator_email = environment\n                        .metadata()","sourceCodeStart":177,"sourceCodeEnd":213,"githubUrl":"https://github.com/warpdotdev/warp/blob/e72fd7aacbbb2236d9b3be2aad7e7178fe94b4bc/app/src/ai/agent_sdk/environment.rs#L177-L213","documentation":"Reported by report_fatal_error when the initial Warp Drive sync future (UpdateManager::initial_load_complete().with_timeout(WARP_DRIVE_SYNC_TIMEOUT)) resolves to Err before `warp environment list` reads CloudAmbientAgentEnvironment::get_all. The timeout is 60 seconds (WARP_DRIVE_SYNC_TIMEOUT, driver.rs:172). Environments are cloud objects replicated through Warp Drive, so the command refuses to list from a possibly incomplete local cache.","triggerScenarios":"Running `warp environment list` when the first Warp Drive sync has not completed within 60s — slow network, server unreachable, not logged in (sync never starts), or a stalled sync after process resume.","commonSituations":"First run of the CLI on a new machine before initial cloud-object load finishes; constrained/offline networks; expired login credentials so the sync never progresses; a large Drive taking over a minute on slow links; local warp-server that is down.","solutions":["Verify you are logged in and have network access, then retry the command","Retry once after a minute — slow first sync is the most common cause","Check that the configured server endpoint is reachable (SERVER_ROOT_URL for local-server setups)","If it reproduces consistently, inspect logs for Warp Drive sync errors (auth failures, WebSocket issues) and re-login","File an issue if sync is permanently stuck while other Drive features work"],"exampleFix":null,"handlingStrategy":"retry","validationCode":"// Warm the Drive before listing: run a trivial authenticated call and wait,\n// or simply retry `warp environment list` once after ~60s on first run.","typeGuard":null,"tryCatchPattern":"if result.is_err() {\n    // sync gate failed: distinguish timeout (retry later) from auth failure (re-login)\n    super::report_fatal_error(anyhow::anyhow!(\"Timed out waiting for Warp Drive to sync\"), ctx);\n}","preventionTips":["Log in and let the first Drive sync finish (verify with any cloud list command) before scripting lists","Keep the machine online during the first minute after launch","Re-login when cloud commands start timing out — expired credentials stall sync","Retry once before investigating; 60s first-sync overruns are common on slow links"],"tags":["rust","warp-drive","sync","timeout","network"],"backgroundTag":null,"analyzedSha":"e72fd7aacbbb2236d9b3be2aad7e7178fe94b4bc","analyzedAt":"2026-08-16T08:27:25.381Z","schemaVersion":2},"datasetVersion":"2026-08-16T13:17:31.715Z"}