langgenius/dify · error · Error

Cannot start the E2E shellctl sandbox because ${shellctlHost

Error message

Cannot start the E2E shellctl sandbox because ${shellctlHost}:${shellctlPort} is already in use.${listenerMessage}

What it means

Error "Cannot start the E2E shellctl sandbox because ${shellctlHost}:${shellctlPort} is already in use.${listenerMessage}" thrown in langgenius/dify.

Source

Thrown at e2e/scripts/setup.ts:407

    command: 'docker',
    args: [
      'build',
      '-f',
      path.join(difyAgentRuntimeDir, 'docker', 'Dockerfile'),
      '-t',
      shellctlImage,
      '.',
    ],
    cwd: difyAgentRuntimeDir,
  })
}

export const startShellctlSandbox = async () => {
  if (await isTcpPortReachable(shellctlHost, shellctlPort)) {
    const listenerDescription = await getTcpPortListenerDescription(shellctlPort)
    const listenerMessage = listenerDescription ? `\n\nPort listener:\n${listenerDescription}` : ''

    throw new Error(
      `Cannot start the E2E shellctl sandbox because ${shellctlHost}:${shellctlPort} is already in use.${listenerMessage}`,
    )
  }

  await runCommand({
    command: 'docker',
    args: ['rm', '-f', shellctlContainerName],
    cwd: rootDir,
    stdio: 'pipe',
  })

  await ensureShellctlSandboxImage()

  await runForegroundProcess({
    command: 'docker',
    args: [
      'run',
      '--rm',

View on GitHub (pinned to ef8544b173)

When it happens

Trigger: Thrown at e2e/scripts/setup.ts:407 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of langgenius/dify@ef8544b173 (2026-08-12). Data as JSON: /api/errors/72dadf1854e8e184. Report an issue: GitHub.