# Troubleshooting and FAQ

> For the complete documentation index, see [llms.txt](https://www.jetbrains.com/help/air/llms.txt).

This topic helps you find out why indexing or search fails, or why an agent doesn't use Air Context, and answers common questions.

## Diagnose a problem

Start with the built-in diagnostics command, run in the repository root:

```BASH
jbcontext doctor
```

It tests the whole chain end to end: CLI version, authentication, repository detection, index, and search, and reports which step fails. Outside a repository, the repository check fails and the index and search checks are skipped. Then narrow down:

* `jbcontext upgrade --check` tells you whether a newer version is available.

* `jbcontext status` shows the indexed snapshots for the current repository.

* `jbcontext stats --errors` opens a local activity dashboard with recent errors.

## Collect logs

The log file is `logs/jbcontext.log` in the Air Context home directory.

The Air Context home directory is `~/.jbcontext` on macOS and Linux and `&percnt;LOCALAPPDATA&percnt;\JBContext` on Windows.

Most commands write to the log file at the INFO level. Run a failing command with `-v` (`--verbose`) to raise the level to DEBUG. Commands that don't log by themselves, such as `logout` or `config`, log only with `--enable-local-logging` or the `JBCONTEXT_LOCAL_LOGGING` environment variable.

## Common problems

### Access to AI is not allowed for this account

Indexing or search fails with code 403 and this message (or Workspace ID is required). The account or license you logged in with has no supported AI subscription.

* Make sure you are logged in with the JetBrains Account that holds the license. To switch accounts, licenses, or workspaces, run `jbcontext logout`, then `jbcontext login`.

* Check the license against [Which license do I need?](#faq-license).

### Your administrator has disabled indexing for this repository

`jbcontext index` stops with this error. An administrator has blocked on-demand indexing for your organization in JetBrains Console. See [Manage indexing settings](manage-external-indexing.html).

### Repository is too large to be indexed

`jbcontext index` stops with this message. On a developer machine, repository size is limited.

* Exclude generated code, dependencies, and assets with a `.jbcontextignore` file. See [Exclude files from indexing](context-indexing.html#exclude-files-from-indexing).

* Index the repository in CI with an organization service account, which lifts the limit. See [Index repositories in CI](context-ci.html).

### No index found for the repository

`jbcontext search`, or the search check of `jbcontext doctor`, fails with No index found for repository '<repoId>'. Possible causes:

* The repository hasn't been indexed yet. Run `jbcontext index` in the repository root.

* Indexing didn't complete. See [Repository is too large to be indexed](#repository-too-large).

If `jbcontext status` lists snapshots and search still fails, [report the issue](#report-an-issue).

### Search returns results for the wrong branch

Results point to lines that don't match your checkout. Search uses the latest snapshot for the current branch, then the latest snapshot for the default branch, and only then the most recent snapshot on any branch. Run `jbcontext index` on your branch, or pin the search with `--branch` or `--revision`; see [jbcontext search](context-cli-reference.html#ref-search).

### The agent does not use Air Context

`jbcontext doctor` passes, but the agent keeps exploring the code with its own file search tools. Usually the agent does call Air Context, the call fails, and the agent falls back to file search without telling you.

To see the real error, run `jbcontext stats --errors`, or run `jbcontext search` yourself from the folder the agent works in. Then follow the matching entry:

* The repository hasn't been indexed yet. Agents only refresh an existing index, so run `jbcontext index` in the repository root once. See [No index found for the repository](#no-index-found).

* OpenAI Codex asks for approval before running the call, or blocks it. The execution-policy rules that `jbcontext setup-agent --agent codex --rules` (or `--auto`) installs let the read-only query commands run without prompts. `index`, `login`, and `setup-agent` are deliberately left out, so OpenAI Codex asks for approval each time; approving is enough, and you don't need to set `network_access`. If OpenAI Codex was set up without `--rules` or `--auto`, run `jbcontext setup-agent --agent codex --rules`. If you removed the Managed by line from the rules file, `setup-agent` treats the file as yours and doesn't update it.

* Certificate or connection errors: [Behind a corporate proxy or TLS inspection](#proxy-or-tls).

If there is no error, the agent may be following its instructions: the installed skill tells it to skip semantic search when it already knows the file, class, or symbol to look at.

### Behind a corporate proxy or TLS inspection

If every network call fails with unable to find valid certification path to requested target, antivirus or a corporate gateway is replacing TLS certificates. Update to Air Context CLI 0.9.12 or later, which trusts the certificate authorities installed in your operating system.

Authentication behind a corporate HTTP proxy isn't supported yet.

## Report an issue

Run `jbcontext send-feedback` in the repository where the problem occurs. It opens a pre-filled report form that includes the doctor output and recent log errors. If you contact support directly, attach the log file and the `jbcontext doctor` output.

## FAQ

### Does Air Context upload my source code?

During indexing, the CLI sends chunks of the committed code at the indexed revision to the Air Context server so that it can compute embeddings. Uncommitted changes aren't included. The embeddings, file paths, and offsets are stored on the server or, for small repositories of users outside an organization, on your machine. The raw source isn't stored. Search returns file paths and offsets, and the agent or CLI then reads the matching code from your own checkout. For details, see [Security and data privacy](context-security-and-privacy.html).

### Which license do I need?

You need a [JetBrains
AI subscription](https://www.jetbrains.com/help/ai/ai-service-license.html#subscription-plans) (AI Free, AI Pro, AI Ultimate, or AI Enterprise). Paid and complimentary IDE licenses include AI Free, except IntelliJ IDEA Community Edition and PyCharm Community Edition.

If your organization manages AI centrally through Air Governance, an administrator must first [enable AI for the organization](ai-settings.html#enable-ai) and [grant AI access](ai-access.html#grant-ai-access) before you can use Air Context.

### Can I use Air Context offline?

No. Even when the index is stored on your machine, the embeddings for your code and for each search query are computed on the Air Context server, so an internet connection is required to index and search.

