({{, (RefLink[SetOptions, paclet:ref/SetOptions])[s,(Subscript[name, 1])->(Subscript[value, 1]),(Subscript[name, 2])->(Subscript[value, 2]),…]
sets the specified default options for a symbol s. }, {, (RefLink[SetOptions, paclet:ref/SetOptions])[stream,…] or (RefLink[SetOptions, paclet:ref/SetOptions])["name",…]
sets options associated with a particular stream. }, {, (RefLink[SetOptions, paclet:ref/SetOptions])[object,…]
sets options associated with an external object such as a (RefLink[NotebookObject, paclet:ref/NotebookObject]). }})

OpenersNotesSection(Spacer1)Details

(RefLink[SetOptions, paclet:ref/SetOptions]) is equivalent to an assignment that redefines certain elements of the list (RefLink[Options, paclet:ref/Options])[s] of default options.

(RefLink[SetOptions, paclet:ref/SetOptions]) can be used on (RefLink[Protected, paclet:ref/Protected]) symbols.

(RefLink[SetOptions, paclet:ref/SetOptions]) returns the new form of (RefLink[Options, paclet:ref/Options])[s].

You can use (RefLink[SetOptions, paclet:ref/SetOptions]) on (RefLink[InputStream, paclet:ref/InputStream]) and (RefLink[OutputStream, paclet:ref/OutputStream]) objects. If there is only one stream with a particular name, you can give the name as a string as the argument of (RefLink[Options, paclet:ref/Options]).

(RefLink[SetOptions, paclet:ref/SetOptions]) can be used on a list of streams, such as the value of (RefLink[$Output, paclet:ref/$Output]).

If object refers to a front end object such as (RefLink[$FrontEnd, paclet:ref/$FrontEnd]), (RefLink[NotebookObject, paclet:ref/NotebookObject]), or (RefLink[CellObject, paclet:ref/CellObject]), the kernel will send a request to the front end that will immediately make the change specified.

OpenersPrimaryExamplesSection(Spacer1)Examples  (3)

OpenersExampleSection0(Spacer1)Basic Examples  (2)

Reset the default precision for (RefLink[HilbertMatrix, paclet:ref/HilbertMatrix]):

SetOptions[HilbertMatrix, WorkingPrecision->MachinePrecision]

Now (RefLink[HilbertMatrix, paclet:ref/HilbertMatrix]) uses machine numbers by default:

HilbertMatrix[2]

A specific option setting overrides the new default:

HilbertMatrix[2,WorkingPrecision->20]

Restore the system default:

SetOptions[HilbertMatrix,WorkingPrecision->∞];

Change the style for plots to use dashed curves:

SetOptions[Plot,PlotStyle->Dashing[{.05,.01}]];

Plot[{Sin[x],Cos[x]},{x,0,1}]

Restore the system default:

SetOptions[Plot,PlotStyle->Automatic];

OpenersExampleSection1(Spacer1)Possible Issues  (1)

For notebook options with rules, it can be awkward to make a targeted change to a specific rule:

SetOptions[$FrontEnd, EvaluatorNames->Append[DeleteCases[EvaluatorNames/.Options[$FrontEnd, EvaluatorNames],_["NewKernel1",_]],"NewKernel1"->{"AutoStartOnLaunch"->False}]]

(RefLink[CurrentValue, paclet:ref/CurrentValue]) provides a better way of adding or changing specific rules:

CurrentValue[$FrontEnd, {EvaluatorNames, "NewKernel1"}]={"AutoStartOnLaunch"->False}

({{DocumentationFooterIconsRelatedFunction.png, ({{See Also}, {(RefLink[Options, paclet:ref/Options])  ▪  (RefLink[CurrentValue, paclet:ref/CurrentValue])}})}})

({{DocumentationFooterIconsRelatedTutorial.png, ({{Tutorials}, {▪(RefLinkPlain[Manipulating Options, paclet:tutorial/ManipulatingOptions])}})}})

({{DocumentationFooterIconsRelatedGuide.png, ({{Related Guides}, {▪(RefLinkPlain[Low-Level Notebook Programming, paclet:guide/LowLevelNotebookProgramming])}, {▪(RefLinkPlain[Options Management, paclet:guide/OptionsManagement])}, {▪(RefLinkPlain[Session Customization, paclet:guide/SessionCustomization])}, {▪(RefLinkPlain[Programmatic Notebook & Interface Customization, paclet:guide/ProgrammaticNotebookAndInterfaceCustomization])}, {▪(RefLinkPlain[Sharing & Embedding Content, paclet:guide/SharingAndEmbeddingContent])}, {▪(RefLinkPlain[Creating Form Interfaces & Apps, paclet:guide/CreatingFormsAndApps])}, {▪(RefLinkPlain[Creating Instant APIs, paclet:guide/CreatingAnInstantAPI])}, {▪(RefLinkPlain[Low-Level System Optimization, paclet:guide/LowLevelSystemOptimization])}, {▪(RefLinkPlain[Wolfram System Setup, paclet:guide/WolframSystemSetup])}, {▪(RefLinkPlain[Package Development, paclet:guide/PackageDevelopment])}, {▪(RefLinkPlain[Palettes, paclet:guide/Palettes])}, {▪(RefLinkPlain[Persistent Storage, paclet:guide/PersistentStorage])}, {▪(RefLinkPlain[Toolbars, paclet:guide/Toolbars])}, {▪(RefLinkPlain[Cloud Permissions Control, paclet:guide/CloudPermissionsControl])}, {▪(RefLinkPlain[Wolfram Data Repository, paclet:guide/WolframDataRepository])}, {▪(RefLinkPlain[Wolfram Resource System, paclet:guide/WolframResourceSystem])}, {▪(RefLinkPlain[Structured Data in the Cloud, paclet:guide/StructuredDataInTheCloud])}})}})

({{(Spacer1), ({{(Spacer1)Related Links}, {(WebLink[DocumentationFooterIconsRelatedLinks-FastIntro.png(Spacer1)Fast Introduction for Programmers: Options, http://www.wolfram.com/language/fast-introduction-for-programmers/options/])}, {(WebLink[DocumentationFooterIconsRelatedLinks-EIWL.png(Spacer1)An Elementary Introduction to the Wolfram Language, https://www.wolfram.com/language/elementary-introduction/20-options.html])(WebLink[: Options, https://www.wolfram.com/language/elementary-introduction/20-options.html])}})}})