Skip to content

[BUG] mini-kode repeats completed shell tool results #1

Description

@N0zoM1z0

Summary

A deterministic OpenAI-compatible provider can trigger duplicate tool-result submission for completed shell calls. The linked standalone reproducer builds the public mini-kode@0.2.3 package, starts a local mock provider, and verifies the behavior without requiring this repository or any private fuzzing harness.

Affected target

  • Target: mini-kode
  • Affected version checked with the public reproducer: 0.2.3
  • Current public latest checked on 2026-06-18: 0.2.3
  • Environment: Linux x86_64 Docker, public package build
  • Provider/model: OpenAI-compatible local mock provider, gpt-4

Steps 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/cc42b3ecdedc0e45fa95ca45fc89e9eb

The Gist contains mini-kode-repeated-identical-tool-loop.reproduce.py. Download and run:

gh gist clone cc42b3ecdedc0e45fa95ca45fc89e9eb mini-kode-repeated-identical-tool-loop-reproducer
cd mini-kode-repeated-identical-tool-loop-reproducer
python3 mini-kode-repeated-identical-tool-loop.reproduce.py

To reuse an already-built local image:

python3 mini-kode-repeated-identical-tool-loop.reproduce.py --skip-build

Key output from a local run against the affected version:

REPRODUCED

Actual behavior

The CLI submits more than one tool result for the same provider-issued shell tool-call ID. The reproducer prints REPRODUCED only when the duplicate result is observed.

Expected behavior

The CLI should execute and report each provider-issued tool-call ID at most once.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions