Configure context sharing with .aiexclude files
Stay organized with collections
Save and categorize content based on your preferences.
When you opt in to sharing your project context with Gemini in Android Studio,
you can control which files specifically from the codebase are shared using
.aiexclude
files. AI features in Android Studio cannot access files outside of
the current project and the version control roots attached to it. With this in
mind, you can place .aiexclude
files anywhere within the project and its VCS
roots to control which files AI features are allowed to access.
Much like a .gitignore
file, an .aiexclude
file tracks files that shouldn't
be shared with Gemini in Android Studio, including the chat experience as well
as AI features that operate in the editor, like code completion. An
.aiexclude
file operates on files at or below the directory that contains it.

How to write .aiexclude
files
An .aiexclude
file follow the same syntax as a
.gitignore
file.
Examples
Here are example .aiexclude
file configurations:
- The pattern
KEYS
blocks all files called "KEYS" with no file extension at or
below the directory that contains the .aiexclude
file.
KEYS
- The pattern
KEYS.*
blocks all files called "KEYS" with any file extension at
or below the directory that contains the .aiexclude
file.
KEYS.*
- The pattern
*.kt
blocks all Kotlin files, or files with the extension .kt
,
at or below the directory that contains the .aiexclude
file.
*.kt
- The pattern
/*.kt
blocks all .kt
files in the .aiexclude
directory, but
not below.
/*.kt
- The pattern
my/sensitive/dir/
blocks all files in the my/sensitive/dir
directory and below. The file path is relative to the directory that contains
the .aiexclude
file.
my/sensitive/dir/
- The pattern
my/sensitive/dir/**/.txt
blocks all .txt
files at or below the
directory my/sensitive/dir/
.
my/sensitive/dir/**/.txt
- The pattern
my/sensitive/dir/*.txt
blocks all .txt
files in the directory
my/sensitive/dir
, but not in sub-directories.
my/sensitive/dir/*.txt
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-07-31 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-07-31 UTC."],[],[],null,["# Configure context sharing with .aiexclude files\n\nWhen you opt in to sharing your project context with Gemini in Android Studio,\nyou can control which files specifically from the codebase are shared using\n`.aiexclude` files. AI features in Android Studio cannot access files outside of\nthe current project and the version control roots attached to it. With this in\nmind, you can place `.aiexclude` files anywhere within the project and its VCS\nroots to control which files AI features are allowed to access.\n\nMuch like a `.gitignore` file, an `.aiexclude` file tracks files that shouldn't\nbe shared with Gemini in Android Studio, including the chat experience as well\nas AI features that operate in the editor, like [code completion](/studio/gemini/code-completion). An\n`.aiexclude` file operates on files at or below the directory that contains it.\n\nHow to write `.aiexclude` files\n-------------------------------\n\nAn `.aiexclude` file follow the same syntax as a\n[`.gitignore` file](https://git-scm.com/docs/gitignore).\n\nExamples\n--------\n\nHere are example `.aiexclude` file configurations:\n\n- The pattern `KEYS` blocks all files called \"KEYS\" with no file extension at or below the directory that contains the `.aiexclude` file.\n\n KEYS\n\n- The pattern `KEYS.*` blocks all files called \"KEYS\" with any file extension at or below the directory that contains the .`aiexclude` file.\n\n KEYS.*\n\n- The pattern `*.kt` blocks all Kotlin files, or files with the extension `.kt`, at or below the directory that contains the `.aiexclude` file.\n\n *.kt\n\n- The pattern `/*.kt` blocks all `.kt` files in the `.aiexclude` directory, but not below.\n\n /*.kt\n\n- The pattern `my/sensitive/dir/` blocks all files in the `my/sensitive/dir` directory and below. The file path is relative to the directory that contains the `.aiexclude` file.\n\n my/sensitive/dir/\n\n- The pattern `my/sensitive/dir/**/.txt` blocks all `.txt` files at or below the directory `my/sensitive/dir/`.\n\n my/sensitive/dir/**/.txt\n\n- The pattern `my/sensitive/dir/*.txt` blocks all `.txt` files in the directory `my/sensitive/dir`, but not in sub-directories.\n\n my/sensitive/dir/*.txt"]]