Skip to content

Global steering files with "inclusion: fileMatch" are not injected into agent context #6171

Description

@msayed-treezor

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

  1. Place .md files in ~/.kiro/steering/ with front-matter inclusion: fileMatch and a pattern like **/*.php
  2. Open a project that contains .php files but does NOT have a .kiro/steering/ directory (no conflict)
  3. Open or edit a .php file in the project
  4. Ask the agent to perform a task on that file (e.g. "add an endpoint and run the tests")
  5. Observe that the agent has no knowledge of the rules defined in the global steering files
  6. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    duplicateThis issue or pull request already exists

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions