Odoo.sh Online Editor: A Developer's Complete Guide
By Braincuber Team
Published on February 2, 2026
Odoo.sh isn't just a hosting platform—it's a complete development environment. The Online Editor allows you to modify code, debug issues, and manage your database directly from your browser without setting up a local environment. It's the ultimate tool for quick fixes, hot-debugging on staging, and inspecting server logs in real-time.
This tutorial covers everything you need to know about the Odoo.sh editor, from navigating the file system to a real-world workflow: hot-fixing a bug on a staging branch and pushing it to production.
Browser IDE
Full-featured code editor with syntax highlighting for Python, XML, and JS.
Terminal Access
Direct shell access to run Odoo commands, pip install, and file operations.
Git Integration
Commit and push changes directly to GitHub from the editor terminal.
Log Monitoring
View live server logs to debug errors and monitor module installations.
Accessing the Editor
There are two ways to open the editor for any specific build (branch):
- Via UI: Go to your Odoo.sh project, select a branch (e.g., Staging), click the Connect dropdown, and select Editor.
- Via URL: Append
/odoo-sh/editorto your build's URL.
Example:https://my-project-staging-123.dev.odoo.com/odoo-sh/editor
The Production branch editor is strictly read-only for source code. You can browse files and view logs, but you cannot modify code directly. Always edit on Staging builds.
File Structure Explained
Understanding the directory layout is crucial. Here is the standard Odoo.sh structure:
Practical Workflow: Hot-Fixing a Bug on Staging
Let's walk through a common scenario: You found a bug in a view on your staging branch, and you want to fix it quickly, test it, and push the fix to your repository.
Locate and Edit the File
Navigate to /home/odoo/src/user/your_module/views/ and open the view file. Make your changes in the editor pane. The editor supports standard shortcuts (Ctrl+S to save).
Update the Module
Saving the file doesn't apply changes to the database immediately. You need to update the module. Open the terminal (View > Terminals > New Terminal) and run:
odoo-bin -u your_module_name --stop-after-init
This command updates the module and stops the server instance (Odoo.sh will automatically restart it).
Verify the Fix
Go back to your build URL (the actual Odoo instance) and check if the bug is fixed. Since you updated the module, the changes are now live on this specific staging build.
Commit and Push to GitHub
If the fix works, you need to save it to your Git history. Otherwise, your changes will be lost if the build is rebuilt. In the terminal:
# Navigate to your repo
cd ~/src/user
# Check status
git status
# Stage the file
git add your_module/views/view_file.xml
# Commit
git commit -m "FIX: corrected field visibility in sales view"
# Push to your branch
git push https HEAD:your-branch-name
When pushing, you will be asked for a username and password. Odoo.sh uses HTTPS for git. For the password, you must use a GitHub Personal Access Token (PAT), not your account password. Make sure the token has 'repo' scope permissions.
Advanced: using Odoo Shell
The editor also gives you access to the odoo-shell, which is incredibly powerful for inspecting data issues or testing python code against the database.
odoo-bin shell
>>> self.env['sale.order'].search_count([])
1542
>>> partner = self.env['res.partner'].search([('email', '=', 'test@example.com')])
>>> partner.write({'active': False})
True
>>> self.env.cr.commit() # Don't forget to commit changes!
The Odoo.sh editor bridges the gap between local development and cloud deployment. By mastering these tools—direct file editing, terminal commands, and git operations—you can dramatically reduce your debugging cycle time and manage your projects more effectively.
Frequently Asked Questions
No, the Odoo.sh editor is a web-based IDE provided by Odoo. While it has similar features like syntax highlighting and terminal access, it is not VS Code. However, Odoo.sh is exploring VS Code in the browser for future versions.
No. For security and stability, the Production branch file system is read-only. You must make changes on a Staging or Development branch, test them, commit them to GitHub, and then merge/deploy to Production.
GitHub deprecated password authentication for HTTPS git operations. To push changes from the Odoo.sh terminal to your repository, you must generate a PAT in your GitHub developer settings and use it in place of your password.
Currently, the online editor does not support a full step-through debugger (like PDB via UI). However, you can use print statements or logging, and view the output in the real-time logs pane, or use the Odoo shell for interactive testing.
If you edit files in the editor, they are saved to the container's file system. However, if the container is rebuilt (e.g., after a drag-and-drop backup restore or a new commit from GitHub), your uncommitted changes will be lost. Always commit your work!
