atuinsh/atuin · error

failed to set bash language

Error message

failed to set bash language

What it means

Error "failed to set bash language" thrown in atuinsh/atuin.

Source

Thrown at crates/atuin-ai/src/permissions/shell.rs:69

}

// ────────────────────────────────────────────────────────────────
// Tree-sitter parsers (POSIX + Fish)
// Disabled on platforms where tree-sitter doesn't cross-compile
// (e.g. Windows); falls back to word-level extraction.
// ────────────────────────────────────────────────────────────────

#[cfg(feature = "tree-sitter")]
mod ts {
    use tree_sitter::{Parser, Tree};

    use super::{ParsedShellCommand, ShellCommand, parse_fallback};

    fn bash_parser() -> Parser {
        let mut parser = Parser::new();
        parser
            .set_language(&tree_sitter_bash::LANGUAGE.into())
            .expect("failed to set bash language");
        parser
    }

    pub(super) fn parse_posix(code: &str) -> ParsedShellCommand {
        let mut parser = bash_parser();
        let Some(tree) = parser.parse(code, None) else {
            return parse_fallback(code);
        };

        let mut commands = Vec::new();
        walk_bash_tree(&tree, code.as_bytes(), &mut commands);
        ParsedShellCommand {
            subcommands: commands,
        }
    }

    /// Leaf node kinds that never contain nested commands.
    const BASH_LEAVES: &[&str] = &[

View on GitHub (pinned to 15fe1318f1)

Solutions

  1. Check that the tree-sitter bash grammar is available; rebuild with the correct features.

When it happens

Trigger: Fires when initializing the tree-sitter bash language for shell permission parsing fails.

Common situations: See trigger scenarios.


AI-assisted analysis of atuinsh/atuin@15fe1318f1 (2026-08-19). Data as JSON: /api/errors/06f42135a7eb2cf9. Report an issue: GitHub.