Back to Kilocode

Context & Mentions

packages/kilo-docs/pages/code-with-ai/agents/context-mentions.md

7.3.013.0 KB
Original Source

Context Mentions

Providing the right context helps Kilo Code understand your project and perform tasks accurately. All platforms support @-mentions for referencing files, and the agent can also discover context on its own using built-in tools like read, grep, and glob.

{% tabs %} {% tab label="VSCode" %}

The extension supports @-mention autocomplete for file paths and also uses a tool-based context model where the agent can automatically discover and read files using built-in tools.

How Context Works

When you describe a task, the agent uses its tools — read, grep, glob, and others — to find and read relevant files on its own. You don't need to explicitly point it at files in most cases; just describe what you want done and the agent will locate the right code.

@-Mention Autocomplete

Type @ in the chat input to get autocomplete suggestions. You can mention:

MentionDescriptionExample
FileAttach a file's contents to your message@src/utils.ts
TerminalInclude your active VS Code terminal output@terminal
Git ChangesAttach uncommitted working-tree diffs and new files@git-changes

Selecting a suggestion inserts the mention and highlights it in the input. File contents, terminal output, and git changes are attached as context when you send the message.

Drag and Drop

You can also add file mentions by dragging and dropping:

SourceHowResult
Explorer / Editor tabsDrag a file or folder from VS Code's Explorer or an editor tab into the chat inputInserts an @/relative/path mention
Multiple filesDrag several files at onceInserts space-separated @ mentions
Agent Manager diff headersDrag a file header from the Agent Manager's diff panel into chatInserts an @file mention
ImagesHold Shift while dragging an image file from your OS file manager into the chat inputAttaches the image

{% callout type="info" %} VS Code requires holding Shift when dragging files from outside the editor (e.g. Finder or Windows Explorer) into a webview. This applies to image drops — file drops from within VS Code (Explorer, editor tabs) work without Shift. {% /callout %}

Automatic Editor Context

The extension automatically includes context from your editor with each message — your currently focused file and all open editor tabs. You don't need to mention these explicitly.

Selected code and editor diagnostics (errors/warnings) are not included automatically. However, you can send these to Kilo Code through VS Code's Code Actions: select code or hover over an error, then use the lightbulb menu to find context-dependent actions like "Explain with Kilo Code" or "Fix with Kilo Code."

Tool-Based File Access

Rather than attaching file contents up front, the agent reads files on demand during its work:

ToolPurposeExample
readRead the contents of a specific fileAgent reads src/utils.ts to understand it
globFind files matching a patternAgent searches for **/*.test.ts
grepSearch file contents for a patternAgent searches for function handleError
bashRun shell commands including git operationsAgent runs git diff or git log

This means the agent can explore your entire project as needed, rather than being limited to files you explicitly mention.

Best Practices

PracticeDescription
Describe the task clearlyThe agent finds context on its own — focus on what you want done rather than where the code is
Mention files when helpfulIf you know the exact file, mention its path to save the agent a search step
Keep editor tabs relevantOpen tabs are passed as context, so keep relevant files open
Trust the agent's toolsThe agent can search, read, and explore your codebase — let it do the discovery work

{% /tab %} {% tab label="CLI" %}

The CLI uses a tool-based context model. The agent automatically discovers and reads the context it needs using built-in tools. In the TUI, you can type @ to get file autocomplete suggestions for quick file references.

How Context Works

When you describe a task, the agent uses its tools — read, grep, glob, and others — to find and read relevant files on its own. You don't need to explicitly point it at files in most cases; just describe what you want done and the agent will locate the right code.

Providing File Context

In the terminal-based TUI, you can provide context in several ways:

  • Type @ for file autocomplete — In the TUI, type @ followed by a filename to get autocomplete suggestions. Selecting a file attaches its contents to your message. You can limit how much is included by appending a line range, e.g. @src/utils.ts#10-50.
  • Mention file paths in your message — Simply refer to files by path in your conversation text (e.g., "look at src/utils.ts") and the agent will read them.
  • Use kilo run -f — When using the non-interactive kilo run command, pass -f path/to/file.ts to explicitly include a file's contents in the context.
  • Let the agent find files itself — The agent has access to glob (find files by pattern), grep (search file contents), and read (read file contents) tools. Describe what you're looking for and it will locate the relevant code.

Tool-Based File Access

Rather than attaching file contents up front, the agent reads files on demand during its work:

ToolPurposeExample
readRead the contents of a specific fileAgent reads src/utils.ts to understand it
globFind files matching a patternAgent searches for **/*.test.ts
grepSearch file contents for a patternAgent searches for function handleError
bashRun shell commands including git operationsAgent runs git diff or git log

This means the agent can explore your entire project as needed, rather than being limited to files you explicitly mention.

Best Practices

PracticeDescription
Describe the task clearlyThe agent finds context on its own — focus on what you want done rather than where the code is
Mention files when helpfulIf you know the exact file, mention its path to save the agent a search step
Use kilo run -fPass key files with -f when using kilo run for immediate context
Trust the agent's toolsThe agent can search, read, and explore your codebase — let it do the discovery work

{% /tab %} {% tab label="VSCode (Legacy)" %}

