Feature reference
What Hania Code actually does on your computer, in detail. Everything here applies the same whether you're working in the terminal or continuing the conversation in the console, because both drive the same work on the same computer.
Tolerant edits
An edit names the exact text to find and what to replace it with. If the model's target text differs from the file by whitespace, indentation, or curly quotes, the edit still applies - those mismatches are the common ways a model misremembers a file, and failing on them would just cost a retry. When the target truly cannot be matched, the tool returns the file's current content so the model can correct itself instead of guessing again.
Diagnostics after edits
After a write or edit, your computer runs the language's fast syntax check when the checker is installed - gofmt for Go, bash -n for shell, and the equivalents for Python, Node, Ruby, and PHP. Any errors come back attached to the result, so the agent sees the breakage immediately and fixes it in the same run instead of leaving a broken file behind. This does not run a persistent language server; nothing sits resident on your computer, so it adds no idle load.
Auto-format after edits
When a formatter is installed on your computer, the file is formatted after a write or edit - gofmt, prettier, rustfmt, ruff, clang-format, and so on. The agent's output lands in your project already matching its style.
Search and reads
Content search uses ripgrep when it is installed, which respects .gitignore and skips binary files. Without it, search falls back to a directory walk that skips heavy folders like node_modules. File reads are line numbered, and support an offset and a limit (2,000 lines by default) so the agent can work through a large file in pieces rather than pulling all of it into context.
Multi-file patches
apply_patch applies a patch across several files in one call - adding, updating, deleting, and renaming files together. The whole patch is checked before any file is written, so a patch that can't apply leaves your files as they were. The agent uses it for changes that only make sense as a unit, like a rename that touches every import.
Background shells
The agent can start a long running command in the background (bash_start), read its output as it runs (bash_output), send input to it (bash_input), and stop it (bash_kill). That covers dev servers, watchers, and test suites that would otherwise block the conversation until they finished. Starting the command is what asks for approval; reading, sending input, and stopping it don't ask again.
Project instructions
Instruction files tell the agent how your project works - build commands, style rules, things it should not touch - so you don't have to repeat them in every chat. The agent reads them at the start of every turn, before it does anything else. Both AGENTS.md and CLAUDE.md work, so files you already keep for other coding tools apply here as they are.
They're read in this order:
- Your personal file,
~/.hania/AGENTS.md. It applies to every project on that computer. If you've setHANIA_HOME, it's$HANIA_HOME/AGENTS.mdinstead. - The project's files. Starting at the repository root (the folder that holds
.git) and working down to the folder you startedhaniain, each folder'sCLAUDE.mdand then itsAGENTS.md. Outside a git repository, only the files in the folder you started in are read.
Files later in the list are closer to where you're working, so when two of them disagree, the later one wins.
When the agent first reads, writes or edits a file in a subfolder, that subfolder's CLAUDE.md and AGENTS.md are added as well, once per conversation. If you change an instruction file, the change applies from your next message. There's nothing to restart.
Up to 32 KB of instructions are read in total, and anything past that is left out. Empty files are skipped. @file imports, AGENTS.override.md and CLAUDE.local.md aren't supported.
This works in every Hania Code conversation whose computer is online, including messages you send from the console to a conversation you started in hania. An older version of hania only reads the files in the folder you started in, until it updates itself.
Skills
A SKILL.md file in one of these folders inside the working folder is listed for the agent at the start of every turn, and the agent loads it when the task matches:skills/, skill/, .claude/skills/, .hania/skills/, .codex/skills/, or .opencode/skill/. This is the same SKILL.md format used by the other coding tools, so skills you already maintain work here unchanged.
Long sessions
Old tool output is trimmed from what the model sees as a session grows, which keeps long sessions inside the context window without you managing it. The stored transcript is kept in full, so nothing is lost from the record - only from the model's working view.