{"record":{"id":"130e58572c0512c8","repo":"nikivdev/code","slug":"no-deploy-task-found-add-deploy-web-or-deploy","errorCode":null,"errorMessage":"No deploy task found. Add 'deploy-web' or 'deploy' to flow.toml.","messagePattern":"No deploy task found\\. Add 'deploy-web' or 'deploy' to flow\\.toml\\.","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/deploy.rs","lineNumber":839,"sourceCode":"            hub_port: 9050,\n            name: \"deploy-web\".to_string(),\n            args: Vec::new(),\n        });\n    }\n\n    if tasks::find_task(&cfg, \"deploy\").is_some() {\n        eprintln!(\"WARN deploy-web task not found; running deploy.\");\n        return tasks::run(TaskRunOpts {\n            config: flow_path,\n            delegate_to_hub: false,\n            hub_host: std::net::IpAddr::from([127, 0, 0, 1]),\n            hub_port: 9050,\n            name: \"deploy\".to_string(),\n            args: Vec::new(),\n        });\n    }\n\n    bail!(\"No deploy task found. Add 'deploy-web' or 'deploy' to flow.toml.\");\n}\n\nfn resolve_deploy_root(\n    project_root: &Path,\n    config: Option<&Config>,\n) -> Result<(PathBuf, PathBuf, Config)> {\n    let Some(flow_path) = find_flow_toml_from(project_root) else {\n        bail!(\"flow.toml not found. Run from your repo root.\");\n    };\n\n    let root = flow_path.parent().unwrap_or(project_root).to_path_buf();\n    let cfg = if root == project_root {\n        match config {\n            Some(existing) => existing.clone(),\n            None => crate::config::load(&flow_path)?,\n        }\n    } else {\n        crate::config::load(&flow_path)?","sourceCodeStart":821,"sourceCodeEnd":857,"githubUrl":"https://github.com/nikivdev/code/blob/a747e741ae92c09071d0ae946ab48488adcff1ce/src/deploy.rs#L821-L857","documentation":"Error \"No deploy task found. Add 'deploy-web' or 'deploy' to flow.toml.\" thrown in nikivdev/code.","triggerScenarios":"Thrown at src/deploy.rs:839 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"a747e741ae92c09071d0ae946ab48488adcff1ce","analyzedAt":"2026-09-01T22:43:55.719Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}