# Claude Code Claude Code runs the Elements language server while it edits. After every edit to a `.ts`, `.js`, `.ehtml`, `.jsoc` or `.css` file, the agent receives that file's errors without running a command, and its LSP tool can go to a definition, find references, show a type, and search symbols across the project. ## Install Nothing to do. When Claude Code is on the machine, installing Elements writes a plugin, `elements`, to `~/elements/ai/claude` and registers it with Claude's own CLI. Registering turns it on nowhere. `elements create` turns it on for the new project, in the `enabledPlugins` of its `.claude/settings.json`, so the language server runs only in Elements projects. The terminal and the desktop app read the same settings, so both pick it up at the next session. The plugin runs `elements-lsp stdio` by its absolute path, so it works in a desktop app launched without your shell's `PATH`. Run `/plugin` in a session to see it. ## Editor errors and the build The errors after an edit come from the same checker as `elements build`, so they agree. They cover source files only: install, migrations, tests and release are the build's alone, and so are errors with no file. An agent still builds with `elements build -json` before it reports work done, as the project's `AGENTS.md` says.