paperclipai/paperclip · error
Tool gateway service is not configured
Error message
Tool gateway service is not configured
What it means
Sentinel guard in the tool-access routes: the test-agent access endpoint requires the toolGateway service, and when options.toolGateway was not injected into the router the endpoint responds 501 'Tool gateway service is not configured'. It signals a deployment/configuration gap, not a client error — the server build lacks the gateway integration.
Source
Thrown at server/src/routes/tool-access.ts:2027
continue;
}
candidates.push({
id: agent.id,
name: agent.name,
role: agent.role,
title: agent.title,
status: agent.status,
orgDepth: orgDepthByAgentId.get(agent.id) ?? 0,
});
}
candidates.sort((a, b) => a.orgDepth - b.orgDepth || a.name.localeCompare(b.name));
res.json({ agents: candidates });
});
router.get("/tool-connections/:connectionId/test-agents/:agentId/access", async (req, res) => {
assertBoard(req);
if (!options.toolGateway) {
res.status(501).json({ error: "Tool gateway service is not configured" });
return;
}
const connection = await getAccessibleResource(req, res, svc.getConnection(req.params.connectionId as string), "Tool connection not found");
if (!connection) return;
await assertBoardAnyToolPermission(req, connection.companyId, ["tools:use", "tools:manage_connections"]);
const agentId = req.params.agentId as string;
await assertCanTestAsAgent(req, connection.companyId, agentId);
const accessSummary = await options.toolGateway.summarizeConnectionAccessForAgent({
companyId: connection.companyId,
connectionId: connection.id,
agentId,
});
res.json({ access: accessSummary });
});
router.post("/tool-connections/:connectionId/test-calls", validate(toolConnectionTestCallSchema), async (req, res) => {
assertBoard(req);
if (!options.toolGateway) {View on GitHub (pinned to 01ad858492)
Solutions
- Deploy/configure the server with the tool gateway service enabled so options.toolGateway is injected.
- Verify the server bootstrap passes toolGateway into toolAccessRoutes options.
- Treat the 501 as a feature-unavailable signal in clients and hide/disable the access-test UI.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at server/src/routes/tool-access.ts:1848 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of paperclipai/paperclip@01ad858492 (2026-09-02).
Data as JSON: /api/errors/97bdc06683a33793.
Report an issue: GitHub.