biomejs/biome · error

failed to spawn console thread

Error message

failed to spawn console thread

What it means

Error "failed to spawn console thread" thrown in biomejs/biome.

Solutions

  1. Check system thread limits (ulimit, cgroup constraints) if spawning the console thread fails.
  2. Reduce concurrent thread usage before starting the crawler.

Example fix

// Inspect the attached io::Error source for OS-level spawn failure details

When it happens

Trigger: Thrown at crates/biome_cli/src/runner/crawler.rs:57 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of biomejs/biome@405dedb0ff (2026-08-20). Data as JSON: /api/errors/cdd9ced49394a737. Report an issue: GitHub.

Appendix: source

Thrown at crates/biome_cli/src/runner/crawler.rs:57

    fn crawl(
        execution: &dyn Execution,
        workspace: &dyn Workspace,
        fs: &dyn FileSystem,
        project_key: ProjectKey,
        use_server: bool,
        inputs: Vec<CrawlPath>,
        collector: Self::Collector,
        max_diagnostics: u32,
        diagnostic_level: Severity,
    ) -> Result<Output, CliDiagnostic> {
        let (interner, recv_files) = PathInterner::new();
        let (sender, receiver) = unbounded();

        let (duration, evaluated_paths) = thread::scope(|s| {
            let handler = thread::Builder::new()
                .name(String::from("biome::console"))
                .spawn_scoped(s, || collector.run(receiver, recv_files, execution))
                .expect("failed to spawn console thread");

            let ctx = CrawlerOptions::new(
                fs,
                workspace,
                project_key,
                use_server,
                interner,
                sender,
                execution,
                max_diagnostics,
                diagnostic_level,
            );
            let (elapsed, evaluated_paths) = Self::crawl_inputs(fs, inputs, &ctx);

            if use_server {
                for changed_file in ctx.take_changed_files() {
                    let result = workspace.change_file(ChangeFileParams {
                        project_key,

View on GitHub (pinned to 405dedb0ff)