Skip to content

Work with files in the editor

Open a project file in Kora to edit it, add it to the chat context, and review changes proposed by the agent.

  1. Click any file in the File Explorer sidebar (toggle it with Cmd+Shift+\).
  2. The file opens in a new editor tab. Kora auto-detects the language and starts the matching language server.
  3. To add the open file to the chat, mention it with @ or drag the tab into the message box.

LSP is configured for 27 languages. Servers marked auto install on first use into ~/.kora/lsp/<id>/bin; those marked manual need the binary already on your PATH (or a custom path set in LSP settings).

Language Server Install
TypeScript / JavaScript typescript-language-server auto
Python pyright-langserver auto
Rust rust-analyzer manual
JSON / JSONC vscode-json-language-server auto
CSS / SCSS / Less vscode-css-language-server auto
HTML vscode-html-language-server auto
Go gopls manual
C / C++ clangd manual
Ruby ruby-lsp manual
Java jdtls manual
Markdown vscode-markdown-language-server auto
YAML yaml-language-server auto
Vue vue-language-server auto
Svelte svelteserver auto
Shell (bash/zsh) bash-language-server auto
TOML taplo auto
GraphQL graphql-lsp auto
Dockerfile docker-langserver auto
Tailwind CSS tailwindcss-language-server auto
ESLint vscode-eslint-language-server auto
Biome biome auto
Kotlin kotlin-language-server manual
Swift sourcekit-lsp manual
Lua lua-language-server manual
Zig zls manual
Nix nixd manual
PHP intelephense auto

When the agent calls the editFile tool, Kora renders the change as a diff in the Diff Viewer:

  • Each pending edit shows Accept and Reject buttons, plus a toggle between Inline and Side-by-side view.
  • Resolved edits are tagged Accepted (green) or Rejected (red).
  • The Diff Toolbar offers Accept All and Reject All when there are multiple pending changes.
  • A chat-side inline preview shows added/removed line counts and a View full diff link.
  • LSP provides no diagnostics → confirm the file has a supported extension and wait a few seconds after opening; the server may still be initializing.
  • “Automatic install is not configured” → the server needs manual setup. Install the binary from its official source, ensure it is on your PATH, or set a custom path in LSP settings.
  • Language server crashes repeatedly → Kora restarts it once automatically. If it keeps crashing, check the binary under ~/.kora/lsp/<id>/bin or fall back to a system-installed server on your PATH.
  • Edits don’t show a diff → confirm the editor panel is open (Cmd+E) and the file belongs to the active project’s folder.

See also: First launch for how files are organized in the workspace.