tinyhumansai/openhuman · error

$SHELL not set

Error message

$SHELL not set

What it means

Doctor environment check: the SHELL environment variable is empty or unset. The agent's shell tool uses $SHELL to pick the interactive shell for command execution; with it missing, shell fallbacks degrade to a default (typically sh), which can change globbing, profile loading and script behaviour inside agent commands. Common in services/launchers that scrub the environment.

Source

Thrown at src/openhuman/platform/doctor/core.rs:719

                cat,
                format!("{channel_count} channels, {stale} stale"),
            ));
        }
    }
}

// ── Environment checks ───────────────────────────────────────────

fn check_environment(items: &mut Vec<DiagnosticItem>) {
    let cat = "environment";

    // git
    check_command_available("git", &["--version"], cat, items);

    // Shell
    let shell = std::env::var("SHELL").unwrap_or_default();
    if shell.is_empty() {
        items.push(DiagnosticItem::warn(cat, "$SHELL not set"));
    } else {
        items.push(DiagnosticItem::ok(cat, format!("shell: {shell}")));
    }

    // HOME
    if std::env::var("HOME").is_ok() || std::env::var("USERPROFILE").is_ok() {
        items.push(DiagnosticItem::ok(cat, "home directory env set"));
    } else {
        items.push(DiagnosticItem::error(
            cat,
            "neither $HOME nor $USERPROFILE is set",
        ));
    }

    // Optional tools
    check_command_available("curl", &["--version"], cat, items);
}

View on GitHub (pinned to 7491200858)

Solutions

  1. Launch the app from a normal login shell or set SHELL in the service unit / launch environment (e.g. SHELL=/bin/bash)
  2. On macOS launched-from-Finder contexts, export SHELL in the wrapper script
  3. Accept the default-shell fallback if sh semantics are fine
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at src/openhuman/platform/doctor/core.rs:719 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of tinyhumansai/openhuman@7491200858 (2026-08-17). Data as JSON: /api/errors/cf3f756a3d2aa303. Report an issue: GitHub.