Settings

Settings provide the ability to customize and control the Sourcegraph UI and user-specific features. They do not configure operational aspects of the instance (which are set in the site configuration).

Settings can be set at the global level (by site admins), the organization level (by organization members), and at the individual user level.

Editing global settings (for site admins)

Global settings are found in Site admin > Global settings while links to organization and user settings are found in the user dropdown menu.

After setting or changing certain values in Site admin > Global settings the frontend will restart automatically or you might be asked to restart the frontend for the changes to take effect. In case of a Kubernetes deployment this can be done as follows:

bash
kubectl delete pods -l app=sourcegraph-frontend

Reference

Settings options and their default values are shown below.

admin/config/settings.schema.json

{
	// What in-app messaging to use around availability of Sourcegraph's code intelligence on code hosts. If the native code host integration is installed, this should be set to "native-integration" and users won't need to install the Sourcegraph browser extension to get code intelligence on code hosts.
	"alerts.codeHostIntegrationMessaging": "browser-extension",

	// Disables observability-related site alert banners.
	"alerts.hideObservabilitySiteAlerts": true,

	// Whether to show alerts for patch version updates. Alerts for major and minor version updates will always be shown.
	"alerts.showPatchUpdates": true,

	// Whether to run global searches over all repositories. On instances with many repositories, this can lead to issues such as: low quality results, slow response times, or significant load on the Sourcegraph instance. Defaults to true.
	"basicCodeIntel.globalSearchesEnabled": null,

	// Whether to include archived repositories in search results.
	"basicCodeIntel.includeArchives": null,

	// Whether to include forked repositories in search results.
	"basicCodeIntel.includeForks": null,

	// Whether to use only indexed requests to the search API.
	"basicCodeIntel.indexOnly": null,

	// The timeout (in milliseconds) for un-indexed search requests.
	"basicCodeIntel.unindexedSearchTimeout": null,

	// Whether to use the code host's native hover tooltips when they exist (GitHub's jump-to-definition tooltips, for example).
	"codeHost.useNativeTooltips": false,

	// Whether to fetch multiple precise definitions and references on hover.
	"codeIntel.disableRangeQueries": null,

	// Never fall back to search-based code intelligence.
	"codeIntel.disableSearchBased": null,

	// Whether to supplement precise references with search-based results.
	"codeIntel.mixPreciseAndSearchBasedReferences": null,

	// What kind of references panel to use for exploring definitions and references. The tabbed panel is deprecated.
	"codeIntel.referencesPanel": null,

	// Whether to enable trace logging on the extension.
	"codeIntel.traceExtension": null,

	// Up to this number of repos are auto-indexed automatically. Ordered by star count.
	"codeIntelligence.autoIndexPopularRepoLimit": 0,

	// A list of search.repositoryGroups that have auto-indexing enabled.
	"codeIntelligence.autoIndexRepositoryGroups": null,

	// Enable click to go to definition.
	"codeIntelligence.clickToGoToDefinition": true,

	// Maximum number of references/definitions (or other code intelligence results provided by extensions) shown in the panel. If not set a default value will be used to ensure best performance.
	"codeIntelligence.maxPanelResults": null,

	// The Sourcegraph extensions to use. Enable an extension by adding a property `"my/extension": true` (where `my/extension` is the extension ID). Override a previously enabled extension and disable it by setting its value to `false`.
	"extensions": null,

	// The Sourcegraph extensions, by ID (e.g. `my/extension`), whose logs should be visible in the console.
	"extensions.activeLoggers": null,

	// Whether the sidebar on the repo view should be open by default.
	"fileSidebarVisibleByDefault": true,

	// Custom page size for the history tab. If set, the history tab will populate that number of commits the first time the history tab is opened and then double the number of commits progressively.
	"history.defaultPageSize": null,

	// Show absolute timestamps in the history panel and only show relative timestamps (e.g.: "5 days ago") in tooltip when hovering.
	"history.preferAbsoluteTimestamps": false,

	"insights.displayLocation.directory": true,

	"insights.displayLocation.homepage": true,

	"insights.displayLocation.insightsPage": true,

	// DEPRECATED: Use `notices` instead.
	//
	// An array (often with just one element) of messages to display at the top of all pages, including for unauthenticated users. Users may dismiss a message (and any message with the same string value will remain dismissed for the user).
	//
	// Markdown formatting is supported.
	//
	// Usually this setting is used in global and organization settings. If set in user settings, the message will only be displayed to that user. (This is useful for testing the correctness of the message's Markdown formatting.)
	//
	// MOTD stands for "message of the day" (which is the conventional Unix name for this type of message).
	"motd": null,

	// Custom informational messages to display to users at specific locations in the Sourcegraph user interface.
	//
	// Usually this setting is used in global and organization settings. If set in user settings, the message will only be displayed to that single user.
	"notices": null,

	// Group of settings related to opening files in an editor.
	"openInEditor": null,

	// Key-value pairs of code host URLs to Swarm URLs. Keys should have no prefix and should not end with a slash, like "perforce.company.com:1666". Values should look like "https://swarm.company.com/", with a slash at the end.
	"perforce.codeHostToSwarmMap": {},

	// DEPRECATED: This setting will be removed in a future version of Sourcegraph.
	"quicklinks": null,

	// The default number of lines to show as context below and above search results. Default is 1.
	"search.contextLines": 1,

	// Whether query patterns are treated case sensitively. Patterns are case insensitive by default.
	"search.defaultCaseSensitive": false,

	// Defines default properties for search behavior. The default is `smart`, which provides query assistance that automatically runs alternative queries when appropriate. When `precise`, search behavior strictly searches for the precise meaning of the query.
	"search.defaultMode": null,

	// The default pattern type that search queries will be intepreted as. `lucky` is an experimental mode that will interpret the query in multiple ways.
	"search.defaultPatternType": null,

	// Disable search suggestions below the search bar when constructing queries. Defaults to false.
	"search.hideSuggestions": false,

	// Whether searches should include searching archived repositories.
	"search.includeArchived": false,

	// Whether searches should include searching forked repositories.
	"search.includeForks": false,

	// DEPRECATED: Use search contexts instead.
	//
	// Named groups of repositories that can be referenced in a search query using the `repogroup:` operator. The list can contain string literals (to include single repositories) and JSON objects with a "regex" field (to include all repositories matching the regular expression). Retrieving repogroups via the GQL interface will currently exclude repositories matched by regex patterns. #14208.
	"search.repositoryGroups": null,

	// DEPRECATED: Saved search queries
	"search.savedQueries": null,

	// Predefined search snippets that can be appended to any search (also known as search scopes)
	"search.scopes": null,

//////////////////////////////////////////////////////////////
// CodeInsights
//////////////////////////////////////////////////////////////

	// The number of seconds to execute the aggregation for when running in extended timeout mode. This value should always be less than any proxy timeout if one exists. The maximum value is equal to searchLimits.maxTimeoutSeconds
	"insights.aggregations.extendedTimeout": 55,

//////////////////////////////////////////////////////////////
// Experimental
//////////////////////////////////////////////////////////////

	// Experimental features and settings.
	"experimentalFeatures": null
}

Additional details on settings

Notices

Notices can be added in global, organization, or user settings. The notices setting is a list of configuration consisting of three elements:

  1. message: the markdown copy to be displayed in the banner
  2. location: where the banner will be shown. Either on the home page with "home" or at the top of the page with "top"
  3. dismissible: boolean (true or false). If true, users will be able to close the notice and not see it again. If false, it will persist on the instance until the configuration is removed.

Example settings:

"notices": [
  {
    "message": "Your message here! [Include a link for more information](http://example.com).",
    "location": "top",
    "dismissible": true
  }
]