{"record":{"id":"063aa640e56a9300","repo":"nikivdev/code","slug":"memory-is-only-supported-for-codex-sessions-use","errorCode":null,"errorMessage":"memory is only supported for Codex sessions; use `f codex memory ...`","messagePattern":"memory is only supported for Codex sessions; use `f codex memory \\.\\.\\.`","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/ai.rs","lineNumber":589,"sourceCode":"            }\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 { .. }) => {\n                bail!(\n                    \"skill-eval is only supported for Codex sessions; use `f codex skill-eval ...`\"\n                );","sourceCodeStart":571,"sourceCodeEnd":607,"githubUrl":"https://github.com/nikivdev/code/blob/a747e741ae92c09071d0ae946ab48488adcff1ce/src/ai.rs#L571-L607","documentation":"The Memory action (session memory helpers) is Codex-only. When dispatched with Provider::Cursor, run_provider bails with this message pointing to `f codex memory ...`.","triggerScenarios":"Running `f cursor memory <subcommand>` with any memory arguments.","commonSituations":"Managing long-term memory/context stores and swapping provider names; confusion over which providers support memory management.","solutions":["Use `f codex memory ...` for memory helpers","For Cursor sessions, rely on copy/context/show actions to manage context manually","Update automation to restrict memory operations to the codex provider"],"exampleFix":"// before\n$ f cursor memory list\n// error: memory is only supported for Codex sessions\n// after\n$ f codex memory list","handlingStrategy":"validation","validationCode":"fn assert_codex_for_memory(provider: &Provider) -> Result<()> {\n    if *provider != Provider::Codex {\n        bail!(\"memory requires the codex provider\");\n    }\n    Ok(())\n}","typeGuard":"fn supports_memory(p: &Provider) -> bool { matches!(p, Provider::Codex) }","tryCatchPattern":"if let Err(e) = run_provider(Provider::Cursor, Some(ProviderAiAction::Memory { .. })) {\n    if e.to_string().contains(\"memory is only supported\") {\n        eprintln!(\"use: f codex memory ...\");\n    }\n}","preventionTips":["Use `f codex memory ...` for memory helper operations","For Cursor context needs, use `f cursor context` / `f cursor copy`","Restrict memory automation to the codex provider"],"tags":["cli","unsupported-action","cursor","codex","memory"],"backgroundTag":"provider-unsupported-action","analyzedSha":"a747e741ae92c09071d0ae946ab48488adcff1ce","analyzedAt":"2026-09-01T22:43:55.719Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}