Feature reference
What the coding tool actually does on the machine, in detail. Everything here applies the same from the terminal and from the console, because both drive the same tool.
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, the machine 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 the machine, so it adds no idle load.
Auto-format after edits
When a formatter is installed on the machine, 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. 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 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 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, read its output as it runs, send input to it, and stop it. That covers dev servers, watchers, and test suites that would otherwise block the conversation until they finished.
Project context
If the working directory has an AGENTS.md or CLAUDE.md file, it is loaded once per conversation, so the agent follows the project's own conventions - build commands, style rules, things it should not touch - without being told each time.
Skills
A SKILL.md file under a skills folder in the project is discovered and offered to the agent, which loads it on demand when the task matches. 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.