typst/typst · error

self-updating is not enabled for this executable, please upd

Error message

self-updating is not enabled for this executable, please update with the package manager or mechanism used for initial installation

What it means

Sentinel error from the stub `update` function compiled when the `self-update` cargo feature is off: this Typst binary was built without self-update capability, so any `typst update` invocation unconditionally fails. It reflects the build configuration, not runtime conditions.

Source

Thrown at crates/typst-cli/src/main.rs:141

                serde_json::to_string_pretty(data).map_err(|e| eco_format!("{e}"))
            } else {
                serde_json::to_string(data).map_err(|e| eco_format!("{e}"))
            }
        }
        SerializationFormat::Yaml => {
            serde_yaml::to_string(data).map_err(|e| eco_format!("{e}"))
        }
    }
}

#[cfg(not(feature = "self-update"))]
mod update {
    use typst::diag::{StrResult, bail};

    use crate::args::UpdateCommand;

    pub fn update(_: &UpdateCommand) -> StrResult<()> {
        bail!(
            "self-updating is not enabled for this executable, \
             please update with the package manager or mechanism \
             used for initial installation",
        )
    }
}

View on GitHub (pinned to 35417aa769)

Solutions

  1. Update Typst through the package manager used to install it (e.g. cargo, winget, brew, snap, or a distro package)
  2. Download the latest release binary from GitHub manually
  3. Install a build that ships the self-update feature
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at crates/typst-cli/src/main.rs:141 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of typst/typst@35417aa769 (2026-08-17). Data as JSON: /api/errors/64570e016355691c. Report an issue: GitHub.