@coder is the engineering suite used by Coder Mode (/coder). It provides actions for reading/searching files, safely applying patches, running commands, and reverting changes.
@coder is a builtin plugin — it comes embedded in the ChatCLI binary and works immediately, without installation. If you need a custom version, simply place the binary in ~/.chatcli/plugins/ and it will take precedence over the builtin. When removed, the builtin returns automatically on the next /plugin reload.Supported Commands
The supported commands are (in theargs attribute format of <tool_call> or direct usage).
JSON in args is recommended, for example: args="{\"cmd\":\"read\",\"args\":{\"file\":\"README.md\"}}".
Reading and Navigation
Reading and Navigation
Writing and Modification
Writing and Modification
write --file path --content "base64" --encoding base64— Writes a file (content in base64, single line)patch --file path --search "base64" --replace "base64" --encoding base64— Patch via search/replace (base64 to avoid escape issues)patch --diff "base64" --diff-encoding base64— Patch via diff (multiple sections)
Execution
Execution
exec --cmd "command"— Executes a command in the shelltest --dir .(or--cmd "command") — Runs tests
Git
Git
git-status --dir .— Repository statusgit-diff --dir .— Pending differencesgit-log --dir .— Commit historygit-changed --dir .— Changed filesgit-branch --dir .— Repository branches
Rollback and Cleanup
Rollback and Cleanup
rollback --file path— Reverts a change that generated a backup (.bak)clean --dir .— Removes.bakbackups (dry-run by default, use--force)
Rollback and Safety
Rollback
Use
rollback --file x to revert a change that generated a backup (e.g., .bak file).Cleanup
Use
clean --dir . to remove .bak backups (dry-run by default, use --force).Usage Example (in /coder)
In/coder mode, the assistant should respond with a reasoning block followed by only one tool_call. These are valid examples:
Notes
Being builtin,
@coder appears in /plugin list with the [builtin] tag. It cannot be uninstalled via /plugin uninstall.Plugin @coder FAQ
Does @coder accept JSON in args?
Does @coder accept JSON in args?
Yes. The recommended format is JSON. Example:
When to use patch --diff?
When to use patch --diff?
Use it when you need to apply multiple sections or when simple search/replace is not sufficient. The diff can be
text or base64.Is exec dangerous?
Is exec dangerous?
@coder exec blocks dangerous patterns by default. Use --allow-unsafe only when necessary and with supervision.Is there a read limit?
Is there a read limit?
Yes. Use
read --max-bytes, --head, or --tail to avoid very large outputs.