Skip to content

Commit c55c510

Browse files
committed
fix(cli): exclude stub slash commands from REPL completions — ROADMAP #39
Commands registered in the spec list but not yet implemented in this build were appearing in REPL tab-completions, making the discovery surface over-promise what actually works. Users (mezz2301) reported 'many features are not supported' after discovering these through completions. Add STUB_COMMANDS exclusion list in slash_command_completion_candidates_with_sessions. Excluded: login logout vim upgrade stats share feedback files fast exit summary desktop brief advisor stickers insights thinkback release-notes security-review keybindings privacy-settings plan review tasks theme voice usage rename copy hooks context color effort branch rewind ide tag output-style add-dir These commands still parse and run (with the 'not yet implemented' message for users who type them directly), but they no longer surface as tab-completion candidates.
1 parent 3fe0caf commit c55c510

File tree

1 file changed

+51
-1
lines changed
  • rust/crates/rusty-claude-cli/src

1 file changed

+51
-1
lines changed

rust/crates/rusty-claude-cli/src/main.rs

Lines changed: 51 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6907,10 +6907,60 @@ fn slash_command_completion_candidates_with_sessions(
69076907
) -> Vec<String> {
69086908
let mut completions = BTreeSet::new();
69096909

6910+
// Commands that are registered in the spec list but not yet implemented
6911+
// in this build. Exclude them from completions so the discovery surface
6912+
// matches what actually works (ROADMAP #39).
6913+
const STUB_COMMANDS: &[&str] = &[
6914+
"login",
6915+
"logout",
6916+
"vim",
6917+
"upgrade",
6918+
"stats",
6919+
"share",
6920+
"feedback",
6921+
"files",
6922+
"fast",
6923+
"exit",
6924+
"summary",
6925+
"desktop",
6926+
"brief",
6927+
"advisor",
6928+
"stickers",
6929+
"insights",
6930+
"thinkback",
6931+
"release-notes",
6932+
"security-review",
6933+
"keybindings",
6934+
"privacy-settings",
6935+
"plan",
6936+
"review",
6937+
"tasks",
6938+
"theme",
6939+
"voice",
6940+
"usage",
6941+
"rename",
6942+
"copy",
6943+
"hooks",
6944+
"context",
6945+
"color",
6946+
"effort",
6947+
"branch",
6948+
"rewind",
6949+
"ide",
6950+
"tag",
6951+
"output-style",
6952+
"add-dir",
6953+
];
6954+
69106955
for spec in slash_command_specs() {
6956+
if STUB_COMMANDS.contains(&spec.name) {
6957+
continue;
6958+
}
69116959
completions.insert(format!("/{}", spec.name));
69126960
for alias in spec.aliases {
6913-
completions.insert(format!("/{alias}"));
6961+
if !STUB_COMMANDS.contains(alias) {
6962+
completions.insert(format!("/{alias}"));
6963+
}
69146964
}
69156965
}
69166966

0 commit comments

Comments
 (0)