Skip to content

[Bug]: kiro-cli integration should be declared multi_install_safe #3471

Description

@alibahaloo

Bug Description

The kiro-cli integration uses fully isolated paths (.kiro/prompts/) and meets all documented criteria for multi-install safety, but is not declared
multi_install_safe = True on the KiroCliIntegration class. Co-installing kiro-cli alongside any other integration (e.g. claude) produces a permanent ERROR
from specify integration status with no way to acknowledge or resolve it.

Steps to Reproduce

  1. Initialize a Spec Kit project: specify init
  2. Install claude integration: specify integration install claude
  3. Install kiro-cli alongside it: specify integration install kiro-cli --force
  4. Check status: specify integration status

Expected Behavior

specify integration status should report OK with Multi-install safe: yes, since kiro-cli uses isolated paths (.kiro/prompts/) that do not collide with any
other multi-install safe integration.

Actual Behavior

specify integration status reports ERROR with finding:
unsafe-multi-install: Installed integrations are not all declared multi-install safe: kiro-cli

The --force flag on install bypasses the install-time gate but does not resolve the status error. There is no flag or config to suppress it — the error is
permanent as long as both integrations are installed.

Specify CLI Version

0.12.11

AI Agent

Kiro CLI

Operating System

macOS arm64 (Darwin Kernel Version 25.5.0)

Python Version

3.12.13

Error Logs

Integration status: ERROR
  Default integration: kiro-cli
  Installed integrations: kiro-cli, claude
  Multi-install safe: no
  Shared templates target alignment: kiro-cli
  Modified managed files: 0
  Missing managed files: 0
  Invalid manifest paths: 0
  Unchecked manifests: 0

  Findings:
  - error unsafe-multi-install: Installed integrations are not all declared multi-install safe: kiro-cli
    Suggestion: Use `specify integration use <key>` to change defaults, or `specify integration switch <key>` only when replacing integrations.

Additional Context

Per the integrations reference, an integration qualifies
as multi-install safe when it uses:

  1. Isolated agent directory — ✅ .kiro/prompts/
  2. Dedicated context file that does not collide with another safe integration — ✅ No overlap with .claude/, .cursor/, .augment/, etc.
  3. Stable command invocation settings — ✅ Uses . separator, no dynamic paths
  4. Separate install manifest — ✅ .specify/integrations/kiro-cli.manifest.json

The install manifests confirm zero file overlap between kiro-cli (.kiro/prompts/speckit.*.md) and claude (.claude/skills/speckit-*/SKILL.md).

Proposed fix: Add multi_install_safe = True to KiroCliIntegration in src/specify_cli/integrations/kiro_cli/__init__.py.

Workaround: Patch multi_install_safe = True directly in the installed package at
~/.local/share/uv/tools/specify-cli/lib/python3.12/site-packages/specify_cli/integrations/kiro_cli/__init__.py. This workaround is lost on every specify self upgrade.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions