Change code with the Liho agent
The Liho agent is the IDE’s built-in agent. You describe the change in the chat, the agent reads the project and edits it, and the IDE shows the edits as a diff: you keep or roll back each hunk before you commit.
What you need
- Liho IDE for macOS (Apple Silicon), Windows or Linux.
- A project folder under Git, which makes changes easy to track and undo.
- A model connection: Liho LLM, OpenRouter, Anthropic, OpenAI or another OpenAI-compatible gateway. The IDE has no built-in model.
- The project’s own tools: interpreter, compiler, test runner. The IDE does not install them.
Steps
Connect a model
The quickest way is to sign in to Liho LLM: the connection appears by itself. Another provider’s key is added under “AI Agents → Model connections”; keys are kept in the system secret store.
Liho LLM models in Liho IDEOpen the project and the agent chat
Choose “Open Folder…” (Ctrl+Shift+O, ⇧⌘O on macOS). Then open the command palette (Ctrl+Shift+P, ⇧⌘P on macOS) and run “AI: open the Liho agent”. The Liho agent comes first in the “AI Agents” panel; its start button is active once a connection and a model are selected.
Give context and describe the task
Point to the files with “@” or with the “AI Agents: add current file to chat” command. Describe what to change and how to check the result.
Example taskIn @src/pricing.ts, applyDiscount ignores the minimum order amount. Add a check: the discount applies from 1000 ₽. Update the tests in @src/pricing.test.ts and do not change the module’s public API.Approve actions
When the agent needs to change a file or run a command, a permission request appears in the chat. Edits and commands have no “always allow” option: each one is approved separately with “Allow once”.
Review the diff hunk by hunk
After the response, a “Changes” block with the files and hunks appears in the chat. The agent has already written these edits to the working folder; the review decides which of them stay:
- “Accept” or “Reject” for a single hunk;
- “Accept file” or “Reject file” for a whole file;
- “Accept all” or “Reject all” for the whole set.
Then click “Apply decisions”: accepted hunks stay and rejected ones are rolled back. If a file changed in the meantime, the IDE overwrites nothing and offers to refresh the diff.
Run the tests
Open the “Testing” panel: it finds pytest,
go test, Vitest and Jest tests and shows a failed test with its error. You can also run a task from.vscode/tasks.jsonor a command in the terminal. If a test fails, describe the error to the agent in the same chat.Commit
In the Git panel, review the final changes, stage the hunks you want and commit. Push is a separate action.
What you get
- A change you reviewed hunk by hunk before committing.
- The session history in the agent chat, which you can return to and continue.
- Time, tokens and cost of the task in the task center (the “AI Agents: task center” command).
Limits
- In the chat, the agent writes changes straight into the project’s working folder. Review the diff before committing and keep important work in Git.
- The agent needs your model connection. Requests are paid with the provider you chose.
- The IDE does not install interpreters, compilers or test runners; they must already be on the system.
- External CLI agents (Claude Code, Codex CLI, Kimi CLI, GitHub Copilot CLI) work in the project under their own rules and permissions. The diff review described here does not apply to them, and OS-level confinement of their processes exists only on Linux.