The .kiroignore file prevents Kiro from reading specific files in your workspace. Using familiar gitignore syntax, you define patterns for files that should remain private - credentials, secrets, or content you prefer to keep out of agent context.
Where supported, ignore patterns apply across the agent's tools - blocked files stay blocked regardless of which tool tries to read them. Before returning file or text search results, Kiro checks each result against your read permissions and ignore rules. Paths and matching content from ignored or unreadable files do not appear in search results. Check the table below for surface availability.
| Capability | IDE | CLI | Web | Mobile |
|---|---|---|---|---|
Workspace .kiroignore | ✓ | V3 search | — | — |
Global ignore file (~/.kiro/settings/kiroignore) | ✓ | — | — | — |
The IDE enforces .kiroignore across supported agent tools. In CLI V3, support is limited to filtering content-search and filename-search results. Web support is not available yet.
To exclude files in a specific project, create a .kiroignore file in your project root (or any subdirectory) and add patterns for files you want to exclude:
# Secrets and credentials .env .env.* !.env.example *.pem *.key # Private directories secrets/ private/
Kiro skips any files matching your patterns.
The IDE reads ignore filenames from the Agent Ignore Files setting. Open Settings (Cmd+, on Mac or Ctrl+, on Windows/Linux), search for Agent Ignore Files (setting: kiroAgent.agentIgnoreFiles), and add .kiroignore to the array.
The kiroAgent.agentIgnoreFiles setting accepts an array of filenames:
[".gitignore", ".kiroignore"][] to disable workspace-level ignore filesLike .gitignore, you can place .kiroignore files in subdirectories to override or extend patterns from parent directories. Patterns in subdirectory ignore files take precedence for files within that subdirectory.
Kiro automatically honors global ignore files if they exist - no configuration needed:
~/.kiro/settings/kiroignore - Your global Kiro ignore patternscore.excludesfile in your git config) - only applied in git repositoriesUse global ignore files for patterns you want applied across all your projects.
.kiroignore uses standard gitignore syntax:
| Pattern | Effect |
|---|---|
file.txt | Ignore specific file |
*.log | Ignore by extension |
folder/ | Ignore directory |
**/temp | Ignore in any subdirectory |
!keep.txt | Don't ignore (negation) |
# Environment files with credentials .env .env.local .env.production # Keep the template accessible !.env.example # Certificate and key files *.pem *.key *.p12 credentials/
# Build outputs dist/ build/ .next/ # Data files *.sql *.dump data/exports/
# Customer data directories customer-data/ pii/ # Audit and compliance docs compliance/internal/ audit-reports/
Kiroignore