Before opening, please confirm:
Operating System
macOS 26.3
Kiro Version
0.8.140
Bug Description
Global steering files placed in ~/.kiro/steering/ are not loaded into the agent context, regardless of the inclusion mode (always, fileMatch, or manual).
I have 24 .md files in ~/.kiro/steering/ with various inclusion modes. When I work on a PHP project and open or edit .php files, files configured with inclusion: fileMatch and fileMatchPattern: '**/*.php' are never injected into the agent context.
The agent has no knowledge of my quality gates (PHPUnit, PHPStan, Pint), my PHP/Laravel conventions, or my test commands. When I ask "what are your steering rules?", it only mentions workspace-level .kiro/steering/ files, never the ones from ~/.kiro/steering/.
Example file that doesn't load — ~/.kiro/steering/40-quality-standards.md:
inclusion: fileMatch
fileMatchPattern: '**/*.php'
Quality Standards
(contains quality gates for PHPUnit, PHPStan, Pint)
Same issue with:
- 06-php-laravel.md (fileMatch **/*.php)
- 21-phpunit-tests.md (fileMatch /tests//*.php)
- 07-terraform.md (fileMatch **/*.tf)
The current workspace does NOT have a .kiro/steering/ directory, so there is no priority conflict.
I manage 25 PHP projects with the same stack. Global steering is the reason I centralized my rules in ~/.kiro/steering/ instead of duplicating them in every workspace. Without this feature working, the global steering introduced in v0.5 is unusable for my use case.
Refs:
Steps to Reproduce
- Place .md files in ~/.kiro/steering/ with front-matter inclusion: fileMatch and a pattern like **/*.php
- Open a project that contains .php files but does NOT have a .kiro/steering/ directory (no conflict)
- Open or edit a .php file in the project
- Ask the agent to perform a task on that file (e.g. "add an endpoint and run the tests")
- Observe that the agent has no knowledge of the rules defined in the global steering files
- Ask the agent "what are your steering rules?" — it does not mention any file from ~/.kiro/steering/
Also tested with inclusion: always on global files, same result.
Expected Behavior
When working on a .php file, global files in ~/.kiro/steering/ with fileMatchPattern: '**/*.php' should be automatically injected into the agent context, as described in the official docs and blog. Files with inclusion: always should be loaded in every conversation without exception.
Conversation ID
N/A
Additional Context
- Kiro 0.8.140, macOS 26.3 (25D125), MacBook Air M1 2020, 16GB RAM
- 24 files in ~/.kiro/steering/, mix of always/fileMatch/manual
- Workspace has no .kiro/steering/ directory (zero possible conflict)
- Tested on multiple different PHP projects, same result
- Tested with both inclusion: always and inclusion: fileMatch, neither works at the global level
- Reproducible on every new conversation
Before opening, please confirm:
Operating System
macOS 26.3
Kiro Version
0.8.140
Bug Description
Global steering files placed in ~/.kiro/steering/ are not loaded into the agent context, regardless of the inclusion mode (always, fileMatch, or manual).
I have 24 .md files in ~/.kiro/steering/ with various inclusion modes. When I work on a PHP project and open or edit .php files, files configured with inclusion: fileMatch and fileMatchPattern: '**/*.php' are never injected into the agent context.
The agent has no knowledge of my quality gates (PHPUnit, PHPStan, Pint), my PHP/Laravel conventions, or my test commands. When I ask "what are your steering rules?", it only mentions workspace-level .kiro/steering/ files, never the ones from ~/.kiro/steering/.
Example file that doesn't load — ~/.kiro/steering/40-quality-standards.md:
Quality Standards
(contains quality gates for PHPUnit, PHPStan, Pint)
Same issue with:
The current workspace does NOT have a .kiro/steering/ directory, so there is no priority conflict.
I manage 25 PHP projects with the same stack. Global steering is the reason I centralized my rules in ~/.kiro/steering/ instead of duplicating them in every workspace. Without this feature working, the global steering introduced in v0.5 is unusable for my use case.
Refs:
Steps to Reproduce
Also tested with inclusion: always on global files, same result.
Expected Behavior
When working on a .php file, global files in ~/.kiro/steering/ with fileMatchPattern: '**/*.php' should be automatically injected into the agent context, as described in the official docs and blog. Files with inclusion: always should be loaded in every conversation without exception.
Conversation ID
N/A
Additional Context