zeroclaw-labs/zeroclaw · warning · anyhow::Error
`zeroclaw props` has been renamed to `zeroclaw config`. Repl
Error message
`zeroclaw props` has been renamed to `zeroclaw config`. Replace `props` with `config` in your command and try again.
What it means
The `props` subcommand was renamed to `config`; the CLI keeps a `Commands::Props` arm solely to print this remediation message and exit non-zero. No property get/set logic executes behind it.
Source
Thrown at src/main.rs:6239
}
ConfigCommands::Generate { version, encrypt } => {
let target = version.unwrap_or(crate::config::migration::CURRENT_SCHEMA_VERSION);
let zeroclaw_dir = config
.config_path
.parent()
.map(std::path::Path::to_path_buf);
let opts = crate::config::migration::GenerateOptions {
encrypt_secrets: encrypt,
secret_store_dir: zeroclaw_dir.as_deref(),
};
let toml_out = crate::config::migration::generate(target, &opts)?;
print!("{toml_out}");
Ok(())
}
},
Commands::Props { .. } => {
anyhow::bail!(
"`zeroclaw props` has been renamed to `zeroclaw config`. \
Replace `props` with `config` in your command and try again."
);
}
#[cfg(feature = "plugins-wasm")]
Commands::Plugin { plugin_command } => match plugin_command {
PluginCommands::List => {
let host = plugin_host_with_configured_security(&config)?;
let plugins = host.list_plugins();
if plugins.is_empty() {
println!("{}", t("cli-plugins-none", "No plugins installed."));
} else {
println!("{}", t("cli-plugins-installed", "Installed plugins:"));
for p in &plugins {
println!(
" {} v{} — {}",
p.name,View on GitHub (pinned to 88bb9c8533)
Solutions
- Replace `props` with `config` in the command (e.g. `zeroclaw config get <path>`, `zeroclaw config set <path> <value>`)
- Update shell aliases and any scripts that call `zeroclaw props`
- Skim `zeroclaw config --help` for the current subcommand set before continuing
Example fix
# before zeroclaw props set providers.models.anthropic.default.api_key sk-ant-... # after zeroclaw config set providers.models.anthropic.default.api_key sk-ant-...
Defensive patterns
Strategy: validation
Validate before calling
# upgrade checklist: catch stale command usage before it ships
grep -RInE 'zeroclaw[[:space:]]+props' scripts/ ci/ Makefile 2>/dev/null && {
echo "found `zeroclaw props` usage; rename to `zeroclaw config`"; exit 1;
} Prevention
- Grep automation for removed verbs during every ZeroClaw upgrade
- Pin a shell alias `zeroclaw=config-aware` only after verifying subcommand names against `--help`
- Keep runbooks under version control and lint them for command renames
When it happens
Trigger: Any invocation of the old verb: `zeroclaw props`, `zeroclaw props get <path>`, `zeroclaw props set <path> <value>` — the match arm bails unconditionally.
Common situations: Muscle memory or shell aliases from an older ZeroClaw/OpenClaw install; cron jobs, CI scripts, or runbooks still pinned to the `props` spelling after an upgrade.
Related errors
- Unknown integration: {name}. Check README for supported inte
- OpenClaw workspace not found at {}. Pass --source <path> if
- config at {} does not deserialize strictly; the resilient lo
- `zeroclaw plugin install <url>` is not supported; use `--reg
- Emergency stop is disabled. Enable [security.estop].enabled
AI-assisted analysis of zeroclaw-labs/zeroclaw@88bb9c8533 (2026-08-23).
Data as JSON: /api/errors/64204bd9ac1cd56b.
Report an issue: GitHub.