clockworklabs/SpacetimeDB · error
No default server configuration. Set an existing server as t
Error message
No default server configuration.
Set an existing server as the default with:
spacetime server set-default <server>
Or add a new server which will become the default:
spacetime server add {server} <url> --default What it means
When a command needs a server and none is selected via --server or environment, the CLI falls back to the configured default server; if no default_server is set in the config, default_server (crates/cli/src/config.rs:205) returns this error with remediation commands. Note the sibling case: a default that points at a missing server yields the different 'hanging default' context error.
Source
Thrown at crates/cli/src/config.rs:205
}
Err(no_such_server_error(name_or_host))
}
fn find_server_mut(&mut self, name_or_host: &str) -> anyhow::Result<&mut ServerConfig> {
for cfg in &mut self.server_configs {
if cfg.nickname.as_deref() == Some(name_or_host) || cfg.host == name_or_host {
return Ok(cfg);
}
}
Err(no_such_server_error(name_or_host))
}
fn default_server(&self) -> anyhow::Result<&ServerConfig> {
if let Some(default_server) = self.default_server.as_ref() {
self.find_server(default_server)
.with_context(|| hanging_default_server_context(default_server))
} else {
Err(anyhow::anyhow!(NO_DEFAULT_SERVER_ERROR_MESSAGE))
}
}
fn default_server_mut(&mut self) -> anyhow::Result<&mut ServerConfig> {
if let Some(default_server) = self.default_server.as_ref() {
let default = default_server.to_string();
self.find_server_mut(&default)
.with_context(|| hanging_default_server_context(&default))
} else {
Err(anyhow::anyhow!(NO_DEFAULT_SERVER_ERROR_MESSAGE))
}
}
fn add_server(
&mut self,
host: String,
protocol: String,
ecdsa_public_key: Option<String>,View on GitHub (pinned to 524b4487d9)
Solutions
- Set a default from an existing server: spacetime server set-default <server>
- Or add a new one and make it the default in a single step: spacetime server add <server> --url <url> --default
- Bypass the default lookup by passing --server explicitly or exporting SPACETIMEDB_SERVER in scripts
Example fix
# before spacetime publish my-module # Error: No default server configuration. # after spacetime server set-default mainnet spacetime publish my-module
Defensive patterns
Strategy: validation
Validate before calling
# Make scripts self-healing: guarantee a default before any command that needs one: spacetime server list 2>/dev/null | grep -q . \ || spacetime server add mainnet --url https://mainnet.spacetimedb.com --default spacetime publish my-module
Prevention
- Include spacetime server add ... --default in every environment bootstrap (machine, CI, container)
- Prefer --server or SPACETIMEDB_SERVER in automation over relying on a default
- After spacetime server remove, immediately set a new default
When it happens
Trigger: Running any server-contacting command (publish, login, logs, call) with no default server configured — fresh install, config file deleted, or the default was removed via spacetime server remove.
Common situations: New machine or CI container with no ~/.config/.spacetime config; after clearing or editing the config by hand; scripts assuming a default already exists.
Related errors
- No such saved server configuration: {server} Add a new serve
- Server nickname {} already in use: {}://{}
- Server host name is ambiguous with existing server nickname:
- Server not specified and no default server configured.
- Module bindings path must be a relative path
AI-assisted analysis of clockworklabs/SpacetimeDB@524b4487d9 (2026-08-16).
Data as JSON: /api/errors/2929b95ddab2403f.
Report an issue: GitHub.