{"record":{"id":"64204bd9ac1cd56b","repo":"zeroclaw-labs/zeroclaw","slug":"zeroclaw-props-has-been-renamed-to-zeroclaw-con","errorCode":null,"errorMessage":"`zeroclaw props` has been renamed to `zeroclaw config`. Replace `props` with `config` in your command and try again.","messagePattern":"`zeroclaw props` has been renamed to `zeroclaw config`\\. Replace `props` with `config` in your command and try again\\.","errorType":"validation","errorClass":"anyhow::Error","httpStatus":null,"severity":"warning","filePath":"src/main.rs","lineNumber":6239,"sourceCode":"            }\n            ConfigCommands::Generate { version, encrypt } => {\n                let target = version.unwrap_or(crate::config::migration::CURRENT_SCHEMA_VERSION);\n                let zeroclaw_dir = config\n                    .config_path\n                    .parent()\n                    .map(std::path::Path::to_path_buf);\n                let opts = crate::config::migration::GenerateOptions {\n                    encrypt_secrets: encrypt,\n                    secret_store_dir: zeroclaw_dir.as_deref(),\n                };\n                let toml_out = crate::config::migration::generate(target, &opts)?;\n                print!(\"{toml_out}\");\n                Ok(())\n            }\n        },\n\n        Commands::Props { .. } => {\n            anyhow::bail!(\n                \"`zeroclaw props` has been renamed to `zeroclaw config`. \\\n                 Replace `props` with `config` in your command and try again.\"\n            );\n        }\n\n        #[cfg(feature = \"plugins-wasm\")]\n        Commands::Plugin { plugin_command } => match plugin_command {\n            PluginCommands::List => {\n                let host = plugin_host_with_configured_security(&config)?;\n                let plugins = host.list_plugins();\n                if plugins.is_empty() {\n                    println!(\"{}\", t(\"cli-plugins-none\", \"No plugins installed.\"));\n                } else {\n                    println!(\"{}\", t(\"cli-plugins-installed\", \"Installed plugins:\"));\n                    for p in &plugins {\n                        println!(\n                            \"  {} v{} — {}\",\n                            p.name,","sourceCodeStart":6221,"sourceCodeEnd":6257,"githubUrl":"https://github.com/zeroclaw-labs/zeroclaw/blob/88bb9c8533fc57ed7a03e36ca7c9ed2bf8336dcc/src/main.rs#L6221-L6257","documentation":"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.","triggerScenarios":"Any invocation of the old verb: `zeroclaw props`, `zeroclaw props get <path>`, `zeroclaw props set <path> <value>` — the match arm bails unconditionally.","commonSituations":"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.","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"],"exampleFix":"# before\nzeroclaw props set providers.models.anthropic.default.api_key sk-ant-...\n# after\nzeroclaw config set providers.models.anthropic.default.api_key sk-ant-...","handlingStrategy":"validation","validationCode":"# upgrade checklist: catch stale command usage before it ships\ngrep -RInE 'zeroclaw[[:space:]]+props' scripts/ ci/ Makefile 2>/dev/null && {\n  echo \"found `zeroclaw props` usage; rename to `zeroclaw config`\"; exit 1;\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["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"],"tags":["cli","renamed-command","breaking-change","zeroclaw"],"backgroundTag":"command-renamed","analyzedSha":"88bb9c8533fc57ed7a03e36ca7c9ed2bf8336dcc","analyzedAt":"2026-08-23T01:07:41.857Z","schemaVersion":2},"datasetVersion":"2026-08-23T08:06:27.607Z"}