usebruno/bruno · error · Error

No available ports found for the mock server.

Error message

No available ports found for the mock server.

What it means

Error "No available ports found for the mock server." thrown in usebruno/bruno.

Source

Thrown at packages/bruno-electron/src/app/mock-server/mock-server.js:172

const resolveIsolatedPort = async (requestedPort, mockServerUid) => (
  assertIsolatedPortAvailable(requestedPort, mockServerUid)
);

const suggestPort = async (startPort = DEFAULT_GATEWAY_PORT, { additionalUsedPorts = [] } = {}) => {
  const used = getUsedPorts();
  for (const port of additionalUsedPorts) {
    const normalizedPort = Number(port);
    if (normalizedPort >= 1 && normalizedPort <= 65535) {
      used.add(normalizedPort);
    }
  }

  let port = Number(startPort) || DEFAULT_GATEWAY_PORT;

  while (used.has(port) || !(await isPortAvailable(port))) {
    port += 1;
    if (port > 65535) {
      throw new Error('No available ports found for the mock server.');
    }
  }

  return port;
};

const emit = (channel, data) => {
  const windows = BrowserWindow.getAllWindows().filter((win) => !win.isDestroyed());
  const targetWindow = windows.find((win) => win === _mainWindow) || windows[0];

  if (targetWindow && !targetWindow.isDestroyed()) {
    targetWindow.webContents.send(channel, data);
  }
};

const emitStatusChanged = (mockServerUid, status) => {
  emit('main:mock-server-status-changed', { mockServerUid, ...status });
};

View on GitHub (pinned to 9bdd81c7bd)

Solutions

  1. Specify a port manually instead of auto-selection.
  2. Free up ports by stopping unused local servers.

When it happens

Trigger: Thrown at packages/bruno-electron/src/app/mock-server/mock-server.js:172 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of usebruno/bruno@9bdd81c7bd (2026-08-13). Data as JSON: /api/errors/1d42055325e3868e. Report an issue: GitHub.