Tool Catalog

Wingman ships with a curated tool set. Agents can only use tools listed in their tools array.

Human-in-the-loop support

Wingman supports per-tool human approval using humanInTheLoop in .wingman/wingman.config.json.

  • Enable globally with humanInTheLoop.enabled: true.
  • Select tools to interrupt with humanInTheLoop.interruptOn.
  • Configure each tool as true, false, or an object with allowedDecisions, optional description, and optional argsSchema (for edit flows).
{
  "humanInTheLoop": {
    "enabled": true,
    "interruptOn": {
      "command_execute": {
        "allowedDecisions": ["approve", "edit", "reject"],
        "description": "Review shell commands before execution."
      },
      "internet_search": false
    }
  }
}

See wingman.config.json for full configuration details.

Core tools

  • code_search: search files in the active execution workspace (session workdir when set, otherwise agent workspace).
  • git_status: summarize repo status.
  • command_execute: run shell commands in the active execution workspace (honors blockedCommands, allowScriptExecution, commandTimeout).
  • background_terminal: single tool for session-scoped terminal control (start with command, then write/poll using session_id).
  • node_notify: send notifications to an approved connected node device (system.notify).
  • node_run: execute commands on an approved connected node device (system.run).
  • internet_search: web search (DuckDuckGo or Perplexity).
  • web_crawler: fetch and parse web pages.
  • browser_control: use or take over the user's existing browser or live tab when they explicitly ask for that workflow.
  • browser_session_start: default browser automation entrypoint for screenshots, extraction, and managed multi-step browser tasks; supports optional Playwright video recording.
  • browser_session_action: continue an existing managed browser session with more browser actions.
  • browser_session_close: close a managed browser session and surface finalized screenshot/video artifacts back to chat.
  • browser_session_list: list active managed browser sessions for the current run.
  • think: private reasoning step (no external side effects).

Large tool results are automatically offloaded to /large_tool_results/... in the agent filesystem once they exceed the safe inline threshold. The agent can inspect them with read_file using pagination instead of sending the entire payload back through model context.

UI tools

  • ui_registry_list: list available UI components in the registry.
  • ui_registry_get: get schema + examples for a UI component.
  • ui_present: render a UI component with props (requires textFallback).

See Dynamic UI (SGUI) for end-to-end guidance and examples.

Browser-specific docs:

Example: allow only safe tools

{
  "name": "safe-researcher",
  "description": "Reads and summarizes docs.",
  "systemPrompt": "Only read. No shell commands.",
  "tools": ["internet_search", "web_crawler", "think"]
}