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
- Initialize a Spec Kit project:
specify init
- Install claude integration:
specify integration install claude
- Install kiro-cli alongside it:
specify integration install kiro-cli --force
- 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:
- Isolated agent directory — ✅
.kiro/prompts/
- Dedicated context file that does not collide with another safe integration — ✅ No overlap with
.claude/, .cursor/, .augment/, etc.
- Stable command invocation settings — ✅ Uses
. separator, no dynamic paths
- 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.
Bug Description
The
kiro-cliintegration uses fully isolated paths (.kiro/prompts/) and meets all documented criteria for multi-install safety, but is not declaredmulti_install_safe = Trueon theKiroCliIntegrationclass. Co-installingkiro-clialongside any other integration (e.g.claude) produces a permanent ERRORfrom
specify integration statuswith no way to acknowledge or resolve it.Steps to Reproduce
specify initspecify integration install claudespecify integration install kiro-cli --forcespecify integration statusExpected Behavior
specify integration statusshould report OK withMulti-install safe: yes, since kiro-cli uses isolated paths (.kiro/prompts/) that do not collide with anyother multi-install safe integration.
Actual Behavior
specify integration statusreports ERROR with finding:unsafe-multi-install: Installed integrations are not all declared multi-install safe: kiro-cliThe
--forceflag 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 ispermanent 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:
.kiro/prompts/.claude/,.cursor/,.augment/, etc..separator, no dynamic paths.specify/integrations/kiro-cli.manifest.jsonThe install manifests confirm zero file overlap between
kiro-cli(.kiro/prompts/speckit.*.md) andclaude(.claude/skills/speckit-*/SKILL.md).Proposed fix: Add
multi_install_safe = TruetoKiroCliIntegrationinsrc/specify_cli/integrations/kiro_cli/__init__.py.Workaround: Patch
multi_install_safe = Truedirectly 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 everyspecify self upgrade.