Oracle uses JSON5 for configuration, allowing comments and trailing commas. It supports two levels of configuration:
- User Configuration: Located at
~/.oracle/config.json. This is the primary place for machine-local settings, secrets, and provider routing. - Project Configuration: Located at
.oracle/config.json within your project directory. Oracle discovers these by searching upward from your working directory to your home directory. Project configs are merged into the user config (nested objects merge, scalars/arrays replace).
Important Security Note: Project-level configs (.oracle/config.json) are restricted to workflow defaults. They cannot set sensitive or machine-specific fields like apiBaseUrl, modelOverrides, azure, browser.remoteHost, browser.remoteToken, browser.chromePath, or browser.chromeCookiePath. These must be kept in your user config or environment variables.
// ~/.oracle/config.json example
{
engine: "api",
model: "gpt-5.5-pro",
search: "on",
notify: {
enabled: true,
sound: false,
muteIn: ["CI", "SSH"]
},
browser: {
chromeProfile: "Default",
chatgptUrl: "https://chatgpt.com/"
}
}