{"record":{"id":"316be737d4094d68","repo":"deepseek-ai/deepseek-harness","slug":"terminal-bash-sandbox-returned-empty-argv","errorCode":null,"errorMessage":"terminal-bash: sandbox returned empty argv","messagePattern":"terminal-bash: sandbox returned empty argv","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/terminal/terminal-bash/src/index.ts","lineNumber":181,"sourceCode":"    private readonly ctx: Context,\n    private readonly config: ResolvedConfig,\n    private readonly spawnTerminal: (\n      spec: SubprocessTerminalSpawnSpec,\n    ) => Promise<SubprocessTerminalHandle> = spec => ctx.subprocess.spawnTerminal(spec),\n    private readonly createSession: (\n      terminal: SubprocessTerminalHandle,\n      config: ResolvedConfig,\n    ) => LocalPtySession = (terminal, config) => new LocalPtySession(terminal, config),\n  ) {\n    this.type = config.backendType\n  }\n\n  async spawn(spec: TerminalBackendSpawnSpec): Promise<LocalPtySession> {\n    spec.signal?.throwIfAborted()\n    ensureSandboxModeFence(this.ctx, spec.owner)\n    const policy = this.ctx.sandboxPolicy.resolve({ session: spec.owner.session })\n    const argv = spawnArgv(this.ctx, this.config, policy)\n    if (argv[0] === undefined) throw new Error('terminal-bash: sandbox returned empty argv')\n    const terminal = await this.spawnTerminal({\n      argv,\n      cwd: spec.cwd ?? policy.workspaceRoot,\n      env: childEnvironment(spec, this.config.shellDialect),\n      rows: this.config.rows,\n      cols: this.config.cols,\n      graceMs: this.config.disposeGraceMs,\n      signal: spec.signal,\n    })\n    const session = this.createSession(terminal, this.config)\n    try {\n      await startupSession(session, this.config.shellDialect, spec.signal)\n      return session\n    } catch (error) {\n      try {\n        await session.close('PTY startup failed')\n      } catch (closeError: unknown) {\n        throw new TerminalBackendCleanupError(error, closeError)","sourceCodeStart":163,"sourceCodeEnd":199,"githubUrl":"https://github.com/deepseek-ai/deepseek-harness/blob/b150a551b8d465e31e418e1b2eaf5e79bbb7d28e/packages/terminal/terminal-bash/src/index.ts#L163-L199","documentation":"Error \"terminal-bash: sandbox returned empty argv\" thrown in deepseek-ai/deepseek-harness.","triggerScenarios":"Thrown at packages/terminal/terminal-bash/src/index.ts:181 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Fix the sandbox provider so it returns a non-empty argv for the wrapped command."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"b150a551b8d465e31e418e1b2eaf5e79bbb7d28e","analyzedAt":"2026-08-24T18:12:29.105Z","schemaVersion":2},"datasetVersion":"2026-08-24T22:17:12.610Z"}