pbakaus/impeccable · error

Could not fetch command list from impeccable.style. Check yo

Error message

Could not fetch command list from impeccable.style. Check your network connection.

What it means

`show_help` fetches the dynamic command list from impeccable.style's `/api/commands` endpoint to render the help output. If the download fails or the body is not a JSON array, it prints this message (no trailing newline, via `err`) and exits with code 1 — help display requires network access.

Source

Thrown at crates/skills/src/commands.rs:94

fn out(io: &mut Io, line: &str) {
    io.out(&format!("{line}\n"));
}

fn err(io: &mut Io, line: &str) {
    io.err(&format!("{line}\n"));
}

// ─── help ────────────────────────────────────────────────────────────────────

/// JS: showHelp()
fn show_help(io: &mut Io) -> R<()> {
    let commands: Vec<Value> = match download(&format!("{API_BASE}/api/commands"))
        .ok()
        .and_then(|bytes| serde_json::from_slice::<Value>(&bytes).ok())
    {
        Some(Value::Array(a)) => a,
        _ => {
            err(io, "Could not fetch command list from impeccable.style. Check your network connection.");
            return Err(Flow::Exit(1));
        }
    };
    let pad = |s: &str, n: usize| -> String {
        let len = utf16_len(s);
        format!("{s}{}", " ".repeat(n.saturating_sub(len)))
    };
    out(io, "\n  Impeccable Skills & Commands\n");
    out(io, "  Install:  npx impeccable install");
    out(io, "  Link:     npx impeccable link --source=.impeccable");
    out(io, "  Update:   npx impeccable update");
    out(io, "  Docs:     https://impeccable.style/cheatsheet\n");
    out(io, &format!("  {} Description", pad("Command", 22)));
    out(io, &format!("  {} {}", "-".repeat(22), "-".repeat(52)));

    let mut sorted: Vec<(String, String)> = commands
        .iter()
        .map(|c| {

View on GitHub (pinned to 2bc2879276)

Solutions

  1. Check connectivity: `curl -sS https://impeccable.style/api/commands` — if this fails, fix network/DNS/proxy first.
  2. If behind a proxy, set HTTPS_PROXY/HTTP_PROXY so the download can reach the API.
  3. Retry when back online — the help listing is fetched live each time.
  4. Consult the local docs/README for the command list when offline instead of the network help.

Example fix

// before (no proxy in restricted network)
impeccable skills help
// after
export HTTPS_PROXY=http://proxy.corp:8080
impeccable skills help
Defensive patterns

Strategy: retry

Validate before calling

curl -fsS https://impeccable.style/api/commands -o /dev/null && echo reachable || echo 'API unreachable - fix network/proxy first'

Try / catch

try {
  await fetch('https://impeccable.style/api/commands');
} catch (e) {
  if (e instanceof TypeError) { /* network/DNS failure - retry or work offline */ }
  throw e;
}

Prevention

When it happens

Trigger: Running `impeccable skills help`/`impeccable skills` (help path) while the GET to `{API_BASE}/api/commands` fails: no network, DNS failure, proxy blocking the domain, TLS error, or the server returning a non-array/non-JSON body.

Common situations: Working offline or on a plane; corporate proxy/firewall blocking impeccable.style; VPN captive portal; DNS misconfiguration; the API endpoint down or returning an HTML error page that fails JSON parsing.

Related errors


AI-assisted analysis of pbakaus/impeccable@2bc2879276 (2026-09-08). Data as JSON: /api/errors/3c2e4ca01f325132. Report an issue: GitHub.