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
- Provide an authorizer function in the server configuration that approves or denies tool calls.
- 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.