From b7897e4efc8fb763585bc86add5dea78850ed3a4 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 3 Jun 2026 11:32:21 -0700 Subject: [PATCH 01/11] fix: Remove unused `show_completion_notification` attribute --- cecli/commands/add.py | 1 - 1 file changed, 1 deletion(-) diff --git a/cecli/commands/add.py b/cecli/commands/add.py index c4a4e31d15b..774e7193789 100644 --- a/cecli/commands/add.py +++ b/cecli/commands/add.py @@ -16,7 +16,6 @@ class AddCommand(BaseCommand): NORM_NAME = "add" DESCRIPTION = "Add files to the chat so cecli can edit them or review them in detail" - show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): From ccfcbe31a215dff49e700662050083d0f2a19767 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 3 Jun 2026 11:32:29 -0700 Subject: [PATCH 02/11] refactor: Update show_completion_notification in command classes Co-authored-by: cecli (openai/gemini_cli_local/gemini-2.5-pro) --- cecli/commands/add.py | 1 + cecli/commands/ask.py | 1 + cecli/commands/commit.py | 1 + cecli/commands/editor_model.py | 1 - cecli/commands/exclude_skill.py | 1 - cecli/commands/exit.py | 1 - cecli/commands/hooks.py | 1 - cecli/commands/include_skill.py | 1 - cecli/commands/run.py | 1 + cecli/commands/test.py | 1 + 10 files changed, 5 insertions(+), 5 deletions(-) diff --git a/cecli/commands/add.py b/cecli/commands/add.py index 774e7193789..37a7537fbad 100644 --- a/cecli/commands/add.py +++ b/cecli/commands/add.py @@ -16,6 +16,7 @@ class AddCommand(BaseCommand): NORM_NAME = "add" DESCRIPTION = "Add files to the chat so cecli can edit them or review them in detail" + show_completion_notification = True @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/ask.py b/cecli/commands/ask.py index 0bb6cb61850..21cf7eef910 100644 --- a/cecli/commands/ask.py +++ b/cecli/commands/ask.py @@ -9,6 +9,7 @@ class AskCommand(BaseCommand): "Ask questions about the code base without editing any files. If no prompt provided," " switches to ask mode." ) + show_completion_notification = True @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/commit.py b/cecli/commands/commit.py index 6f0d1679575..72180bd18c1 100644 --- a/cecli/commands/commit.py +++ b/cecli/commands/commit.py @@ -8,6 +8,7 @@ class CommitCommand(BaseCommand): NORM_NAME = "commit" DESCRIPTION = "Commit edits to the repo made outside the chat (commit message optional)" + show_completion_notification = True @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/editor_model.py b/cecli/commands/editor_model.py index 197d623e782..beb97a86ae9 100644 --- a/cecli/commands/editor_model.py +++ b/cecli/commands/editor_model.py @@ -9,7 +9,6 @@ class EditorModelCommand(BaseCommand): NORM_NAME = "editor-model" DESCRIPTION = "Switch the Editor Model to a new LLM" - show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/exclude_skill.py b/cecli/commands/exclude_skill.py index b50ceb00044..a859004b2b4 100644 --- a/cecli/commands/exclude_skill.py +++ b/cecli/commands/exclude_skill.py @@ -7,7 +7,6 @@ class ExcludeSkillCommand(BaseCommand): NORM_NAME = "exclude-skill" DESCRIPTION = "Exclude a skill by name (agent mode only)" - show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/exit.py b/cecli/commands/exit.py index 7a116c00d0c..46b96576df5 100644 --- a/cecli/commands/exit.py +++ b/cecli/commands/exit.py @@ -10,7 +10,6 @@ class ExitCommand(BaseCommand): NORM_NAME = "exit" DESCRIPTION = "Exit the application" - show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/hooks.py b/cecli/commands/hooks.py index 933665f1c31..5bb3ad5d46a 100644 --- a/cecli/commands/hooks.py +++ b/cecli/commands/hooks.py @@ -9,7 +9,6 @@ class HooksCommand(BaseCommand): NORM_NAME = "hooks" DESCRIPTION = "List all registered hooks by type with their current state" - show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/include_skill.py b/cecli/commands/include_skill.py index 6fa39ac3732..181cf1aafc3 100644 --- a/cecli/commands/include_skill.py +++ b/cecli/commands/include_skill.py @@ -7,7 +7,6 @@ class IncludeSkillCommand(BaseCommand): NORM_NAME = "include-skill" DESCRIPTION = "Include a skill by name (agent mode only)" - show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/run.py b/cecli/commands/run.py index 5604f80a6c6..5cd2ebc8e46 100644 --- a/cecli/commands/run.py +++ b/cecli/commands/run.py @@ -10,6 +10,7 @@ class RunCommand(BaseCommand): NORM_NAME = "run" DESCRIPTION = "Run a shell command and optionally add the output to the chat (alias: !)" + show_completion_notification = True @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/test.py b/cecli/commands/test.py index 5462d4785db..f209f1020f0 100644 --- a/cecli/commands/test.py +++ b/cecli/commands/test.py @@ -7,6 +7,7 @@ class TestCommand(BaseCommand): NORM_NAME = "test" DESCRIPTION = "Run a shell command and add the output to the chat on non-zero exit code" + show_completion_notification = True @classmethod async def execute(cls, io, coder, args, **kwargs): From d9da583d207ba36036adedf030380fe219e1a45b Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 3 Jun 2026 11:38:23 -0700 Subject: [PATCH 03/11] chore: Remove unused show_completion_notification attribute --- cecli/commands/agent_model.py | 1 - cecli/commands/clear.py | 1 - 2 files changed, 2 deletions(-) diff --git a/cecli/commands/agent_model.py b/cecli/commands/agent_model.py index af8d6905caf..1b10617a129 100644 --- a/cecli/commands/agent_model.py +++ b/cecli/commands/agent_model.py @@ -9,7 +9,6 @@ class AgentModelCommand(BaseCommand): NORM_NAME = "agent-model" DESCRIPTION = "Switch the Agent Model to a new LLM" - show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/clear.py b/cecli/commands/clear.py index 793b55d80ee..0c4ba8b560e 100644 --- a/cecli/commands/clear.py +++ b/cecli/commands/clear.py @@ -8,7 +8,6 @@ class ClearCommand(BaseCommand): NORM_NAME = "clear" DESCRIPTION = "Clear the chat history" - show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): From ec6fc0050e86ce364c835d3ba21ffb29dbdbbe3c Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 3 Jun 2026 11:38:34 -0700 Subject: [PATCH 04/11] refactor: Update show_completion_notification for commands Co-authored-by: cecli (openai/gemini_cli_local/gemini-2.5-pro) --- cecli/commands/agent.py | 1 + cecli/commands/agent_model.py | 1 + cecli/commands/architect.py | 1 + cecli/commands/clear.py | 1 + cecli/commands/list_sessions.py | 1 - cecli/commands/list_skills.py | 1 - cecli/commands/load.py | 1 - cecli/commands/load_hook.py | 1 - cecli/commands/load_mcp.py | 1 - 9 files changed, 4 insertions(+), 5 deletions(-) diff --git a/cecli/commands/agent.py b/cecli/commands/agent.py index 635f0287bb1..3f78c20931c 100644 --- a/cecli/commands/agent.py +++ b/cecli/commands/agent.py @@ -9,6 +9,7 @@ class AgentCommand(BaseCommand): "Enter agent mode to autonomously discover and manage relevant files. If no prompt" " provided, switches to agent mode." ) + show_completion_notification = True @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/agent_model.py b/cecli/commands/agent_model.py index 1b10617a129..04f9c5ad8f6 100644 --- a/cecli/commands/agent_model.py +++ b/cecli/commands/agent_model.py @@ -9,6 +9,7 @@ class AgentModelCommand(BaseCommand): NORM_NAME = "agent-model" DESCRIPTION = "Switch the Agent Model to a new LLM" + show_completion_notification = True @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/architect.py b/cecli/commands/architect.py index 6f2d33e44cd..e17c4c1cad7 100644 --- a/cecli/commands/architect.py +++ b/cecli/commands/architect.py @@ -9,6 +9,7 @@ class ArchitectCommand(BaseCommand): "Enter architect/editor mode using 2 different models. If no prompt provided, switches to" " architect/editor mode." ) + show_completion_notification = True @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/clear.py b/cecli/commands/clear.py index 0c4ba8b560e..a5b1df139e9 100644 --- a/cecli/commands/clear.py +++ b/cecli/commands/clear.py @@ -8,6 +8,7 @@ class ClearCommand(BaseCommand): NORM_NAME = "clear" DESCRIPTION = "Clear the chat history" + show_completion_notification = True @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/list_sessions.py b/cecli/commands/list_sessions.py index 4b7834bdaf7..b896b17e547 100644 --- a/cecli/commands/list_sessions.py +++ b/cecli/commands/list_sessions.py @@ -7,7 +7,6 @@ class ListSessionsCommand(BaseCommand): NORM_NAME = "list-sessions" DESCRIPTION = "List all saved sessions in .cecli/sessions/" - show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/list_skills.py b/cecli/commands/list_skills.py index 440b5660098..752dc885c06 100644 --- a/cecli/commands/list_skills.py +++ b/cecli/commands/list_skills.py @@ -7,7 +7,6 @@ class ListSkillsCommand(BaseCommand): NORM_NAME = "list-skills" DESCRIPTION = "List all available skills with their states and file paths" - show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/load.py b/cecli/commands/load.py index e3bdae6a643..80fb743d040 100644 --- a/cecli/commands/load.py +++ b/cecli/commands/load.py @@ -8,7 +8,6 @@ class LoadCommand(BaseCommand): NORM_NAME = "load" DESCRIPTION = "Load and execute commands from a file" - show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/load_hook.py b/cecli/commands/load_hook.py index 66139f504e8..cd3cc1c25c3 100644 --- a/cecli/commands/load_hook.py +++ b/cecli/commands/load_hook.py @@ -7,7 +7,6 @@ class LoadHookCommand(BaseCommand): NORM_NAME = "load-hook" DESCRIPTION = "Enable a specific hook by name" - show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/load_mcp.py b/cecli/commands/load_mcp.py index 83d86713a55..302d568640f 100644 --- a/cecli/commands/load_mcp.py +++ b/cecli/commands/load_mcp.py @@ -7,7 +7,6 @@ class LoadMcpCommand(BaseCommand): NORM_NAME = "load-mcp" DESCRIPTION = "Load MCP server(s) by name, or use '*' to load all enabled servers" - show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): From 1dfb8d84b10453f1f04dd45a93536ce223ce0aac Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 3 Jun 2026 12:48:27 -0700 Subject: [PATCH 05/11] refactor: Update show_completion_notification for command files Co-authored-by: cecli (openai/gemini_cli_local/gemini-2.5-pro) --- cecli/commands/code.py | 1 + cecli/commands/command_prefix.py | 1 + cecli/commands/compact.py | 1 + cecli/commands/context.py | 1 + cecli/commands/load_session.py | 1 - cecli/commands/load_skill.py | 1 - cecli/commands/ls.py | 1 - cecli/commands/map.py | 1 - cecli/commands/merge.py | 1 - 9 files changed, 4 insertions(+), 5 deletions(-) diff --git a/cecli/commands/code.py b/cecli/commands/code.py index 5730550a913..c093c1e85de 100644 --- a/cecli/commands/code.py +++ b/cecli/commands/code.py @@ -6,6 +6,7 @@ class CodeCommand(BaseCommand): NORM_NAME = "code" DESCRIPTION = "Ask for changes to your code. If no prompt provided, switches to code mode." + show_completion_notification = True @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/command_prefix.py b/cecli/commands/command_prefix.py index f27a387ead4..66b5cce99ed 100644 --- a/cecli/commands/command_prefix.py +++ b/cecli/commands/command_prefix.py @@ -7,6 +7,7 @@ class CommandPrefixCommand(BaseCommand): NORM_NAME = "command-prefix" DESCRIPTION = "Change command prefix for all running commands" + show_completion_notification = True @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/compact.py b/cecli/commands/compact.py index ddedddf33b6..0ddc5a0ae38 100644 --- a/cecli/commands/compact.py +++ b/cecli/commands/compact.py @@ -4,6 +4,7 @@ class CompactCommand(BaseCommand): NORM_NAME = "compact" DESCRIPTION = "Force compaction of the chat history context" + show_completion_notification = True @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/context.py b/cecli/commands/context.py index 8ed9331120d..753ffa3cf2c 100644 --- a/cecli/commands/context.py +++ b/cecli/commands/context.py @@ -9,6 +9,7 @@ class ContextCommand(BaseCommand): "Enter context mode to see surrounding code context. If no prompt provided, switches to" " context mode." ) + show_completion_notification = True @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/load_session.py b/cecli/commands/load_session.py index 3278c3a2906..f3c38396a8b 100644 --- a/cecli/commands/load_session.py +++ b/cecli/commands/load_session.py @@ -7,7 +7,6 @@ class LoadSessionCommand(BaseCommand): NORM_NAME = "load-session" DESCRIPTION = "Load a saved session by name or file path" - show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/load_skill.py b/cecli/commands/load_skill.py index 328f56653f9..1d18afe023f 100644 --- a/cecli/commands/load_skill.py +++ b/cecli/commands/load_skill.py @@ -7,7 +7,6 @@ class LoadSkillCommand(BaseCommand): NORM_NAME = "load-skill" DESCRIPTION = "Load a skill by name (agent mode only)" - show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/ls.py b/cecli/commands/ls.py index 934c4b1bda4..f04fd011d7e 100644 --- a/cecli/commands/ls.py +++ b/cecli/commands/ls.py @@ -7,7 +7,6 @@ class LsCommand(BaseCommand): NORM_NAME = "ls" DESCRIPTION = "List all known files and indicate which are included in the chat session" - show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/map.py b/cecli/commands/map.py index beaad37e1b5..e362dd23162 100644 --- a/cecli/commands/map.py +++ b/cecli/commands/map.py @@ -8,7 +8,6 @@ class MapCommand(BaseCommand): NORM_NAME = "map" DESCRIPTION = "Print out the current repository map" - show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/merge.py b/cecli/commands/merge.py index 00669d63363..c818504ee4a 100644 --- a/cecli/commands/merge.py +++ b/cecli/commands/merge.py @@ -11,7 +11,6 @@ class MergeCommand(BaseCommand): NORM_NAME = "merge" DESCRIPTION = "Merge the current sub-agent's summary into a target agent's conversation" - show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): From 65bb3e03d7669f08b7058d979b11c9276d9d8428 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 3 Jun 2026 13:11:09 -0700 Subject: [PATCH 06/11] chore: Remove unused show_completion_notification attribute --- cecli/commands/context_blocks.py | 1 - cecli/commands/context_management.py | 1 - cecli/commands/copy.py | 1 - cecli/commands/copy_context.py | 1 - cecli/commands/diff.py | 1 - cecli/commands/drop.py | 1 - cecli/commands/editor.py | 1 - 7 files changed, 7 deletions(-) diff --git a/cecli/commands/context_blocks.py b/cecli/commands/context_blocks.py index 782cae61f67..f7d4d05edd6 100644 --- a/cecli/commands/context_blocks.py +++ b/cecli/commands/context_blocks.py @@ -7,7 +7,6 @@ class ContextBlocksCommand(BaseCommand): NORM_NAME = "context-blocks" DESCRIPTION = "Toggle enhanced context blocks or print a specific block" - show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/context_management.py b/cecli/commands/context_management.py index 4a70bab05e7..6d7e14bc99e 100644 --- a/cecli/commands/context_management.py +++ b/cecli/commands/context_management.py @@ -8,7 +8,6 @@ class ContextManagementCommand(BaseCommand): NORM_NAME = "context-management" DESCRIPTION = "Toggle context management for large files" - show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/copy.py b/cecli/commands/copy.py index 4edb3b1c180..0d984d09644 100644 --- a/cecli/commands/copy.py +++ b/cecli/commands/copy.py @@ -10,7 +10,6 @@ class CopyCommand(BaseCommand): NORM_NAME = "copy" DESCRIPTION = "Copy the last assistant message to the clipboard" - show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/copy_context.py b/cecli/commands/copy_context.py index ced8704a8cf..900557a7eb4 100644 --- a/cecli/commands/copy_context.py +++ b/cecli/commands/copy_context.py @@ -10,7 +10,6 @@ class CopyContextCommand(BaseCommand): NORM_NAME = "copy-context" DESCRIPTION = "Copy the current chat context as markdown, suitable to paste into a web UI" - show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/diff.py b/cecli/commands/diff.py index 3b35f6e9bcf..c5907788b31 100644 --- a/cecli/commands/diff.py +++ b/cecli/commands/diff.py @@ -8,7 +8,6 @@ class DiffCommand(BaseCommand): NORM_NAME = "diff" DESCRIPTION = "Display the diff of changes since the last message" - show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/drop.py b/cecli/commands/drop.py index 6587b930149..92ef0992514 100644 --- a/cecli/commands/drop.py +++ b/cecli/commands/drop.py @@ -13,7 +13,6 @@ class DropCommand(BaseCommand): NORM_NAME = "drop" DESCRIPTION = "Remove files from the chat session to free up context space" - show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/editor.py b/cecli/commands/editor.py index 691dc29dd8e..5994382bf85 100644 --- a/cecli/commands/editor.py +++ b/cecli/commands/editor.py @@ -8,7 +8,6 @@ class EditorCommand(BaseCommand): NORM_NAME = "editor" DESCRIPTION = "Open an editor to write a prompt" - show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): From 76a16d339e1fabb21976e9c366be42c68337b826 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 3 Jun 2026 13:21:28 -0700 Subject: [PATCH 07/11] refactor: Update show_completion_notification in command classes Co-authored-by: cecli (openai/gemini_cli_local/gemini-2.5-pro) --- cecli/commands/context_blocks.py | 1 + cecli/commands/context_management.py | 1 + cecli/commands/copy.py | 1 + cecli/commands/copy_context.py | 1 + cecli/commands/diff.py | 1 + cecli/commands/drop.py | 1 + cecli/commands/editor.py | 2 ++ cecli/commands/git.py | 1 + cecli/commands/hashline.py | 1 + cecli/commands/help.py | 1 + cecli/commands/history_search.py | 1 + cecli/commands/lint.py | 1 + cecli/commands/map_refresh.py | 1 + cecli/commands/model.py | 1 - cecli/commands/models.py | 1 - cecli/commands/multiline_mode.py | 1 + cecli/commands/paste.py | 1 - cecli/commands/quit.py | 1 + cecli/commands/read_only.py | 1 - cecli/commands/read_only_stub.py | 1 - cecli/commands/reap_agent.py | 1 - cecli/commands/reasoning_effort.py | 1 + cecli/commands/remove_hook.py | 1 - cecli/commands/remove_mcp.py | 1 - cecli/commands/remove_skill.py | 1 - cecli/commands/report.py | 1 + cecli/commands/reset.py | 1 - cecli/commands/rules.py | 1 + cecli/commands/save.py | 1 - cecli/commands/save_session.py | 1 - cecli/commands/settings.py | 1 - cecli/commands/spawn_agent.py | 1 + cecli/commands/switch_agent.py | 1 + cecli/commands/terminal_setup.py | 1 + cecli/commands/think_tokens.py | 1 - cecli/commands/tokens.py | 1 - cecli/commands/undo.py | 1 - cecli/commands/voice.py | 1 - cecli/commands/weak_model.py | 1 - cecli/commands/web.py | 1 + cecli/commands/workspace.py | 1 + 41 files changed, 24 insertions(+), 18 deletions(-) diff --git a/cecli/commands/context_blocks.py b/cecli/commands/context_blocks.py index f7d4d05edd6..8c99f1aa6c9 100644 --- a/cecli/commands/context_blocks.py +++ b/cecli/commands/context_blocks.py @@ -7,6 +7,7 @@ class ContextBlocksCommand(BaseCommand): NORM_NAME = "context-blocks" DESCRIPTION = "Toggle enhanced context blocks or print a specific block" + show_completion_notification = True @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/context_management.py b/cecli/commands/context_management.py index 6d7e14bc99e..dd5043639c6 100644 --- a/cecli/commands/context_management.py +++ b/cecli/commands/context_management.py @@ -8,6 +8,7 @@ class ContextManagementCommand(BaseCommand): NORM_NAME = "context-management" DESCRIPTION = "Toggle context management for large files" + show_completion_notification = True @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/copy.py b/cecli/commands/copy.py index 0d984d09644..a187b7a9810 100644 --- a/cecli/commands/copy.py +++ b/cecli/commands/copy.py @@ -10,6 +10,7 @@ class CopyCommand(BaseCommand): NORM_NAME = "copy" DESCRIPTION = "Copy the last assistant message to the clipboard" + show_completion_notification = True @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/copy_context.py b/cecli/commands/copy_context.py index 900557a7eb4..e968ddf295e 100644 --- a/cecli/commands/copy_context.py +++ b/cecli/commands/copy_context.py @@ -10,6 +10,7 @@ class CopyContextCommand(BaseCommand): NORM_NAME = "copy-context" DESCRIPTION = "Copy the current chat context as markdown, suitable to paste into a web UI" + show_completion_notification = True @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/diff.py b/cecli/commands/diff.py index c5907788b31..e6650bde2fb 100644 --- a/cecli/commands/diff.py +++ b/cecli/commands/diff.py @@ -8,6 +8,7 @@ class DiffCommand(BaseCommand): NORM_NAME = "diff" DESCRIPTION = "Display the diff of changes since the last message" + show_completion_notification = True @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/drop.py b/cecli/commands/drop.py index 92ef0992514..d176668904f 100644 --- a/cecli/commands/drop.py +++ b/cecli/commands/drop.py @@ -13,6 +13,7 @@ class DropCommand(BaseCommand): NORM_NAME = "drop" DESCRIPTION = "Remove files from the chat session to free up context space" + show_completion_notification = True @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/editor.py b/cecli/commands/editor.py index 5994382bf85..65031250ce8 100644 --- a/cecli/commands/editor.py +++ b/cecli/commands/editor.py @@ -8,6 +8,7 @@ class EditorCommand(BaseCommand): NORM_NAME = "editor" DESCRIPTION = "Open an editor to write a prompt" + show_completion_notification = True @classmethod async def execute(cls, io, coder, args, **kwargs): @@ -48,6 +49,7 @@ def get_help(cls) -> str: class EditCommand(BaseCommand): NORM_NAME = "edit" DESCRIPTION = "Alias for /editor: Open an editor to write a prompt" + show_completion_notification = True @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/git.py b/cecli/commands/git.py index e1d96708efd..00d589662a5 100644 --- a/cecli/commands/git.py +++ b/cecli/commands/git.py @@ -8,6 +8,7 @@ class GitCommand(BaseCommand): NORM_NAME = "git" DESCRIPTION = "Run a git command (output excluded from chat)" + show_completion_notification = True @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/hashline.py b/cecli/commands/hashline.py index 58690a77f75..2abbec7d83b 100644 --- a/cecli/commands/hashline.py +++ b/cecli/commands/hashline.py @@ -9,6 +9,7 @@ class HashlineCommand(BaseCommand): "Enter agent mode to autonomously discover and manage relevant files. If no prompt" " provided, switches to hashline mode." ) + show_completion_notification = True @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/help.py b/cecli/commands/help.py index 0a344a20db2..e3e364d0828 100644 --- a/cecli/commands/help.py +++ b/cecli/commands/help.py @@ -8,6 +8,7 @@ class HelpCommand(BaseCommand): NORM_NAME = "help" DESCRIPTION = "Ask questions about cecli" + show_completion_notification = True @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/history_search.py b/cecli/commands/history_search.py index d5b47d6e10b..ce6643ffe93 100644 --- a/cecli/commands/history_search.py +++ b/cecli/commands/history_search.py @@ -9,6 +9,7 @@ class HistorySearchCommand(BaseCommand): NORM_NAME = "history-search" DESCRIPTION = "Fuzzy search in history and paste it in the prompt" + show_completion_notification = True @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/lint.py b/cecli/commands/lint.py index 24945413eb4..c5c08a8f986 100644 --- a/cecli/commands/lint.py +++ b/cecli/commands/lint.py @@ -8,6 +8,7 @@ class LintCommand(BaseCommand): NORM_NAME = "lint" DESCRIPTION = "Lint and fix in-chat files or all dirty files if none in chat" + show_completion_notification = True @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/map_refresh.py b/cecli/commands/map_refresh.py index a190fdcc11b..627f9d03f18 100644 --- a/cecli/commands/map_refresh.py +++ b/cecli/commands/map_refresh.py @@ -8,6 +8,7 @@ class MapRefreshCommand(BaseCommand): NORM_NAME = "map-refresh" DESCRIPTION = "Force a refresh of the repository map" + show_completion_notification = True @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/model.py b/cecli/commands/model.py index cc053cc04bb..8d4212b2f27 100644 --- a/cecli/commands/model.py +++ b/cecli/commands/model.py @@ -9,7 +9,6 @@ class ModelCommand(BaseCommand): NORM_NAME = "model" DESCRIPTION = "Switch the Main Model to a new LLM" - show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/models.py b/cecli/commands/models.py index 6dbe4ed9900..57beb1b4f24 100644 --- a/cecli/commands/models.py +++ b/cecli/commands/models.py @@ -8,7 +8,6 @@ class ModelsCommand(BaseCommand): NORM_NAME = "models" DESCRIPTION = "Search the list of available models" - show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/multiline_mode.py b/cecli/commands/multiline_mode.py index 46ba4986d67..0388bfdeeba 100644 --- a/cecli/commands/multiline_mode.py +++ b/cecli/commands/multiline_mode.py @@ -7,6 +7,7 @@ class MultilineModeCommand(BaseCommand): NORM_NAME = "multiline-mode" DESCRIPTION = "Toggle multiline mode (swaps behavior of Enter and Meta+Enter)" + show_completion_notification = True @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/paste.py b/cecli/commands/paste.py index a7b57339bf4..fd7fc4306b8 100644 --- a/cecli/commands/paste.py +++ b/cecli/commands/paste.py @@ -16,7 +16,6 @@ class PasteCommand(BaseCommand): "Paste image/text from the clipboard into the chat. Optionally provide a name for the" " image." ) - show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/quit.py b/cecli/commands/quit.py index 28a204ed2f6..ba8a691cd56 100644 --- a/cecli/commands/quit.py +++ b/cecli/commands/quit.py @@ -7,6 +7,7 @@ class QuitCommand(BaseCommand): NORM_NAME = "quit" DESCRIPTION = "Exit the application (alias for /exit)" + show_completion_notification = True @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/read_only.py b/cecli/commands/read_only.py index 6fc127eb802..b5f5b4d98d9 100644 --- a/cecli/commands/read_only.py +++ b/cecli/commands/read_only.py @@ -19,7 +19,6 @@ class ReadOnlyCommand(BaseCommand): DESCRIPTION = ( "Add files to the chat that are for reference only, or turn added files to read-only" ) - show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/read_only_stub.py b/cecli/commands/read_only_stub.py index b5e2b1ecb3b..c75ff9b6628 100644 --- a/cecli/commands/read_only_stub.py +++ b/cecli/commands/read_only_stub.py @@ -19,7 +19,6 @@ class ReadOnlyStubCommand(BaseCommand): DESCRIPTION = ( "Add files to the chat as read-only stubs, or turn added files to read-only (stubs)" ) - show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/reap_agent.py b/cecli/commands/reap_agent.py index bbdbdf81874..d9b53c8f177 100644 --- a/cecli/commands/reap_agent.py +++ b/cecli/commands/reap_agent.py @@ -11,7 +11,6 @@ class ReapAgentCommand(BaseCommand): NORM_NAME = "reap-agent" DESCRIPTION = "Force destroy the active sub-agent" - show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/reasoning_effort.py b/cecli/commands/reasoning_effort.py index b04a8d59b25..e2dd29c1366 100644 --- a/cecli/commands/reasoning_effort.py +++ b/cecli/commands/reasoning_effort.py @@ -9,6 +9,7 @@ class ReasoningEffortCommand(BaseCommand): DESCRIPTION = ( "Set the reasoning effort level (values: number or low/medium/high depending on model)" ) + show_completion_notification = True @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/remove_hook.py b/cecli/commands/remove_hook.py index f50b2d7ad53..1eb5056687d 100644 --- a/cecli/commands/remove_hook.py +++ b/cecli/commands/remove_hook.py @@ -7,7 +7,6 @@ class RemoveHookCommand(BaseCommand): NORM_NAME = "remove-hook" DESCRIPTION = "Disable a specific hook by name" - show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/remove_mcp.py b/cecli/commands/remove_mcp.py index b3432a97ca0..ad212da4051 100644 --- a/cecli/commands/remove_mcp.py +++ b/cecli/commands/remove_mcp.py @@ -7,7 +7,6 @@ class RemoveMcpCommand(BaseCommand): NORM_NAME = "remove-mcp" DESCRIPTION = "Remove a MCP server by name, or use '*' to remove all" - show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/remove_skill.py b/cecli/commands/remove_skill.py index 81c684f7dd3..e557abeeeae 100644 --- a/cecli/commands/remove_skill.py +++ b/cecli/commands/remove_skill.py @@ -7,7 +7,6 @@ class RemoveSkillCommand(BaseCommand): NORM_NAME = "remove-skill" DESCRIPTION = "Remove a skill by name (agent mode only)" - show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/report.py b/cecli/commands/report.py index 21bcfb30bda..5f2887ccdbb 100644 --- a/cecli/commands/report.py +++ b/cecli/commands/report.py @@ -7,6 +7,7 @@ class ReportCommand(BaseCommand): NORM_NAME = "report" DESCRIPTION = "Report a problem by opening a GitHub Issue" + show_completion_notification = True @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/reset.py b/cecli/commands/reset.py index f45b65f5152..78841e3c1fa 100644 --- a/cecli/commands/reset.py +++ b/cecli/commands/reset.py @@ -9,7 +9,6 @@ class ResetCommand(BaseCommand): NORM_NAME = "reset" DESCRIPTION = "Drop all files and clear the chat history" - show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/rules.py b/cecli/commands/rules.py index 4aeddbf6873..916d0398984 100644 --- a/cecli/commands/rules.py +++ b/cecli/commands/rules.py @@ -16,6 +16,7 @@ class RulesCommand(BaseCommand): NORM_NAME = "rules" DESCRIPTION = "Add rule files to the chat for reference" + show_completion_notification = True @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/save.py b/cecli/commands/save.py index f7a84a816ac..b63c0ca9511 100644 --- a/cecli/commands/save.py +++ b/cecli/commands/save.py @@ -8,7 +8,6 @@ class SaveCommand(BaseCommand): NORM_NAME = "save" DESCRIPTION = "Save commands to a file that can reconstruct the current chat session's files" - show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/save_session.py b/cecli/commands/save_session.py index 8fce2bda5e6..16a96d61453 100644 --- a/cecli/commands/save_session.py +++ b/cecli/commands/save_session.py @@ -7,7 +7,6 @@ class SaveSessionCommand(BaseCommand): NORM_NAME = "save-session" DESCRIPTION = "Save the current chat session to a named file in .cecli/sessions/" - show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/settings.py b/cecli/commands/settings.py index 02f9bd01b85..864db4686bf 100644 --- a/cecli/commands/settings.py +++ b/cecli/commands/settings.py @@ -8,7 +8,6 @@ class SettingsCommand(BaseCommand): NORM_NAME = "settings" DESCRIPTION = "Print out the current settings" - show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/spawn_agent.py b/cecli/commands/spawn_agent.py index 6b1c185d17d..9498ab8e78a 100644 --- a/cecli/commands/spawn_agent.py +++ b/cecli/commands/spawn_agent.py @@ -6,6 +6,7 @@ class SpawnAgentCommand(BaseCommand): NORM_NAME = "spawn-agent" DESCRIPTION = "Spawn a sub-agent, optionally with a prompt" + show_completion_notification = True @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/switch_agent.py b/cecli/commands/switch_agent.py index 7f4697e0da2..bbfc72e3797 100644 --- a/cecli/commands/switch_agent.py +++ b/cecli/commands/switch_agent.py @@ -8,6 +8,7 @@ class SwitchAgentCommand(BaseCommand): NORM_NAME = "switch-agent" DESCRIPTION = "Switch to a specific agent by name" + show_completion_notification = True @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/terminal_setup.py b/cecli/commands/terminal_setup.py index 3fbe5a32e36..5f605852f52 100644 --- a/cecli/commands/terminal_setup.py +++ b/cecli/commands/terminal_setup.py @@ -17,6 +17,7 @@ class TerminalSetupCommand(BaseCommand): NORM_NAME = "terminal-setup" DESCRIPTION = "Configure terminal config files to support shift+enter for newline" + show_completion_notification = True KITTY_BINDING = "\n# Added by cecli terminal-setup command\nmap shift+enter send_text all \\n\n" diff --git a/cecli/commands/think_tokens.py b/cecli/commands/think_tokens.py index 4243f071f66..71b77e31166 100644 --- a/cecli/commands/think_tokens.py +++ b/cecli/commands/think_tokens.py @@ -7,7 +7,6 @@ class ThinkTokensCommand(BaseCommand): NORM_NAME = "think-tokens" DESCRIPTION = "Set the thinking token budget, eg: 8096, 8k, 10.5k, 0.5M, or 0 to disable" - show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/tokens.py b/cecli/commands/tokens.py index 38fec9ef49f..1ef30e6e825 100644 --- a/cecli/commands/tokens.py +++ b/cecli/commands/tokens.py @@ -8,7 +8,6 @@ class TokensCommand(BaseCommand): NORM_NAME = "tokens" DESCRIPTION = "Report on the number of tokens used by the current chat context" - show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/undo.py b/cecli/commands/undo.py index 15dbfb74b82..66b02c24f11 100644 --- a/cecli/commands/undo.py +++ b/cecli/commands/undo.py @@ -9,7 +9,6 @@ class UndoCommand(BaseCommand): NORM_NAME = "undo" DESCRIPTION = "Undo the last git commit if it was done by cecli" - show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/voice.py b/cecli/commands/voice.py index d364573da95..6b40fddb538 100644 --- a/cecli/commands/voice.py +++ b/cecli/commands/voice.py @@ -10,7 +10,6 @@ class VoiceCommand(BaseCommand): NORM_NAME = "voice" DESCRIPTION = "Record and transcribe voice input" - show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/weak_model.py b/cecli/commands/weak_model.py index effdae7ef58..97f75c0c2f3 100644 --- a/cecli/commands/weak_model.py +++ b/cecli/commands/weak_model.py @@ -9,7 +9,6 @@ class WeakModelCommand(BaseCommand): NORM_NAME = "weak-model" DESCRIPTION = "Switch the Weak Model to a new LLM" - show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/web.py b/cecli/commands/web.py index fac419e884c..3de9f7b6cd7 100644 --- a/cecli/commands/web.py +++ b/cecli/commands/web.py @@ -9,6 +9,7 @@ class WebCommand(BaseCommand): NORM_NAME = "web" DESCRIPTION = "Scrape a webpage, convert to markdown and send in a message" + show_completion_notification = True @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/workspace.py b/cecli/commands/workspace.py index 411dff86673..f0fa3dda209 100644 --- a/cecli/commands/workspace.py +++ b/cecli/commands/workspace.py @@ -6,6 +6,7 @@ class WorkspaceCommand(BaseCommand): NORM_NAME = "workspace" DESCRIPTION = "Print information about the current workspace" + show_completion_notification = True @classmethod async def execute(cls, io, coder, args, **kwargs): From e9fd71e2a232120788101ab8cc63f686d567a728 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 3 Jun 2026 13:45:12 -0700 Subject: [PATCH 08/11] fix: Adjust show_completion_notification for specific commands Co-authored-by: cecli (openai/gemini_cli_local/gemini-2.5-pro) --- cecli/commands/add.py | 2 +- cecli/commands/clear.py | 2 +- cecli/commands/quit.py | 1 - cecli/commands/spawn_agent.py | 1 - cecli/commands/switch_agent.py | 1 - 5 files changed, 2 insertions(+), 5 deletions(-) diff --git a/cecli/commands/add.py b/cecli/commands/add.py index 37a7537fbad..c4a4e31d15b 100644 --- a/cecli/commands/add.py +++ b/cecli/commands/add.py @@ -16,7 +16,7 @@ class AddCommand(BaseCommand): NORM_NAME = "add" DESCRIPTION = "Add files to the chat so cecli can edit them or review them in detail" - show_completion_notification = True + show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/clear.py b/cecli/commands/clear.py index a5b1df139e9..793b55d80ee 100644 --- a/cecli/commands/clear.py +++ b/cecli/commands/clear.py @@ -8,7 +8,7 @@ class ClearCommand(BaseCommand): NORM_NAME = "clear" DESCRIPTION = "Clear the chat history" - show_completion_notification = True + show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/quit.py b/cecli/commands/quit.py index ba8a691cd56..28a204ed2f6 100644 --- a/cecli/commands/quit.py +++ b/cecli/commands/quit.py @@ -7,7 +7,6 @@ class QuitCommand(BaseCommand): NORM_NAME = "quit" DESCRIPTION = "Exit the application (alias for /exit)" - show_completion_notification = True @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/spawn_agent.py b/cecli/commands/spawn_agent.py index 9498ab8e78a..6b1c185d17d 100644 --- a/cecli/commands/spawn_agent.py +++ b/cecli/commands/spawn_agent.py @@ -6,7 +6,6 @@ class SpawnAgentCommand(BaseCommand): NORM_NAME = "spawn-agent" DESCRIPTION = "Spawn a sub-agent, optionally with a prompt" - show_completion_notification = True @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/switch_agent.py b/cecli/commands/switch_agent.py index bbfc72e3797..7f4697e0da2 100644 --- a/cecli/commands/switch_agent.py +++ b/cecli/commands/switch_agent.py @@ -8,7 +8,6 @@ class SwitchAgentCommand(BaseCommand): NORM_NAME = "switch-agent" DESCRIPTION = "Switch to a specific agent by name" - show_completion_notification = True @classmethod async def execute(cls, io, coder, args, **kwargs): From f99f55ddd1d9bed4e447b3cc0a4578d5976dc2ce Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 3 Jun 2026 13:47:24 -0700 Subject: [PATCH 09/11] refactor: Update show_completion_notification to False for diff, copy, and copy_context Co-authored-by: cecli (openai/gemini_cli_local/gemini-2.5-pro) --- cecli/commands/copy.py | 2 +- cecli/commands/copy_context.py | 2 +- cecli/commands/diff.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cecli/commands/copy.py b/cecli/commands/copy.py index a187b7a9810..4edb3b1c180 100644 --- a/cecli/commands/copy.py +++ b/cecli/commands/copy.py @@ -10,7 +10,7 @@ class CopyCommand(BaseCommand): NORM_NAME = "copy" DESCRIPTION = "Copy the last assistant message to the clipboard" - show_completion_notification = True + show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/copy_context.py b/cecli/commands/copy_context.py index e968ddf295e..ced8704a8cf 100644 --- a/cecli/commands/copy_context.py +++ b/cecli/commands/copy_context.py @@ -10,7 +10,7 @@ class CopyContextCommand(BaseCommand): NORM_NAME = "copy-context" DESCRIPTION = "Copy the current chat context as markdown, suitable to paste into a web UI" - show_completion_notification = True + show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/diff.py b/cecli/commands/diff.py index e6650bde2fb..3b35f6e9bcf 100644 --- a/cecli/commands/diff.py +++ b/cecli/commands/diff.py @@ -8,7 +8,7 @@ class DiffCommand(BaseCommand): NORM_NAME = "diff" DESCRIPTION = "Display the diff of changes since the last message" - show_completion_notification = True + show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): From 408a0ae03702eb049b6d5c42ff917eed993170ba Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 3 Jun 2026 14:04:52 -0700 Subject: [PATCH 10/11] fix: Set show_completion_notification to False for context commands Co-authored-by: cecli (openai/gemini_cli_local/gemini-2.5-pro) --- cecli/commands/context_blocks.py | 2 +- cecli/commands/context_management.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cecli/commands/context_blocks.py b/cecli/commands/context_blocks.py index 8c99f1aa6c9..782cae61f67 100644 --- a/cecli/commands/context_blocks.py +++ b/cecli/commands/context_blocks.py @@ -7,7 +7,7 @@ class ContextBlocksCommand(BaseCommand): NORM_NAME = "context-blocks" DESCRIPTION = "Toggle enhanced context blocks or print a specific block" - show_completion_notification = True + show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): diff --git a/cecli/commands/context_management.py b/cecli/commands/context_management.py index dd5043639c6..4a70bab05e7 100644 --- a/cecli/commands/context_management.py +++ b/cecli/commands/context_management.py @@ -8,7 +8,7 @@ class ContextManagementCommand(BaseCommand): NORM_NAME = "context-management" DESCRIPTION = "Toggle context management for large files" - show_completion_notification = True + show_completion_notification = False @classmethod async def execute(cls, io, coder, args, **kwargs): From 9a9e99e2efe6cb6ed27a0e0560ee6679bf8ad2ec Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 3 Jun 2026 19:49:06 -0700 Subject: [PATCH 11/11] cli-44: fix --- cecli/commands/utils/base_command.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cecli/commands/utils/base_command.py b/cecli/commands/utils/base_command.py index bc7e0951350..d9e0d4c74d2 100644 --- a/cecli/commands/utils/base_command.py +++ b/cecli/commands/utils/base_command.py @@ -37,7 +37,7 @@ class BaseCommand(ABC, metaclass=CommandMeta): NORM_NAME = None # Normalized command name (e.g., "add", "model") DESCRIPTION = None # Command description for help SCHEMA = None # Optional schema for parameter validation - show_completion_notification = True + show_completion_notification = False @classmethod @abstractmethod