pbakaus/impeccable · error

No running live server found. Start one with: {cmd}

Error message

No running live server found. Start one with: {cmd}

What it means

The `impeccable live-poll` command requires a running live-mode server in the current workspace. Before doing any work it reads the server info file (written by `live` when it starts); if that file is absent or stale, it prints this message and exits 1. It is an intentional early-exit, not a crash.

Source

Thrown at crates/live/src/live_poll.rs:693

        None => default,
    }
}

pub fn run(args: &[String], io: &mut Io) -> i32 {
    let mut argv: Vec<String> = args.to_vec();
    if let Err(code) = enter_live_root(&mut argv, io) {
        return code;
    }
    let cwd = io.cwd.to_string_lossy().into_owned();
    let env = io.env.clone();

    if argv.iter().any(|a| a == "--help" || a == "-h") {
        println(io, HELP);
        return 0;
    }

    let Some((info, _)) = read_live_server_info(&cwd, &env) else {
        io.err(&format!(
            "No running live server found. Start one with: {}\n",
            script_cmd(&env, &cwd, "live")
        ));
        return 1;
    };
    let port = info
        .raw
        .get("port")
        .map(js_display)
        .unwrap_or_else(|| "undefined".to_string());
    let token = info
        .raw
        .get("token")
        .map(js_display)
        .unwrap_or_else(|| "undefined".to_string());
    let base = format!("http://localhost:{}", port);

    if argv.iter().any(|a| a == "--reply") {

View on GitHub (pinned to 2bc2879276)

Solutions

  1. Start the live server first: run the `live` command printed in the error message (the script_cmd for your environment).
  2. Re-run live-poll from the same working directory where the live server session was created.
  3. If a server was previously started but crashed, start it again to regenerate the server info file.

Example fix

// before
$ impeccable live-poll
No running live server found. Start one with: ./scripts/impeccable live
// after
$ ./scripts/impeccable live &
$ impeccable live-poll
Defensive patterns

Strategy: validation

Validate before calling

// shell: only poll if the server info file exists in this cwd
[ -f .impeccable/live-server.json ] && impeccable live-poll || { echo 'start live first'; ./scripts/impeccable live; }

Prevention

When it happens

Trigger: Running `live-poll` (with or without --reply/--stream) when `read_live_server_info(&cwd, &env)` returns None — i.e. no live server was ever started in this cwd, or its info file was deleted.

Common situations: Running live-poll from a different working directory than the one where the live server was started; the server crashed or was killed leaving no info file; invoking live-poll before ever running `live`; a stale checkout or container where the session file does not exist.

Understand the failure class

Background: ECONNREFUSED and "connection refused" / "could not connect to server" errors: what they mean and how to fix them — this error's family across 44 libraries.

Related errors


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