nikivdev/code · error
touch-launch is only supported for Codex sessions; use `f co
Error message
touch-launch is only supported for Codex sessions; use `f codex touch-launch`
What it means
The TouchLaunch action (touching/refreshing launch metadata) is Codex-only. run_provider with Provider::Cursor and a TouchLaunch action bails with this message directing the user to `f codex touch-launch`.
Source
Thrown at src/ai.rs:576
Some(ProviderAiAction::Show {
session,
path,
count,
full,
}) => show_session(session, Provider::Cursor, count, path, full)?,
Some(ProviderAiAction::Runtime { .. }) => {
bail!(
"runtime helpers are only supported for Codex sessions; use `f codex runtime ...`"
);
}
Some(ProviderAiAction::Doctor { .. }) => {
bail!("doctor is only supported for Codex sessions; use `f codex doctor`");
}
Some(ProviderAiAction::Eval { .. }) => {
bail!("eval is only supported for Codex sessions; use `f codex eval`");
}
Some(ProviderAiAction::TouchLaunch { .. }) => {
bail!(
"touch-launch is only supported for Codex sessions; use `f codex touch-launch`"
);
}
Some(ProviderAiAction::EnableGlobal { .. }) => {
bail!(
"global Codex enablement is only supported for Codex sessions; use `f codex enable-global`"
);
}
Some(ProviderAiAction::Daemon { .. }) => {
bail!("daemon is only supported for Codex sessions; use `f codex daemon ...`");
}
Some(ProviderAiAction::Memory { .. }) => {
bail!("memory is only supported for Codex sessions; use `f codex memory ...`");
}
Some(ProviderAiAction::Telemetry { .. }) => {
bail!(
"telemetry is only supported for Codex sessions; use `f codex telemetry ...`"
);View on GitHub (pinned to a747e741ae)
Solutions
- Use `f codex touch-launch ...` instead
- For Cursor sessions, manage launch metadata directly if needed via session files listed by `f cursor list`
- Gate automation on provider == codex before calling touch-launch
Example fix
// before $ f cursor touch-launch <session> // error: touch-launch is only supported for Codex sessions // after $ f codex touch-launch <session>
Defensive patterns
Strategy: validation
Validate before calling
fn assert_codex_for_touch_launch(provider: &Provider) -> Result<()> {
if *provider != Provider::Codex {
bail!("touch-launch requires the codex provider");
}
Ok(())
} Type guard
fn supports_touch_launch(p: &Provider) -> bool { matches!(p, Provider::Codex) } Try / catch
if let Err(e) = run_provider(Provider::Cursor, Some(ProviderAiAction::TouchLaunch { .. })) {
if e.to_string().contains("touch-launch is only supported") {
eprintln!("use: f codex touch-launch");
}
} Prevention
- Use `f codex touch-launch` exclusively for launch metadata refresh
- Gate refresh scripts on the codex provider
- Handle Cursor sessions via list/copy/context/show instead
When it happens
Trigger: Running `f cursor touch-launch ...` with touch-launch arguments.
Common situations: Scripts refreshing launch timestamps for sessions across all providers; assumed feature parity between codex and cursor subcommands.
Related errors
- connect is only supported for Codex sessions; use `f codex c
- runtime helpers are only supported for Codex sessions; use `
- doctor is only supported for Codex sessions; use `f codex do
- eval is only supported for Codex sessions; use `f codex eval
- global Codex enablement is only supported for Codex sessions
AI-assisted analysis of nikivdev/code@a747e741ae (2026-09-01).
Data as JSON: /api/errors/99186a5b399c68bb.
Report an issue: GitHub.