#12700·continue

Continue returns an unbounded huge stdout tool result

Author: trackoorCreated Jun 17, 2026Updated Sep 17, 2026
Labelskind:bugarea:toolsos:linux

Continue returns an unbounded huge stdout tool result

Before submitting your bug report

  • I checked for duplicate local reproduction drafts.
  • I reduced the reproducer to a single deterministic local-provider case.

Relevant environment info

  • OS: Linux x86_64 Docker
  • Continue version: @continuedev/cli 1.5.46
  • IDE version: CLI (cn), no IDE
  • Model: OpenAI-compatible local mock provider, gpt-4

Description

Severity / performance impact: High. A single shell tool call can return more than 8 KiB of output to the provider loop, increasing memory, context, and retry pressure instead of being truncated or rejected.

To reproduce

Prerequisites: Docker, Python 3, and the GitHub CLI (gh) for the clone command below. The linked reproducer is self-contained and uses only Python standard-library modules plus Docker. It builds the affected CLI version from the public package registry, starts a local mock provider, and runs the CLI in an isolated workspace. The Docker run is limited to 2 CPUs and 4 GiB RAM by default.

Complete self-contained reproducer: https://gist.github.com/N0zoM1z0/c4f31a3dec4788713d5f184054db17cf

The Gist contains continue-huge-stdout-resource-bound.reproduce.py. Download and run:

bash
gh gist clone c4f31a3dec4788713d5f184054db17cf continue-huge-stdout-resource-bound-reproducer
cd continue-huge-stdout-resource-bound-reproducer
python3 continue-huge-stdout-resource-bound.reproduce.py

To reuse an already-built local image:

bash
python3 continue-huge-stdout-resource-bound.reproduce.py --skip-build

Expected successful reproduction output includes:

REPRODUCED

Log output

Expected successful reproduction output includes REPRODUCED.

Observed behavior: The reproducer asks Continue to run a command that prints 100000 bytes and checks that a large tool result is sent back to the local provider.

Expected behavior

Continue should cap, summarize, or reject oversized tool output before sending it back into the model/provider loop.

Public-upstream status

This reproduces against stock public @continuedev/[email protected] built from npm.