Skip to main content


Note: this document is automatically generated from configuration objects in our source code. See Config guide for more info

Source file


this is a config model representing a config.json (for jbrowse-web) or somefile.jbrowse (for jbrowse-desktop, where configs have the .jbrowse extension)


also includes any pluginManager.pluginConfigurationSchemas(), so plugins that have a configurationSchema field on their class are mixed into this object

JBrowseRootConfig - Slots

slot: configuration.rpc

rpc: RpcManager.configSchema

slot: configuration.highResolutionScaling

highResolutionScaling: {
type: 'number',
defaultValue: 2,

slot: configuration.disableAnalytics

disableAnalytics: {
type: 'boolean',
defaultValue: false,

slot: configuration.theme

theme: {
type: 'frozen',
defaultValue: {},

slot: configuration.extraThemes

extraThemes: {
type: 'frozen',
defaultValue: {},

slot: configuration.logoPath

logoPath: {
type: 'fileLocation',
defaultValue: { uri: '', locationType: 'UriLocation' },

slot: plugins

defines plugins of the format

type PluginDefinition=
{ umdUrl: string, name:string } |
{ url: string, name: string } |
{ esmUrl: string } |
{ cjsUrl: string } |
{ umdLoc: { uri: string } } |
{ esmLoc: { uri: string } } |
plugins: types.array(types.frozen<PluginDefinition>())

slot: assemblies

configuration of the assemblies in the instance, see BaseAssembly

assemblies: types.array(assemblyConfigSchema)

slot: tracks

track configuration is an array of track config schemas. multiple instances of a track can exist that use the same configuration

tracks: types.array(pluginManager.pluggableConfigSchemaType('track'))

slot: internetAccounts

configuration for internet accounts, see InternetAccounts

internetAccounts: types.array(
pluginManager.pluggableConfigSchemaType('internet account'),

slot: aggregateTextSearchAdapters

configuration for aggregate text search adapters (created by e.g. jbrowse text-index, but can be a pluggable TextSearchAdapter type)

aggregateTextSearchAdapters: types.array(
pluginManager.pluggableConfigSchemaType('text search adapter'),

slot: connections

configuration for connections

connections: types.array(pluginManager.pluggableConfigSchemaType('connection'))

slot: defaultSession

defaultSession: types.optional(types.frozen(), {
name: `New Session`,