qwen-code/packages/cli/src/ui/hooks
tanzhenxin 8d74a0cf0a
feat(subagents): add disallowedTools field to agent definitions (#3064)
* feat(subagents): add disallowedTools field to agent definitions

Add a `disallowedTools` blocklist to agent frontmatter, letting agents
specify tools they should not have access to. Supports exact tool names,
MCP server-level patterns (e.g., `mcp__slack`), and display name aliases.

Applied as a post-filter in AgentCore.prepareTools() after the existing
`tools` allowlist. Persisted through serialize/parse roundtrips.

* docs: document disallowedTools and MCP tool behavior for subagents

Add Tool Configuration section to sub-agents docs explaining:
- tools allowlist and disallowedTools blocklist
- How MCP tools follow the same allowlist/blocklist rules
- MCP server-level patterns in disallowedTools

* fix(subagents): validate disallowedTools in SubagentValidator

Reuse the existing validateTools() method to validate disallowedTools
entries at config validation time, catching non-string and empty entries
before they reach runtime.

* test: remove flaky BaseSelectionList scroll test on Windows
2026-04-13 18:24:02 +08:00
..
atCommandProcessor.test.ts fix(cli,core): pass abort signal to MCP resource reads 2026-02-03 17:32:24 +08:00
atCommandProcessor.ts Merge branch 'main' into feat/image-attachment 2026-02-10 14:16:21 +08:00
keyToAnsi.ts Sync upstream Gemini-CLI v0.8.2 (#838) 2025-10-23 09:27:04 +08:00
shellCommandProcessor.test.ts fix: address PR review feedback for verbose/compact mode toggle 2026-04-04 20:43:06 +08:00
shellCommandProcessor.ts fix: address PR review feedback for verbose/compact mode toggle 2026-04-04 20:43:06 +08:00
slashCommandProcessor.test.ts feat test tool permissions 2026-03-10 16:30:22 +08:00
slashCommandProcessor.ts Merge pull request #2822 from qqqys/fix/cli_command 2026-04-05 14:27:01 +08:00
useAgentsManagerDialog.ts feat: subagent list dialog - working 2025-09-04 16:34:51 +08:00
useAgentStreamingState.ts feat(arena): improve cancellation handling and simplify to in-process mode 2026-03-12 16:57:44 +08:00
useApprovalModeCommand.ts Add Interactive Approval Mode Dialog (#1012) 2025-11-13 19:02:53 +08:00
useArenaCommand.ts feat(arena): Add agent collaboration arena feature 2026-02-18 10:51:35 +08:00
useArenaInProcess.ts feat(arena): improve agent UI with header info and simplify worktree branches 2026-03-11 11:04:46 +08:00
useAtCompletion.test.ts feat(subagents): add disallowedTools field to agent definitions (#3064) 2026-04-13 18:24:02 +08:00
useAtCompletion.ts Rename disable* settings to enable* and consolidated 1 setting 2026-02-01 16:04:49 +08:00
useAttentionNotifications.test.ts Add terminal bell setting to enable/disable audio notifications 2025-12-09 20:27:20 +01:00
useAttentionNotifications.ts remove hooks experimental and refactor hook Config 2026-04-01 11:50:23 +08:00
useAutoAcceptIndicator.test.ts fix(cli): prevent Tab key from cycling approval mode when autocomplete is active on Windows 2026-02-06 11:04:15 +08:00
useAutoAcceptIndicator.ts feat(cli): add agent composer UI and refactor text input handling 2026-03-10 16:53:10 +08:00
useBracketedPaste.ts pre-release commit 2025-07-22 23:26:01 +08:00
useCodingPlanUpdates.test.ts feat: add qwen3.6-plus model to ModelStudio Coding Plan (#3015) 2026-04-08 18:57:07 +08:00
useCodingPlanUpdates.ts feat(shell): enable PTY by default and various enhancements 2026-03-05 11:28:13 +08:00
useCommandCompletion.test.ts fix(ui): Remove dead dirs state and unused hook parameter from InputPrompt (#2891) 2026-04-08 22:18:22 +08:00
useCommandCompletion.tsx fix(ui): Remove dead dirs state and unused hook parameter from InputPrompt (#2891) 2026-04-08 22:18:22 +08:00
useCommandMigration.ts feat: migrate command format 2026-01-07 13:43:00 +08:00
useCompletion.ts Explict imports & exports with type modifier (#3774) 2025-08-25 22:04:53 +00:00
useContextualTips.ts feat: add contextual tips system with post-response context awareness (#2904) 2026-04-13 17:40:27 +08:00
useDialogClose.ts feat(arena): Add agent collaboration arena feature 2026-02-18 10:51:35 +08:00
useEditorSettings.test.ts 🐛 Bug Fixes Release v0.1.1 (#898) 2025-10-29 12:25:50 +08:00
useEditorSettings.ts 🐛 Bug Fixes Release v0.1.1 (#898) 2025-10-29 12:25:50 +08:00
useExtensionsManagerDialog.ts feat: Add interactive TUI for extension management 2026-02-28 16:06:34 +08:00
useExtensionUpdates.test.ts feat: add select ui for claude marketplace 2026-01-23 16:23:30 +08:00
useExtensionUpdates.ts feat: add select ui for claude marketplace 2026-01-23 16:23:30 +08:00
useFeedbackDialog.ts Merge branch 'main' into feat/debug-logging-refactor 2026-02-01 20:47:38 +08:00
useFocus.test.ts Sync upstream Gemini-CLI v0.8.2 (#838) 2025-10-23 09:27:04 +08:00
useFocus.ts Sync upstream Gemini-CLI v0.8.2 (#838) 2025-10-23 09:27:04 +08:00
useFolderTrust.test.ts Sync upstream Gemini-CLI v0.8.2 (#838) 2025-10-23 09:27:04 +08:00
useFolderTrust.ts Sync upstream Gemini-CLI v0.8.2 (#838) 2025-10-23 09:27:04 +08:00
useFollowupSuggestions.tsx fix(followup): prevent tool call UI leak and Enter accept buffer race (#2872) 2026-04-09 00:07:03 +08:00
useGeminiStream.test.tsx feat: add stopFailure and postCompact (#2825) 2026-04-13 12:54:44 +08:00
useGeminiStream.ts feat(skills): add model override support via skill frontmatter (#2949) 2026-04-13 17:57:41 +08:00
useGitBranchName.test.ts fix ci test 2026-01-20 11:59:14 +08:00
useGitBranchName.ts Replace spawn with execFile for memory-safe command execution (#1068) 2025-11-20 15:04:00 +08:00
useHistoryManager.test.ts Explict imports & exports with type modifier (#3774) 2025-08-25 22:04:53 +00:00
useHistoryManager.ts Explict imports & exports with type modifier (#3774) 2025-08-25 22:04:53 +00:00
useHooksDialog.ts refactor ui for qwen code hooks 2026-03-23 11:24:59 +08:00
useIdeTrustListener.test.ts Sync upstream Gemini-CLI v0.8.2 (#838) 2025-10-23 09:27:04 +08:00
useIdeTrustListener.ts Sync upstream Gemini-CLI v0.8.2 (#838) 2025-10-23 09:27:04 +08:00
useInitializationAuthError.ts refactor(auth): save authType after successfully authenticated (#1036) 2025-11-19 11:21:46 +08:00
useInputHistory.test.ts pre-release commit 2025-07-22 23:26:01 +08:00
useInputHistory.ts refactor(arena): move arena-bridge to context and add reactive manager tracking 2026-03-10 21:45:30 +08:00
useInputHistoryStore.test.ts refactor(debug): replace ConsolePatcher with debugLogger and update error reporting 2026-02-02 17:37:54 +08:00
useInputHistoryStore.ts feat(cli): migrate console calls to debugLogger and stdioHelpers (M3 Phase 7-9) 2026-01-26 15:02:37 +08:00
useKeypress.test.ts Sync upstream Gemini-CLI v0.8.2 (#838) 2025-10-23 09:27:04 +08:00
useKeypress.ts # 🚀 Sync Gemini CLI v0.2.1 - Major Feature Update (#483) 2025-09-01 14:48:55 +08:00
useKittyKeyboardProtocol.ts Add terminal setup command for Shift+Enter and Ctrl+Enter support (#3289) 2025-08-13 17:32:54 +00:00
useLaunchEditor.ts refactor: improve IDE context format and editor command error handling 2026-01-07 16:34:12 +08:00
useLoadingIndicator.test.ts feat(ui): implement per-task token tracking in LoadingIndicator 2026-03-18 17:35:37 +08:00
useLoadingIndicator.ts feat(ui): implement per-task token tracking in LoadingIndicator 2026-03-18 17:35:37 +08:00
useLogger.ts Session-Level Conversation History Management (#1113) 2025-12-03 18:04:48 +08:00
useMcpDialog.ts feat: add mcp dialog 2026-02-13 14:38:54 +08:00
useMemoryMonitor.test.ts Sync upstream Gemini-CLI v0.8.2 (#838) 2025-10-23 09:27:04 +08:00
useMemoryMonitor.ts Sync upstream Gemini-CLI v0.8.2 (#838) 2025-10-23 09:27:04 +08:00
useMessageQueue.test.ts feat(cli): queue input editing — pop queued messages for editing via ↑/ESC (#2871) 2026-04-11 14:38:32 +08:00
useMessageQueue.ts feat(cli): queue input editing — pop queued messages for editing via ↑/ESC (#2871) 2026-04-11 14:38:32 +08:00
useModelCommand.test.ts Sync upstream Gemini-CLI v0.8.2 (#838) 2025-10-23 09:27:04 +08:00
useModelCommand.ts feat(cli, webui): add follow-up suggestions feature (#2525) 2026-04-03 20:07:23 +08:00
usePhraseCycler.test.ts feat: update code 2025-12-24 17:12:27 +08:00
usePhraseCycler.ts feat: update code 2025-12-24 17:12:27 +08:00
useQwenAuth.test.ts Add Gemini provider, remove legacy Google OAuth, and tune generation defaults 2025-12-19 16:26:54 +08:00
useQwenAuth.ts refactor(auth): save authType after successfully authenticated (#1036) 2025-11-19 11:21:46 +08:00
useReactToolScheduler.ts refactor(core): move truncation logic from scheduler to shell tool 2026-03-15 13:37:12 +08:00
useRefreshMemoryCommand.ts pre-release commit 2025-07-22 23:26:01 +08:00
useResumeCommand.test.ts add matcher for SessionStart and SessionEnd and rafactor integration test 2026-03-09 02:34:33 -07:00
useResumeCommand.ts add singal abort for hooks 2026-03-23 16:02:54 +08:00
useReverseSearchCompletion.test.tsx feat: Add reverse search capability for shell commands (#4793) 2025-08-03 19:53:24 +00:00
useReverseSearchCompletion.tsx Sync upstream Gemini-CLI v0.8.2 (#838) 2025-10-23 09:27:04 +08:00
useSelectionList.test.ts feat(arena): Add agent collaboration arena feature 2026-02-18 10:51:35 +08:00
useSelectionList.ts feat(arena): Add agent collaboration arena feature 2026-02-18 10:51:35 +08:00
useSessionPicker.ts rework /resume slash command 2025-12-16 19:54:55 +08:00
useSettingsCommand.ts feat(ui): add /settings command and UI panel (#4738) 2025-08-10 00:04:52 +00:00
useShellHistory.test.ts refactor(debug): replace ConsolePatcher with debugLogger and update error reporting 2026-02-02 17:37:54 +08:00
useShellHistory.ts feat(cli): migrate console calls to debugLogger and stdioHelpers (M3 Phase 7-9) 2026-01-26 15:02:37 +08:00
useShowMemoryCommand.ts feat(cli): migrate console calls to debugLogger and stdioHelpers (M3 Phase 7-9) 2026-01-26 15:02:37 +08:00
useSlashCompletion.integration.test.ts fix(cli): prioritize slash command completions (#3104) 2026-04-11 11:04:58 +08:00
useSlashCompletion.test.ts fix(cli): prioritize slash command completions (#3104) 2026-04-11 11:04:58 +08:00
useSlashCompletion.ts fix(cli): prioritize slash command completions (#3104) 2026-04-11 11:04:58 +08:00
useStateAndRef.ts Sync upstream Gemini-CLI v0.8.2 (#838) 2025-10-23 09:27:04 +08:00
useStatusLine.test.ts test: add comprehensive tests for useStatusLine hook and statuslineCommand 2026-04-09 15:50:41 +08:00
useStatusLine.ts refactor(status-line): remove padding config 2026-04-08 20:24:33 +08:00
useSubagentCreateDialog.ts feat: subagent phase 2 implementation 2025-09-03 19:17:29 +08:00
useTerminalSize.ts feat: Redesign CLI welcome screen and improve visual consistency 2026-01-16 11:48:31 +08:00
useThemeCommand.test.ts fix(cli): restore previous theme on /theme cancel (refs #2833) 2026-04-02 18:25:00 +03:00
useThemeCommand.ts fix(cli): restore previous theme on /theme cancel (refs #2833) 2026-04-02 18:25:00 +03:00
useTimer.test.ts pre-release commit 2025-07-22 23:26:01 +08:00
useTimer.ts pre-release commit 2025-07-22 23:26:01 +08:00
useTomlMigration.ts feat: add extension for gemini and claude 2026-01-07 11:06:17 +08:00
useToolScheduler.test.ts remove hooks experimental and refactor hook Config 2026-04-01 11:50:23 +08:00
useTrustModify.test.ts feat(permissions): add permission system and rename folder trust command 2026-03-04 19:24:43 +08:00
useTrustModify.ts feat(permissions): add permission system and rename folder trust command 2026-03-04 19:24:43 +08:00
useWelcomeBack.ts feat(core,cli): migrate console.debug to debugLogger (M3 Phase 1-3) 2026-01-25 20:57:25 +08:00
vim.test.ts fix(cli): restore ? shortcuts in vim normal mode 2026-04-04 22:24:56 +08:00
vim.ts fix(cli): restore ? shortcuts in vim normal mode 2026-04-04 22:24:56 +08:00