Description
When I disable Ruff formatting in ~/.config/opencode/opencode.json, Python files are still auto-formatted after edits.
OpenCode appears to respect the config entry for formatter.ruff.disabled, but the formatter that actually runs is uv format, which still stays enabled.
This is confusing because uv format is documented as using the Ruff formatter and having the same behavior as ruff format. Based on that, disabling Ruff formatting should also disable the Python formatting path used by uv, or the config/docs should clearly state that uv is treated as a separate formatter.
Expected behavior:
- Disabling Ruff formatting should stop Python auto-formatting.
Actual behavior:
- Python files are still reformatted after edits.
- Logs show OpenCode running
uv format -- $FILE.
Config used:
{
"formatter": {
"ruff": {
"disabled": true
}
}
}
I also confirmed OpenCode is loading that config correctly with opencode debug config.
Plugins
None
OpenCode version
1.4.3
Steps to reproduce
- Create this config in ~/.config/opencode/opencode.json:
{
"formatter": {
"ruff": {
"disabled": true
}
}
}
- Run opencode debug config and confirm it resolves to:
{
"formatter": {
"ruff": {
"disabled": true
}
}
}
- Open a Python project in OpenCode.
- Ask OpenCode to make a small change to a .py file.
- Observe that formatting is still applied automatically.
- Check the OpenCode logs and see entries like:
service=format file=/path/to/file.py formatting
service=format name=uv ext=.py enabled
service=format command=["uv","format","--","$FILE"] running
Screenshot and/or share link
No response
Operating System
Ubuntu 24.04
Terminal
VS Code integrated terminal
Description
When I disable Ruff formatting in
~/.config/opencode/opencode.json, Python files are still auto-formatted after edits.OpenCode appears to respect the config entry for
formatter.ruff.disabled, but the formatter that actually runs isuv format, which still stays enabled.This is confusing because
uv formatis documented as using the Ruff formatter and having the same behavior asruff format. Based on that, disabling Ruff formatting should also disable the Python formatting path used byuv, or the config/docs should clearly state thatuvis treated as a separate formatter.Expected behavior:
Actual behavior:
uv format -- $FILE.Config used:
{ "formatter": { "ruff": { "disabled": true } } }I also confirmed OpenCode is loading that config correctly with opencode debug config.
Plugins
None
OpenCode version
1.4.3
Steps to reproduce
{ "formatter": { "ruff": { "disabled": true } } }{ "formatter": { "ruff": { "disabled": true } } }service=format file=/path/to/file.py formatting
service=format name=uv ext=.py enabled
service=format command=["uv","format","--","$FILE"] running
Screenshot and/or share link
No response
Operating System
Ubuntu 24.04
Terminal
VS Code integrated terminal