continuedev / continuedev/continue
Continue repeats identical tool calls instead of bounding the loop
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 36k
- Forks
- 5.4k
- PR merge metrics
- No merged PRs in 30d
Description
Continue repeats identical tool calls instead of bounding the loop
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 repeated tool-use response can cause multiple committed tool side effects and repeated provider turns.
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/c166065dd2a35dfdbd634ee447460579
The Gist contains continue-repeated-identical-tool-loop.reproduce.py. Download and run:
gh gist clone c166065dd2a35dfdbd634ee447460579 continue-repeated-identical-tool-loop-reproducer
cd continue-repeated-identical-tool-loop-reproducer
python3 continue-repeated-identical-tool-loop.reproduce.py
To reuse an already-built local image:
python3 continue-repeated-identical-tool-loop.reproduce.py --skip-build
Expected successful reproduction output includes:
REPRODUCED
Log output
Expected successful reproduction output includes REPRODUCED.
Observed behavior: The local provider repeats a shell tool call after tool results arrive. The script checks for at least two side-effect log entries.
Expected behavior
Continue should detect repeated identical tool-use state and stop with a bounded error rather than executing the same work repeatedly.
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 the self-contained reproducer in continue-repeated-identical-tool-loop.reproduce.py, using the documented Docker and Python commands. Trace the CLI tool-call loop that handles tool results and identify where repeated identical state can continue. Done means the repeated call is bounded with an error and the reproducer no longer records multiple side effects.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, python, typescript
- Domain
- ai, cli, devtools
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100