Overview
The HAI Build Code Generator extension registers multiple VS Code commands that can be triggered through the command palette, keyboard shortcuts, or context menus.Navigation Commands
hai.plusButtonClicked
Creates a new task and clears the current chat. Usage:$(add)
hai.mcpButtonClicked
Opens the MCP Servers management panel. Usage:$(server)
hai.historyButtonClicked
Opens the task history panel. Usage:$(history)
hai.settingsButtonClicked
Opens the extension settings panel. Usage:$(settings-gear)
hai.haiBuildTaskListClicked
Opens the HAI Build task list. Usage:$(checklist)
hai.focusChatInput
Jumps to the HAI Build chat input field. Usage:When true, shows the webview without forcing focus away from the editor
Ctrl/Cmd+' (when no text is selected)
Code Interaction Commands
hai.addToChat
Adds selected code or diagnostics to the HAI Build chat. Usage:The text range to add to chat. If not provided, uses current selection.
Array of diagnostics (errors/warnings) to include with the code
Ctrl/Cmd+' (when text is selected)
Context Menu: Right-click in editor > Add to HAI
hai.explainCode
Requests an explanation of selected code. Usage:The text range to explain. If not provided, uses current selection.
hai.improveCode
Requests AI suggestions to improve selected code. Usage:The text range to improve. If not provided, uses current selection.
hai.addTerminalOutputToChat
Adds selected terminal output to the HAI Build chat. Usage:This command copies the current terminal selection to chat. Make sure to select the relevant terminal output before running this command.
Git Integration Commands
hai.generateGitCommitMessage
Generates an AI-powered commit message based on staged changes. Usage:The SCM instance to use. If not provided, uses the default Git SCM.
config.git.enabled && scmProvider == git && !hai.isGeneratingCommit
hai.abortGitCommitMessage
Stops the current commit message generation. Usage:$(debug-stop)
When Available: config.git.enabled && scmProvider == git && hai.isGeneratingCommit
Jupyter Notebook Commands
hai.jupyterGenerateCell
Generates a new Jupyter notebook cell using AI. Usage:$(sparkle)
When Available: notebookType == 'jupyter-notebook'
hai.jupyterExplainCell
Explains the current Jupyter notebook cell. Usage:$(question)
When Available: notebookType == 'jupyter-notebook'
hai.jupyterImproveCell
Suggests improvements for the current Jupyter notebook cell. Usage:$(lightbulb)
When Available: notebookType == 'jupyter-notebook'
Utility Commands
hai.openWalkthrough
Opens the HAI Build getting started walkthrough. Usage:hai.reconstructTaskHistory
Reconstructs the task history from available data. Usage:Review Comment Commands
hai.reviewComment.reply
Replies to a review comment thread. Usage:commentController == hai-ai-review && !commentIsEmpty
hai.reviewComment.addToChat
Adds a review comment to the HAI Build chat. Usage:$(link-external)
When Available: commentController == hai-ai-review
Development Commands
The following commands are only available when the extension is running in development mode.
hai.dev.createTestTasks
Creates test tasks for development and testing. Usage:hai.isDevMode
hai.dev.expireMcpOAuthTokens
Expires MCP OAuth tokens for testing authentication flows. Usage:hai.isDevMode
Command Registry
All commands are registered in the internal extension registry before being registered with VS Code. The command identifiers follow the pattern:hai.*- Main extension commandshai.dev.*- Development-only commandshai.reviewComment.*- Review and comment-related commandshai.jupyter*- Jupyter notebook-specific commands
See Also
Slash Commands
In-chat slash commands for workflows
Events
Extension events and hooks