tinyhumansai/openhuman · error · anyhow::Error
refusing to bind on non-loopback address {resolved_host} wit
Error message
refusing to bind on non-loopback address {resolved_host} without an explicit operator-supplied RPC token ({}) What it means
Error "refusing to bind on non-loopback address {resolved_host} without an explicit operator-supplied RPC token ({})" thrown in tinyhumansai/openhuman.
Source
Thrown at src/core/runtime/builder.rs:692
// so treating it as "explicit" would be fail-open.
if crate::openhuman::security::pairing::is_public_bind(&resolved_host)
&& !self.has_operator_token
{
log::error!(
"[core] SECURITY: refusing to bind on public address {resolved_host} without an \
explicit operator-supplied RPC token. Set {} in your environment (or hand the \
bearer in-memory via the embedded core handle) to secure the RPC endpoint.",
crate::core::auth::CORE_TOKEN_ENV_VAR
);
eprintln!(
"\n\x1b[1;31m[SECURITY]\x1b[0m Refusing to bind on {resolved_host} without {}.\n\
The auto-generated {{workspace}}/core.token does NOT secure a public bind —\n\
remote clients cannot read it. Set {} in your environment to secure the\n\
RPC endpoint, or bind on a loopback address.\n",
crate::core::auth::CORE_TOKEN_ENV_VAR,
crate::core::auth::CORE_TOKEN_ENV_VAR
);
anyhow::bail!(
"refusing to bind on non-loopback address {resolved_host} without an explicit \
operator-supplied RPC token ({})",
crate::core::auth::CORE_TOKEN_ENV_VAR
);
}
let preferred_port = resolved_port;
let host = resolved_host;
let pick = crate::openhuman::platform::connectivity::rpc::pick_listen_port_for_host(
host.as_str(),
preferred_port,
)
.await
.map_err(|err| {
log::error!("[core] Failed to bind to {host}:{preferred_port}: {err}");
anyhow::Error::new(err)
})?;
let listen_port = pick.port;View on GitHub (pinned to a221052e0d)
When it happens
Trigger: Thrown at src/core/runtime/builder.rs:692 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of tinyhumansai/openhuman@a221052e0d (2026-08-16).
Data as JSON: /api/errors/faf4ff52bec6da38.
Report an issue: GitHub.