Context mentions are a powerful way to provide Kilo Code with specific information about your project, allowing it to perform tasks more accurately and efficiently. You can use mentions to refer to files, folders, problems, and Git commits. Context mentions start with the @ symbol.

{% image src="/docs/img/context-mentions/context-mentions.png" alt="Context Mentions Overview - showing the @ symbol dropdown menu in the chat interface" width="600" caption="Context mentions overview showing the @ symbol dropdown menu in the chat interface." /%}

Types of Mentions

{% image src="/docs/img/context-mentions/context-mentions-1.png" alt="File mention example showing a file being referenced with @ and its contents appearing in the conversation" width="600" caption="File mentions add actual code content into the conversation for direct reference and analysis." /%}

Mention TypeFormatDescriptionExample Usage
File@/path/to/file.tsIncludes file contents in request context"Explain the function in @/src/utils.ts"
Folder@/path/to/folder/Provides directory structure in tree format"What files are in @/src/components/?"
Problems@problemsIncludes VS Code Problems panel diagnostics"@problems Fix all errors in my code"
Terminal@terminalIncludes recent terminal command and output"Fix the errors shown in @terminal"
Git Commit@a1b2c3dReferences specific commit by hash"What changed in commit @a1b2c3d?"
Git Changes@git-changesShows uncommitted changes"Suggest a message for @git-changes"
URL@https://example.comImports website content"Summarize @https://docusaurus.io/"

File Mentions

{% image src="/docs/img/context-mentions/context-mentions-1.png" alt="File mention example showing a file being referenced with @ and its contents appearing in the conversation" width="600" caption="File mentions incorporate source code with line numbers for precise references." /%}

CapabilityDetails
Format@/path/to/file.ts (always start with / from workspace root)
ProvidesComplete file contents with line numbers
SupportsText files, PDFs, and DOCX files (with text extraction)
Works inInitial requests, feedback responses, and follow-up messages
LimitationsVery large files may be truncated; binary files not supported

Folder Mentions

{% image src="/docs/img/context-mentions/context-mentions-2.png" alt="Folder mention example showing directory contents being referenced in the chat" width="600" caption="Folder mentions display directory structure in a readable tree format." /%}

CapabilityDetails
Format@/path/to/folder/ (note trailing slash)
ProvidesHierarchical tree display with ├── and └── prefixes
IncludesImmediate child files and directories (not recursive)
Best forUnderstanding project structure
TipUse with file mentions to check specific file contents

Problems Mention

{% image src="/docs/img/context-mentions/context-mentions-3.png" alt="Problems mention example showing VS Code problems panel being referenced with @problems" width="600" caption="Problems mentions import diagnostics directly from VS Code's problems panel." /%}

CapabilityDetails
Format@problems
ProvidesAll errors and warnings from VS Code's problems panel
IncludesFile paths, line numbers, and diagnostic messages
GroupsProblems organized by file for better clarity
Best forFixing errors without manual copying

Terminal Mention

{% image src="/docs/img/context-mentions/context-mentions-4.png" alt="Terminal mention example showing terminal output being included in Kilo Code's context" width="600" caption="Terminal mentions capture recent command output for debugging and analysis." /%}

CapabilityDetails
Format@terminal
CapturesLast command and its complete output
PreservesTerminal state (doesn't clear the terminal)
LimitationLimited to visible terminal buffer content
Best forDebugging build errors or analyzing command output

Git Mentions

{% image src="/docs/img/context-mentions/context-mentions-5.png" alt="Git commit mention example showing commit details being analyzed by Kilo Code" width="600" caption="Git mentions provide commit details and diffs for context-aware version analysis." /%}

TypeFormatProvidesLimitations
Commit@a1b2c3dCommit message, author, date, and complete diffOnly works in Git repositories
Working Changes@git-changesgit status output and diff of uncommitted changesOnly works in Git repositories

URL Mentions

{% image src="/docs/img/context-mentions/context-mentions-6.png" alt="URL mention example showing website content being converted to Markdown in the chat" width="600" caption="URL mentions import external web content and convert it to readable Markdown format." /%}

CapabilityDetails
Format@https://example.com
ProcessingUses headless browser to fetch content
CleaningRemoves scripts, styles, and navigation elements
OutputConverts content to Markdown for readability
LimitationComplex pages may not convert perfectly

How to Use Mentions

  1. Type @ in the chat input to trigger the suggestions dropdown
  2. Continue typing to filter suggestions or use arrow keys to navigate
  3. Select with Enter key or mouse click
  4. Combine multiple mentions in a request: "Fix @problems in @/src/component.ts"

The dropdown automatically suggests:

  • Recently opened files
  • Visible folders
  • Recent git commits
  • Special keywords (problems, terminal, git-changes)

Best Practices

PracticeDescription
Use specific pathsReference exact files rather than describing them
Use relative pathsAlways start from workspace root: @/src/file.ts not @C:/Projects/src/file.ts
Verify referencesEnsure paths and commit hashes are correct
Click mentionsClick mentions in chat history to open files or view content
Eliminate copy-pastingUse mentions instead of manually copying code or errors
Combine mentions"Fix @problems in @/src/component.ts using the pattern from commit @a1b2c3d"

{% /tab %} {% /tabs %}