diff --git a/.changeset/clarify-permission-mode-copy.md b/.changeset/clarify-permission-mode-copy.md new file mode 100644 index 000000000..ca6dc0861 --- /dev/null +++ b/.changeset/clarify-permission-mode-copy.md @@ -0,0 +1,5 @@ +--- +"@moonshot-ai/kimi-code": patch +--- + +Clarify which actions YOLO and Auto permission modes approve automatically across the CLI and TUI. diff --git a/apps/kimi-code/src/cli/commands.ts b/apps/kimi-code/src/cli/commands.ts index 960c707a6..330c60143 100644 --- a/apps/kimi-code/src/cli/commands.ts +++ b/apps/kimi-code/src/cli/commands.ts @@ -46,8 +46,8 @@ export function createProgram( ) .option('-c, --continue', 'Continue the previous session for the working directory.', false) .addOption(new Option('-C').hideHelp().default(false)) - .option('-y, --yolo', 'Auto-approve regular tool calls; the agent may still ask questions.', false) - .option('--auto', 'Start in auto permission mode: fully autonomous, the agent will not ask questions.', false) + .option('-y, --yolo', 'Auto-approve regular tools; sensitive actions may still need approval, and the agent may ask.', false) + .option('--auto', 'Run unattended: auto-approve permission prompts and never ask questions.', false) .addOption( new Option( '-m, --model ', diff --git a/apps/kimi-code/src/tui/commands/config.ts b/apps/kimi-code/src/tui/commands/config.ts index 5cab011ea..e84e5a13a 100644 --- a/apps/kimi-code/src/tui/commands/config.ts +++ b/apps/kimi-code/src/tui/commands/config.ts @@ -130,7 +130,7 @@ export async function handleYoloCommand(host: SlashCommandHost, args: string): P } await session.setPermission('yolo'); host.setAppState({ permissionMode: 'yolo' }); - host.showNotice('YOLO mode: ON', 'Tool actions auto-approved; the agent may still ask you questions.'); + host.showNotice('YOLO mode: ON', 'Regular tools auto-approved; sensitive actions may still need approval, and the agent may ask.'); return; } @@ -153,7 +153,7 @@ export async function handleYoloCommand(host: SlashCommandHost, args: string): P } else { await session.setPermission('yolo'); host.setAppState({ permissionMode: 'yolo' }); - host.showNotice('YOLO mode: ON', 'Tool actions auto-approved; the agent may still ask you questions.'); + host.showNotice('YOLO mode: ON', 'Regular tools auto-approved; sensitive actions may still need approval, and the agent may ask.'); } } @@ -174,7 +174,7 @@ export async function handleAutoCommand(host: SlashCommandHost, args: string): P } await session.setPermission('auto'); host.setAppState({ permissionMode: 'auto' }); - host.showNotice('Auto mode: ON', 'All actions auto-approved; the agent will not ask you questions.'); + host.showNotice('Auto mode: ON', 'Permission prompts auto-approved; the agent will not ask you questions.'); return; } @@ -197,7 +197,7 @@ export async function handleAutoCommand(host: SlashCommandHost, args: string): P } else { await session.setPermission('auto'); host.setAppState({ permissionMode: 'auto' }); - host.showNotice('Auto mode: ON', 'All actions auto-approved; the agent will not ask you questions.'); + host.showNotice('Auto mode: ON', 'Permission prompts auto-approved; the agent will not ask you questions.'); } } diff --git a/apps/kimi-code/src/tui/commands/registry.ts b/apps/kimi-code/src/tui/commands/registry.ts index 34556f7e6..500a018e0 100644 --- a/apps/kimi-code/src/tui/commands/registry.ts +++ b/apps/kimi-code/src/tui/commands/registry.ts @@ -136,14 +136,14 @@ export const BUILTIN_SLASH_COMMANDS = [ { name: 'yolo', aliases: ['yes'], - description: 'Toggle YOLO mode: auto-approve tool actions, but the agent may still ask questions.', + description: 'Toggle YOLO mode: auto-approve regular tools; sensitive actions may still need approval, and the agent may ask.', priority: 101, availability: 'always', }, { name: 'auto', aliases: [], - description: 'Toggle Auto mode: fully autonomous, agent decides everything without asking.', + description: 'Toggle Auto mode: run unattended, auto-approve permission prompts, and never ask questions.', priority: 99, availability: 'always', }, diff --git a/apps/kimi-code/src/tui/components/dialogs/permission-selector.ts b/apps/kimi-code/src/tui/components/dialogs/permission-selector.ts index c13098783..1091a3ae8 100644 --- a/apps/kimi-code/src/tui/components/dialogs/permission-selector.ts +++ b/apps/kimi-code/src/tui/components/dialogs/permission-selector.ts @@ -6,17 +6,17 @@ const PERMISSION_OPTIONS: readonly ChoiceOption[] = [ { value: 'manual', label: 'Manual', - description: 'Approve every action yourself.', + description: 'Review actions that require approval.', }, { value: 'yolo', label: 'YOLO', - description: 'Auto-approve tool actions, but the agent may still ask questions.', + description: 'Auto-approve regular tools; sensitive actions may still need approval, and the agent may ask.', }, { value: 'auto', label: 'Auto', - description: 'Fully autonomous — agent decides everything without asking.', + description: 'Run unattended — auto-approve permission prompts and never ask questions.', }, ]; diff --git a/apps/kimi-code/src/tui/controllers/session-replay.ts b/apps/kimi-code/src/tui/controllers/session-replay.ts index ad6e82358..af91b03cf 100644 --- a/apps/kimi-code/src/tui/controllers/session-replay.ts +++ b/apps/kimi-code/src/tui/controllers/session-replay.ts @@ -569,7 +569,7 @@ export class SessionReplayRenderer { if (mode === 'yolo') { this.host.appendTranscriptEntry( replayEntry(context, 'status', 'YOLO mode: ON', 'notice', { - detail: 'Tool actions auto-approved; the agent may still ask you questions.', + detail: 'Regular tools auto-approved; sensitive actions may still need approval, and the agent may ask.', }), ); return;