Built-in tools available to agents beyond the standard file and shell operations.
Launch agents asynchronously and collect results later. This is how the Orchestrator runs Explorer, Librarian, and other sub-agents in parallel without blocking.
| Tool | Description |
|---|---|
background_task |
Launch an agent in a new session. sync=true blocks until complete; sync=false returns a task ID immediately |
background_output |
Fetch the result of a background task by ID |
background_cancel |
Abort a running background task |
Background tasks integrate with Multiplexer Integration — when multiplexer support is enabled, each background task spawns a pane so you can watch it live.
Fetch remote pages with content extraction tuned for docs/static sites.
| Tool | Description |
|---|---|
webfetch |
Fetch a URL, optionally prefer llms.txt, extract main content from HTML, include metadata, and optionally save binary responses |
webfetch blocks cross-origin redirects unless the requested URL or derived permission patterns explicitly allow them, and it can fall back to the raw fetched content when secondary-model summarization is unavailable.
Language Server Protocol integration for code intelligence across 30+ languages. OpenCode ships pre-configured LSP servers for TypeScript, Python, Rust, Go, and more.
| Tool | Description |
|---|---|
lsp_goto_definition |
Jump to a symbol's definition |
lsp_find_references |
Find all usages of a symbol across the workspace |
lsp_diagnostics |
Get errors and warnings from the language server |
lsp_rename |
Rename a symbol across all files atomically |
See the official OpenCode docs for the full list of built-in LSP servers and their requirements.
Fast, structural code search and refactoring — more powerful than plain text grep.
| Tool | Description |
|---|---|
grep |
Fast content search using ripgrep |
ast_grep_search |
AST-aware code pattern matching across 25 languages |
ast_grep_replace |
AST-aware code refactoring with dry-run support |
ast_grep understands code structure, so it can find patterns like "all arrow functions that return a JSX element" rather than relying on exact text matching.
OpenCode automatically formats files after they are written or edited, using language-specific formatters. No manual step needed.
Includes Prettier, Biome, gofmt, rustfmt, ruff, and 20+ others.
See the official OpenCode docs for the complete list.
Auto-continue the orchestrator when it stops with incomplete todos. Opt-in — no automatic behavior unless enabled.
| Tool / Command | Description |
|---|---|
auto_continue |
Toggle auto-continuation. Call with { enabled: true } to activate, { enabled: false } to disable |
/auto-continue |
Slash command shortcut. Accepts on, off, or toggles with no argument |
How it works:
Safety gates (all must pass before continuation):
Configuration in oh-my-opencode-slim.json:
{
"todoContinuation": {
"maxContinuations": 5, // Max consecutive auto-continuations (1–50)
"cooldownMs": 3000, // Delay before each continuation (0–30000)
"autoEnable": false, // Auto-enable when session has enough todos
"autoEnableThreshold": 4 // Number of todos to trigger auto-enable
}
}
See Configuration for the full option reference.