ruvnet/ruflo · error · Error

tool authorization is required but no authorizer was provide

Error message

tool authorization is required but no authorizer was provided

What it means

MCPServer was constructed with requireToolAuthorization enabled but no ToolAuthorizer instance was passed. The server refuses to start in a configuration where every tool call would need an authorization decision that no component can make — pass an authorizer or disable the requirement.

Source

Thrown at v3/@claude-flow/mcp/src/server.ts:127

    total: 0,
    successful: 0,
    failed: 0,
    totalResponseTime: 0,
  };

  constructor(
    config: Partial<MCPServerConfig>,
    private readonly logger: ILogger,
    private readonly orchestrator?: unknown,
    private readonly swarmCoordinator?: unknown,
    toolAuthorizer?: ToolAuthorizer,
  ) {
    super();
    this.config = { ...DEFAULT_CONFIG, ...config } as MCPServerConfig;

    this.toolRegistry = createToolRegistry(logger);
    if (this.config.requireToolAuthorization && !toolAuthorizer) {
      throw new Error('tool authorization is required but no authorizer was provided');
    }
    this.toolRegistry.setAuthorizer(toolAuthorizer);
    this.sessionManager = createSessionManager(logger, {
      maxSessions: 100,
      sessionTimeout: 30 * 60 * 1000,
    });
    this.resourceRegistry = createResourceRegistry(logger, {
      enableSubscriptions: true,
      cacheEnabled: true,
      cacheTTL: 60000,
    });
    this.promptRegistry = createPromptRegistry(logger);
    this.taskManager = createTaskManager(logger, {
      maxConcurrentTasks: 10,
      taskTimeout: 300000,
    });
    this.transportManager = createTransportManager(logger);
    this.rateLimiter = createRateLimiter(logger, {

View on GitHub (pinned to fa13ee4ad6)

Solutions

  1. Provide an authorizer function in the server configuration that approves or denies tool calls.
  2. Set requireToolAuthorization to false only when authorization is genuinely not required.
Defensive patterns

Strategy: try-catch

When it happens

Trigger: The server is configured to require tool authorization but no authorizer callback was supplied.

Common situations: requireToolAuthorization is true in server config while the authorizer option is omitted.


AI-assisted analysis of ruvnet/ruflo@fa13ee4ad6 (2026-08-18). Data as JSON: /api/errors/80e429f4d8639661. Report an issue: GitHub.