{"record":{"id":"085d130777fc9a60","repo":"jdx/mise","slug":"select-a-remote-target-by-name-tag-or-all-c","errorCode":null,"errorMessage":"select a remote target by name, --tag, or --all (configured: {})","messagePattern":"select a remote target by name, --tag, or --all \\(configured: (.+?)\\)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/cli/bootstrap.rs","lineNumber":3056,"sourceCode":"        let config = Config::get().await?;\n        let config_excludes = system::remote::excludes_from_config(&config);\n        let inventory = system::remote::hosts_from_config(&config, &config_excludes)?;\n        let mut selected = select_remote_inventory(&inventory, &self.targets, self.all, &self.tag)?;\n        let ad_hoc_source = self.source.clone().unwrap_or(std::env::current_dir()?);\n        for destination in &self.host {\n            let host =\n                system::remote::ad_hoc_host(destination, ad_hoc_source.clone(), &config_excludes)?;\n            if selected.insert(host.name.clone(), host).is_some() {\n                bail!(\"remote target '{destination}' was selected more than once\");\n            }\n        }\n        if selected.is_empty() {\n            if inventory.is_empty() {\n                bail!(\n                    \"no remote targets configured; pass --host [user@]host or add [bootstrap.remote.hosts]\"\n                );\n            }\n            bail!(\n                \"select a remote target by name, --tag, or --all (configured: {})\",\n                inventory.keys().cloned().collect::<Vec<_>>().join(\", \")\n            );\n        }\n\n        let overrides = system::remote::RemoteOverrides {\n            from_git: self.adopt.is_some(),\n            source: self.source,\n            mise_env: self.remote_env,\n            copy_links: self.copy_links,\n            copy_link: self.copy_link,\n            port: self.port,\n            identity_file: self.identity_file,\n            exclude: self.exclude,\n            ssh_options: self.ssh_option,\n            install_mise: self.install_mise,\n            no_install_mise: self.no_install_mise,\n            mise_bin: self.mise_bin,","sourceCodeStart":3038,"sourceCodeEnd":3074,"githubUrl":"https://github.com/jdx/mise/blob/533346cc374382b41ec5ff70536252b2e96e725c/src/cli/bootstrap.rs#L3038-L3074","documentation":"Remote bootstrap found configured hosts in [bootstrap.remote.hosts] but no selection criterion resolved to any of them. With an empty selection and a non-empty inventory, mise lists the configured host names and asks the user to pick.","triggerScenarios":"Running `mise bootstrap remote` with hosts configured, but without --host, --tag, or --all (or a --tag that matches no host / a name that select_remote_inventory didn't match).","commonSituations":"Typo in a --tag value; forgetting --all; expecting a default of 'all hosts' when mise requires explicit selection.","solutions":["Pass --all to select every configured host","Pass a specific --host name matching one of the configured names shown in the message","Use --tag with a tag that actually exists on the configured hosts"],"exampleFix":"// before\nmise bootstrap remote\n// after\nmise bootstrap remote --all","handlingStrategy":"validation","validationCode":"if (configuredHosts.length > 0 && !flags.host && !flags.tag && !flags.all) throw new Error('select a target: --host|--tag|--all')","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Always pass an explicit selection flag","Verify --tag values exist in host definitions","Never assume 'all hosts' is the default"],"tags":["cli","bootstrap","selection","ssh"],"backgroundTag":"missing-required-argument","analyzedSha":"533346cc374382b41ec5ff70536252b2e96e725c","analyzedAt":"2026-09-17T13:35:38.149Z","contentChangedAt":"2026-09-17T13:35:38.149Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}