Built-in tools
Apollo ships with four tools. The agent calls them on its own — and you can call them yourself.
The tools
| Tool | What it does |
|---|---|
ls |
List directory contents, so the agent sees your project layout |
read |
Read file contents into context before answering |
bash |
Execute shell commands |
edit |
Edit a file — shows a colorized unified diff before applying |
When the agent needs ground truth, it requests a tool call. Apollo executes it locally, feeds the result back into the conversation, and the agent keeps going — chaining calls automatically until your question is answered:
You: read main.go
Thinking...
Executing [1/1]: read
Thinking...
Apollo: Here's what main.go does...
Diff previews
edit never rewrites silently. Before applying a change it prints the unified diff (diff -u output, colorized), so you see exactly what moves:
You: fix the off-by-one in main.go
Thinking...
Executing [1/1]: edit
--- main.go
+++ main.go (modified)
@@ -40,7 +40,7 @@
- for i := 0; i <= n; i++ {
+ for i := 0; i < n; i++ {
Thinking...
Apollo: Fixed — the loop ran one past the end...
Manual execution
Prefix any tool with / to run it yourself without involving the model:
You: /ls
main.go go.mod README.md
Useful for pulling context into the conversation before you ask the real question.
Skills
For reusable workflows, load an agent skill with /skill:<name> — see Skills.
Safety
Tools execute real shell commands on your machine — that is the point, and also the reason to read what the agent plans to run. When in doubt, run debug mode to see the full request/response cycle.