How to Enable Developer Mode in Frappe Framework (v15)
Introduction: Why Developer Mode Matters in Frappe
Developer Mode is the foundation of all customization and extension work in Frappe.
Without it, core tools like DocType editing, Custom Scripts, and app-level changes remain locked.
In Frappe Framework v15, Developer Mode is intentionally disabled by default to protect production systems from accidental changes.
What Is Developer Mode in Frappe?
Developer Mode is a configuration setting that enables advanced development features inside Frappe and ERPNext.
When enabled, it allows you to:
- Create and edit DocTypes
- Export fixtures and JSON files
- Modify print formats and web forms
- Build and test custom apps
Who Should Enable Developer Mode?
Developer Mode is intended for:
- Frappe / ERPNext Developers
- ERPNext Consultants
- System Integrators
- Technical Administrators
It should never be enabled on a live production system unless required and controlled.
Technical Prerequisites
Before enabling Developer Mode, ensure:
- You have bench access to the server
- You are working on Frappe Framework v15
- You have System Manager privileges
How to Enable Developer Mode in Frappe (Recommended Method)
Method 1: Enable Developer Mode via site_config.json
This is the official and recommended approach in Frappe v15.
Step 1: Navigate to Your Site Directory
cd frappe-bench/sites/your-site-name
Step 2: Open site_config.json
nano site_config.json
Step 3: Add or Update Developer Mode Setting
{
"developer_mode": 1
}
If the file already contains settings, simply add:
"developer_mode": 1
Step 4: Restart Bench
bench restart
Developer Mode is now active for this site.
How to Verify Developer Mode Is Enabled
Once enabled, you will notice:
- Customize Form visible in DocTypes
- Ability to create new DocTypes
- JSON files generated on save
- App-level metadata being exported
You can also confirm via System Settings in the UI.
Alternative Method: Enable via Bench Command (Not Preferred)
Some setups allow enabling developer mode using:
bench set-config -g developer_mode 1
This enables developer mode globally, which is not recommended for multi-site setups.
What Changes When Developer Mode Is Enabled?
| Feature | Disabled | Enabled |
| Create DocTypes | ❌ | ✅ |
| Edit DocType Fields | ❌ | ✅ |
| Export JSON Files | ❌ | ✅ |
| Custom Script Editing | Limited | Full |
| App Development | ❌ | ✅ |
Common Use Cases for Developer Mode
Developer Mode is required for:
- Building custom ERPNext apps
- Creating industry-specific modules
- Writing Custom Scripts and Hooks
- Modifying Print Formats
- Developing REST API extensions
Best Practices for Using Developer Mode
- Enable only in development or staging
- Keep it disabled in production
- Commit exported JSON files to version control
- Use separate sites for dev and prod
Security Considerations
Leaving Developer Mode enabled on production systems can:
- Allow unintended schema changes
- Expose internal configuration options
- Increase risk of data corruption
Always disable Developer Mode before go-live.
Troubleshooting Developer Mode Issues
Developer Options Not Visible?
- Restart bench
- Clear browser cache
- Confirm developer_mode: 1 exists in site_config.json
Changes Not Exporting to Files?
- Ensure you are working inside a custom app
- Confirm file permissions
- Verify app is installed on the site
Industry Relevance
Developer Mode is critical for:
- Manufacturing ERP customizations
- Real estate ERP workflows
- Healthcare and compliance-heavy systems
- Industry-specific ERPNext solutions
Summary: Developer Mode Is the Gateway to Customization
In Frappe Framework v15, Developer Mode unlocks the full power of ERPNext customization and app development.
When used correctly, it enables structured, version-controlled, and scalable development—without compromising system stability.