{"record":{"id":"67cf3811e6d5b12f","repo":"nikivdev/code","slug":"eval-is-only-supported-for-codex-sessions-use-f","errorCode":null,"errorMessage":"eval is only supported for Codex sessions; use `f codex eval`","messagePattern":"eval is only supported for Codex sessions; use `f codex eval`","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/ai.rs","lineNumber":573,"sourceCode":"                count,\n                path,\n            }) => copy_context(session, Provider::Cursor, count, path)?,\n            Some(ProviderAiAction::Show {\n                session,\n                path,\n                count,\n                full,\n            }) => show_session(session, Provider::Cursor, count, path, full)?,\n            Some(ProviderAiAction::Runtime { .. }) => {\n                bail!(\n                    \"runtime helpers are only supported for Codex sessions; use `f codex runtime ...`\"\n                );\n            }\n            Some(ProviderAiAction::Doctor { .. }) => {\n                bail!(\"doctor is only supported for Codex sessions; use `f codex doctor`\");\n            }\n            Some(ProviderAiAction::Eval { .. }) => {\n                bail!(\"eval is only supported for Codex sessions; use `f codex eval`\");\n            }\n            Some(ProviderAiAction::TouchLaunch { .. }) => {\n                bail!(\n                    \"touch-launch is only supported for Codex sessions; use `f codex touch-launch`\"\n                );\n            }\n            Some(ProviderAiAction::EnableGlobal { .. }) => {\n                bail!(\n                    \"global Codex enablement is only supported for Codex sessions; use `f codex enable-global`\"\n                );\n            }\n            Some(ProviderAiAction::Daemon { .. }) => {\n                bail!(\"daemon is only supported for Codex sessions; use `f codex daemon ...`\");\n            }\n            Some(ProviderAiAction::Memory { .. }) => {\n                bail!(\"memory is only supported for Codex sessions; use `f codex memory ...`\");\n            }\n            Some(ProviderAiAction::Telemetry { .. }) => {","sourceCodeStart":555,"sourceCodeEnd":591,"githubUrl":"https://github.com/nikivdev/code/blob/a747e741ae92c09071d0ae946ab48488adcff1ce/src/ai.rs#L555-L591","documentation":"The Eval action (running evaluations) is Codex-only. When dispatched with Provider::Cursor, run_provider bails with this message pointing to `f codex eval`.","triggerScenarios":"Running `f cursor eval ...` with any eval arguments.","commonSituations":"Attempt to run prompt evaluations against Cursor sessions; benchmark scripts iterating over providers assuming eval exists everywhere.","solutions":["Use `f codex eval ...` for evaluations","Skip Cursor in eval automation loops or gate on provider capability","Check `f cursor --help` for the supported Cursor subcommand list"],"exampleFix":"// before\n$ f cursor eval suite.yaml\n// error: eval is only supported for Codex sessions\n// after\n$ f codex eval suite.yaml","handlingStrategy":"validation","validationCode":"fn assert_codex_for_eval(provider: &Provider) -> Result<()> {\n    if *provider != Provider::Codex {\n        bail!(\"eval requires the codex provider\");\n    }\n    Ok(())\n}","typeGuard":"fn supports_eval(p: &Provider) -> bool { matches!(p, Provider::Codex) }","tryCatchPattern":"if let Err(e) = run_provider(Provider::Cursor, Some(ProviderAiAction::Eval { .. })) {\n    if e.to_string().contains(\"eval is only supported\") {\n        eprintln!(\"use: f codex eval ...\");\n    }\n}","preventionTips":["Run evaluations only via `f codex eval`","Skip Cursor providers in eval loops or check capabilities first","Consult `f cursor --help` for the supported action set"],"tags":["cli","unsupported-action","cursor","codex","eval"],"backgroundTag":"provider-unsupported-action","analyzedSha":"a747e741ae92c09071d0ae946ab48488adcff1ce","analyzedAt":"2026-09-01T22:43:55.719Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}