{"record":{"id":"75e58735d9c4ca96","repo":"nikivdev/code","slug":"daemon-is-only-supported-for-codex-sessions-use","errorCode":null,"errorMessage":"daemon is only supported for Codex sessions; use `f codex daemon ...`","messagePattern":"daemon is only supported for Codex sessions; use `f codex daemon \\.\\.\\.`","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/ai.rs","lineNumber":586,"sourceCode":"            }\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 { .. }) => {\n                bail!(\n                    \"telemetry is only supported for Codex sessions; use `f codex telemetry ...`\"\n                );\n            }\n            Some(ProviderAiAction::Trace { .. }) => {\n                bail!(\"trace is only supported for Codex sessions; use `f codex trace ...`\");\n            }\n            Some(ProviderAiAction::ProjectAi { .. }) => {\n                bail!(\n                    \"project-ai is only supported for Codex sessions; use `f codex project-ai ...`\"\n                );\n            }\n            Some(ProviderAiAction::SkillEval { .. }) => {","sourceCodeStart":568,"sourceCodeEnd":604,"githubUrl":"https://github.com/nikivdev/code/blob/a747e741ae92c09071d0ae946ab48488adcff1ce/src/ai.rs#L568-L604","documentation":"The Daemon action (daemon management) is implemented only for Codex sessions. run_provider with Provider::Cursor and a Daemon action bails with this message directing the user to `f codex daemon ...`.","triggerScenarios":"Running `f cursor daemon <start|stop|status|...>` with any daemon subcommand.","commonSituations":"Managing background daemons and assuming a Cursor daemon exists; ops scripts iterating provider names against the same subcommands.","solutions":["Use `f codex daemon ...` to manage the daemon","Check whether a daemon is even needed for your Cursor-only workflow (likely not)","Add a provider guard in scripts before daemon operations"],"exampleFix":"// before\n$ f cursor daemon status\n// error: daemon is only supported for Codex sessions\n// after\n$ f codex daemon status","handlingStrategy":"validation","validationCode":"fn assert_codex_for_daemon(provider: &Provider) -> Result<()> {\n    if *provider != Provider::Codex {\n        bail!(\"daemon requires the codex provider\");\n    }\n    Ok(())\n}","typeGuard":"fn supports_daemon(p: &Provider) -> bool { matches!(p, Provider::Codex) }","tryCatchPattern":"if let Err(e) = run_provider(Provider::Cursor, Some(ProviderAiAction::Daemon { .. })) {\n    if e.to_string().contains(\"daemon is only supported\") {\n        eprintln!(\"use: f codex daemon ...\");\n    }\n}","preventionTips":["Manage daemons only via `f codex daemon ...`","Guard ops scripts with a provider check before daemon calls","Remember Cursor has no daemon component"],"tags":["cli","unsupported-action","cursor","codex","daemon"],"backgroundTag":"provider-unsupported-action","analyzedSha":"a747e741ae92c09071d0ae946ab48488adcff1ce","analyzedAt":"2026-09-01T22:43:55.719Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}