continuedev / continuedev/continue
Continue returns an unbounded huge stdout tool result
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 36k
- Forks
- 5.4k
- PR merge metrics
- No merged PRs in 30d
Description
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:
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:
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/cli@1.5.46 built from npm.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by running continue-huge-stdout-resource-bound.reproduce.py from the linked gist against @continuedev/cli 1.5.46, then trace the CLI shell-tool result path into the provider loop. Done means oversized stdout is capped, summarized, or rejected before it is sent to the provider, with the reproducer no longer reporting an unbounded result.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, python, typescript
- Domain
- ai, cli, devtools, performance
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 62/100