Skip to main content
Factory 1.10 introduces a visual MCP Manager for extending Droid with external tools, customizable completion sounds to personalize your workflow, and Droid hooks—an experimental feature that gives you programmatic control over Droid’s behavior.

MCP Manager

Connect Droid to external services with an intuitive visual interface. The MCP Manager lets you browse, authenticate, and manage Model Context Protocol servers without editing config files. How it works Type /mcp to open the interactive MCP Manager. Browse connected and available servers, view the tools each server provides, and authenticate with OAuth for services like Notion, Linear, and Stripe. For servers in our registry, Droid automatically helps you add OAuth credentials, making setup a breeze. For servers not in the registry, you can still add them manually using the same interface you’d use in any other MCP-compatible app. What you can do
  • Browse all connected and disconnected MCP servers in one place
  • Authenticate HTTP servers with OAuth credentials
  • View the complete list of tools provided by each server
  • Add new servers using the interactive form or command
  • Enable, disable, or remove servers without touching config files
Learn more about MCP configuration.

Custom completion sounds

Get notified your way when Droid finishes a task. Choose from built-in sounds, use a terminal bell, or load your own custom audio file. How it works Navigate to Settings and find the “Completion sound” option. Select from:
  • Off - No sound
  • Terminal Bell - Standard system bell
  • FX-OK01 - A sound generated by Droid
  • FX-ACK01 - Produced by The Chainsmokers (because we won’t let you down)
  • Custom Sound - Upload your own audio file
You can also control when sounds play with the “Sound focus mode” setting:
  • Always - Play sound regardless of window focus
  • When focused - Only play when Droid window is active
  • When unfocused - Only play when you’re working elsewhere
Perfect for staying in flow while multitasking or working across multiple windows.

Droid hooks (Experimental)

Run custom shell commands at key points in Droid’s lifecycle. Hooks give you deterministic control over Droid’s behavior, ensuring certain actions always happen rather than relying on the LLM to remember.
Hooks are an experimental feature. They execute arbitrary shell commands on your system automatically. Always review hook implementations before registering them, as hooks run with your current environment’s credentials.
How it works
  1. Run the /hooks command to open the Hooks Manager
  2. Navigate to a hook event like PreToolUse
  3. Add a matcher to specify which tools trigger your hook (e.g., Bash for shell commands)
  4. Add your hook command (e.g., a script that validates bash commands)
  5. Save to User or Project settings
  6. Your hook runs automatically whenever conditions match
Use cases
  • Automatic formatting - Run prettier on TypeScript files or gofmt on Go files after every edit
  • Custom permissions - Block modifications to production files or sensitive directories
  • Logging - Track and count all executed commands for compliance or debugging
  • Feedback - Provide automated feedback when Droid produces code that doesn’t follow your conventions
  • Notifications - Customize how you get notified when Droid needs input
Example: Add a PreToolUse hook with a Bash matcher that validates shell commands. When Droid tries to use grep, your hook blocks it and suggests using rg (ripgrep) instead. Droid receives the feedback and automatically adapts—no manual intervention required. Available hook events
  • PreToolUse - Runs before tool calls (can block them)
  • PostToolUse - Runs after tool calls complete
  • UserPromptSubmit - Runs when you submit a prompt
  • Notification - Runs when Droid sends notifications
  • Stop - Runs when Droid finishes responding
  • SubagentStop - Runs when subagent tasks complete
  • PreCompact - Runs before compact operations
  • SessionStart - Runs at session start or resume
  • SessionEnd - Runs when session ends
By encoding rules as hooks rather than prompt instructions, you turn suggestions into app-level code that executes every time it’s expected to run. There are infinitely many applications—we’re excited to see what you build.
For comprehensive hook documentation, see the hooks guide and hooks reference.