# Code search and language tools Nock uses two related tools while working in code: a local **Code index** for finding relevant parts of a project, and language servers that report code errors and answer questions such as where a symbol is defined. Both follow the project folder Nock is working in; neither is a whole-computer search. ## The local Code index The index helps the agent find code by meaning—for example, “where do we charge the card?”—as well as by words. It is built and searched on this computer. Its code model ships with Nock; the index itself does not upload your project or download an embedding model. When Nock uses search results to answer a request, the relevant code context may still be sent to the AI provider selected for that request. Local indexing is not the same as offline AI. See [Privacy](/nock/privacy) for model and data controls. There is no project picker in the Code index card. Nock indexes a project when you name that folder to the agent or start a coding task there. If you switch the active project, the index follows the new folder; the previous project stops being the one searched. It remembers the indexed project across Nock restarts and updates after files change. **Settings → Agent → Projects** shows the current project and a **Code search** status line. **Settings → Agent → Code index** shows the current index status and offers **Rebuild** when an index is ready or has failed. Common status messages include **Index: no project folder yet**, **Index: building**, **Index: ready**, **Index: off**, and **Index: waiting for the agent engine to start**. If there is no folder yet, name a specific project to Nock or start a coding task in one. If the code model is missing, Nock can still use text search; the status says **code model missing, text search only**. Choose **Rebuild** to re-read the current project after an indexing problem. The index does not scan broad or unrelated locations. Nock refuses a whole home folder, a drive or network share, broad folders such as Desktop or Documents themselves, and system, app, or Nock data folders. A specific project folder inside Documents or a synced drive is different: choose the project, not the drive root. See [Project folders](/nock/projects) for folder access and selection. ## Language servers and build tools Language servers check files as the V3Code worker edits them. They can report errors and support go-to-definition, references, hover, and symbol lookup. **Settings → Agent → Projects** shows which servers are active for the current project. **Settings → Agent → Coding tools** shows their status alongside the builder's **Node**, **npm**, **git**, and **Python** tools. Included language support covers TypeScript/JavaScript, HTML, CSS (including SCSS and Less), and JSON. A project's own TypeScript version can be used when its small wrapper is available. Python checking uses the `ty` language server; other languages are checked when their required tools are already available on your computer. If a file has no available server, Nock tells the worker that the file could not be checked that way rather than treating it as clean. In **Settings → Agent → Coding tools**, **Download language servers when needed** is on by default. It permits Nock to download the supported Python checker or a wrapper for a project's own TypeScript the first time they are needed. Turning it off prevents those downloads; included servers continue to work, but Python files are not checked by that server. The change takes effect the next time Nock starts. Nock does not automatically download other language servers or install missing build tools. Choose **Check again** after installing a tool to refresh its status. The index and language servers answer different questions: Code search retrieves relevant code across the current project; a language server understands the structure and diagnostics of files it supports. Neither guarantees that a change is correct. Review the worker's result and run the relevant tests. See [Background tasks](/nock/background-tasks), [Coding tools](/nock/coding-agents), and [Coding task troubleshooting](/nock/coding-troubleshooting).