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.
Open a file
Section titled “Open a file”- Click any file in the File Explorer sidebar (toggle it with
Cmd+Shift+\). - The file opens in a new editor tab. Kora auto-detects the language and starts the matching language server.
- To add the open file to the chat, mention it with
@or drag the tab into the message box.
Preview a markdown document
Section titled “Preview a markdown document”Markdown files opened in the editor render as a formatted preview. Use the view-mode toggle in the editor toolbar to switch between code, split, and preview; the same preview renders generated-file panels.
Documents larger than 150,000 characters open truncated: the preview renders the first part and a Show full content (N KB) button expands the whole document. The limit keeps very large documents from blocking the view.
Supported languages
Section titled “Supported languages”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 |
Edit proposals
Section titled “Edit proposals”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.
Troubleshooting
Section titled “Troubleshooting”- 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>/binor fall back to a system-installed server on yourPATH. - 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.