Slash commands are not resolved when using "opencode run"
Description
When running OpenCode interactively, slash commands (e.g. /mycmd) are correctly resolved by OpenCode before being sent to the LLM. The command is expanded or executed internally, and only the resolved result is passed to the model.
However, when using opencode run, slash commands are not resolved. Instead, the raw slash command (e.g. /mycmd) is forwarded verbatim to the LLM. Since the LLM has no knowledge of OpenCode-specific slash commands, it responds with a hallucinated error message.
This results in inconsistent behavior between interactive and non-interactive usage and makes opencode run unreliable for automation.
Expected Behavior
opencode run should behave the same as interactive mode.
Why this matters (Ralph Wiggum workflow)
This behavior is particularly annoying when using Ralph Wiggum–style workflows, where OpenCode is run repeatedly in a loop. I would like to run a slash command in a loop, without workaround
Plugins
No response
OpenCode version
1.1.6
Steps to reproduce
- Define a custom command /mycmd with the content:
Say hello to the user - Run OpenCode interactively and invoke /mycmd - Observe that the command is resolved and executed correctly
- Run:
opencode run "/mycmd"
Result:
Screenshot and/or share link
No response
Operating System
MacOS
Terminal
Ghostty