1.9 KiB
1.9 KiB
OpenCode CLI — Detailed Integration Guide
OpenCode is a provider-agnostic, open-source AI coding agent. This reference covers binary resolution, session management, and key pitfalls.
Binary Resolution
Shell environments may resolve different OpenCode binaries. Check:
terminal(command="which -a opencode")
terminal(command="opencode --version")
If needed, pin an explicit binary path: $HOME/.opencode/bin/opencode run '...'
Interactive Sessions (Background)
# Start TUI in background
terminal(command="opencode", workdir="~/project", background=true, pty=true)
# Send a prompt
process(action="submit", session_id="<id>", data="Implement OAuth refresh flow")
# Monitor
process(action="log", session_id="<id>")
# Exit — use Ctrl+C, NOT /exit
process(action="write", session_id="<id>", data="\x03")
Important: Do NOT use /exit — it opens an agent selector instead. Use Ctrl+C (\x03) or process(action="kill").
TUI Keybindings
| Key | Action |
|---|---|
| Enter | Submit message |
| Tab | Switch between agents |
| Ctrl+P | Command palette |
| Ctrl+X L | Switch session |
| Ctrl+X M | Switch model |
| Ctrl+X N | New session |
| Ctrl+C | Exit |
PR Review
terminal(command="opencode pr 42", workdir="~/project", pty=true)
Or review in a temporary clone for isolation.
Session & Cost Management
opencode session list
opencode stats
opencode stats --days 7 --models anthropic/claude-sonnet-4
Common Flags
| Flag | Use |
|---|---|
run 'prompt' |
One-shot execution and exit |
-c / --continue |
Continue last session |
-s <id> |
Continue a specific session |
--agent <name> |
Choose agent (build or plan) |
--model provider/model |
Force specific model |
--thinking |
Show model thinking blocks |
--format json |
Machine-readable output |
-f <path> |
Attach file(s) to the message |