Skip to content

[MCP]: Prerelease installs can resolve incompatible httpx 1.0.dev builds for codeclone[mcp] #24

Closed

Description

@orenlab

CodeClone version

2.0.0b6

MCP category

Packaging / launcher / transport

MCP client or host

uv tool / uv pip prerelease install flow for codeclone[mcp]; affects codeclone-mcp startup before any client-specific tool call.

What happened?

Installing the optional MCP extra with a prerelease-enabled resolver can select httpx 1.0.dev* through the MCP dependency graph. That build is incompatible with the current MCP runtime expectations and causes codeclone-mcp startup/import failure.

The base codeclone package is unaffected. Non-prerelease installs resolve a compatible stable httpx release and work as expected. The failure matters because CodeClone beta install instructions commonly use --pre, so this can affect the documented MCP install path.

What should happen instead?

The codeclone[mcp] extra should remain installable even when the outer installer uses --pre for CodeClone itself.

CodeClone should constrain the optional MCP extra to a stable compatible httpx range, e.g. httpx>=0.27.1,<1, so prerelease install flows do not accidentally resolve incompatible httpx 1.0.dev* builds.

Reproduction or request sequence

{
  "commands": [
    "uv tool install --pre \"codeclone[mcp]\"",
    "codeclone-mcp --help"
  ],
  "observed": "The MCP launcher can fail during import/startup when httpx 1.0.dev* is resolved.",
  "representative_error": "AttributeError: module 'httpx' has no attribute 'TransportError'",
  "expected": "codeclone-mcp starts normally and uses a stable httpx 0.x release."
}

Additional context

Planned/fixed in 2.0.0b7 as a packaging-only hotfix by adding a direct httpx>=0.27.1,<1 constraint to the optional MCP extra.

This does not change MCP tool schemas, report contracts, baseline/cache semantics, or runtime behavior once the server starts. It only makes the documented prerelease install path deterministic and safe.

Activity

  1. self-assigned this
    on Apr 28, 2026
  2. added
    bugSomething isn't working
    dependenciesPull requests that update a dependency file
    on Apr 28, 2026
  3. orenlab commented on Apr 28, 2026

    @orenlab
    OwnerAuthor

    Fixed in #25

  4. orenlab commented on Aug 4, 2026

    @orenlab
    OwnerAuthor

    Fixed: the MCP extra now bounds httpx as httpx>=0.27.1,<1 in pyproject.toml, so prerelease resolvers can no longer select incompatible 1.0.0.devN builds for codeclone[mcp]. The lockfile carries the same constraint.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingdependenciesPull requests that update a dependency file

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions