[{"data":1,"prerenderedAt":1329},["ShallowReactive",2],{"docs-\u002Fdocs\u002Freference\u002Fenvironment-variables":3},{"id":4,"title":5,"body":6,"description":1321,"extension":1322,"meta":1323,"navigation":1324,"path":1325,"seo":1326,"stem":1327,"__hash__":1328},"docs\u002Fdocs\u002Freference\u002Fenvironment-variables.md","Environment variables",{"type":7,"value":8,"toc":1306},"minimark",[9,13,17,26,42,47,118,122,254,268,272,399,409,433,438,511,515,573,577,585,764,769,773,842,846,930,936,940,983,987,990,1040,1083,1095,1099,1112,1116,1123,1160,1166,1221,1227,1302],[10,11,5],"h1",{"id":12},"environment-variables",[14,15,16],"p",{},"Slo works with no configuration at all. These variables are for when you want to change where things live, run long workflows, connect other tools, or run Slo somewhere without a person watching.",[14,18,19,20,25],{},"Most people only ever set two or three. Start with ",[21,22,24],"a",{"href":23},"#ready-made-profiles","the profiles"," at the bottom if you'd rather copy something that works.",[27,28,30],"note",{"kind":29},"tip",[14,31,32,33,37,38,41],{},"Slo doesn't read ",[34,35,36],"code",{},".env"," files. Export variables in your shell profile, your CI settings, or the environment of whatever launches ",[34,39,40],{},"slo",".",[43,44,46],"h2",{"id":45},"the-ones-most-people-set","The ones most people set",[48,49,50,66],"table",{},[51,52,53],"thead",{},[54,55,56,60,63],"tr",{},[57,58,59],"th",{},"Variable",[57,61,62],{},"Default",[57,64,65],{},"What it does",[67,68,69,87,103],"tbody",{},[54,70,71,77,80],{},[72,73,74],"td",{},[34,75,76],{},"SLO_KB_DIR",[72,78,79],{},"not set",[72,81,82,83,41],{},"Folder of markdown notes Slo consults before designing or debugging, and writes discoveries back to. See ",[21,84,86],{"href":85},"\u002Fdocs\u002Fguides\u002Fproject-memory","Give Slo a memory",[54,88,89,94,96],{},[72,90,91],{},[34,92,93],{},"SLO_MODEL_POOL",[72,95,79],{},[72,97,98,99,41],{},"Two or more models to fall back through when one is rate limited or out of credit. See ",[21,100,102],{"href":101},"\u002Fdocs\u002Ffeatures\u002Fmodels#the-model-pool","the model pool",[54,104,105,110,115],{},[72,106,107],{},[34,108,109],{},"SLO_SUBAGENT_MAX_CONCURRENCY",[72,111,112],{},[34,113,114],{},"4",[72,116,117],{},"How many sub-agents a dynamic workflow runs at once.",[43,119,121],{"id":120},"paths","Paths",[48,123,124,134],{},[51,125,126],{},[54,127,128,130,132],{},[57,129,59],{},[57,131,62],{},[57,133,65],{},[67,135,136,151,164,179,194,209,224,239],{},[54,137,138,143,148],{},[72,139,140],{},[34,141,142],{},"SLO_HOME",[72,144,145],{},[34,146,147],{},"~\u002F.slo",[72,149,150],{},"Where Slo keeps everything: sessions, credentials, preferences, schedules, your skills and workflows.",[54,152,153,158,161],{},[72,154,155],{},[34,156,157],{},"SLO_SKILLS_DIR",[72,159,160],{},"set by the installer",[72,162,163],{},"The built-in skill library. The installer points this at the installed package, so you rarely need to touch it.",[54,165,166,171,176],{},[72,167,168],{},[34,169,170],{},"SLO_USER_SKILLS_DIR",[72,172,173],{},[34,174,175],{},"$SLO_HOME\u002Fuser_skills",[72,177,178],{},"Your own skills.",[54,180,181,186,191],{},[72,182,183],{},[34,184,185],{},"SLO_USER_WORKFLOWS_DIR",[72,187,188],{},[34,189,190],{},"$SLO_HOME\u002Fuser_workflows",[72,192,193],{},"Your own workflows.",[54,195,196,201,206],{},[72,197,198],{},[34,199,200],{},"SLO_AUTH_FILE",[72,202,203],{},[34,204,205],{},"$SLO_HOME\u002Fglobal\u002Fauthentication.json",[72,207,208],{},"Where sign-in credentials are stored.",[54,210,211,216,221],{},[72,212,213],{},[34,214,215],{},"SLO_PREFERENCES_FILE",[72,217,218],{},[34,219,220],{},"$SLO_HOME\u002Fglobal\u002Fpreferences.json",[72,222,223],{},"Saved model, reasoning level and model pool.",[54,225,226,231,236],{},[72,227,228],{},[34,229,230],{},"SLO_SCHEDULES_DIR",[72,232,233],{},[34,234,235],{},"$SLO_HOME\u002Fschedules",[72,237,238],{},"Schedule definitions and run records.",[54,240,241,246,251],{},[72,242,243],{},[34,244,245],{},"SLO_CONNECTORS_DIR",[72,247,248],{},[34,249,250],{},"$SLO_HOME\u002Fconnectors",[72,252,253],{},"Saved connector credentials.",[14,255,256,257,259,260,263,264,267],{},"Two things stay under your real home directory whatever ",[34,258,142],{}," says: the global instruction file (",[34,261,262],{},"~\u002F.slo\u002FSLO.md",") and installed plugins (",[34,265,266],{},"~\u002F.slo\u002Fplugins\u002F",").",[43,269,271],{"id":270},"models-and-providers","Models and providers",[48,273,274,284],{},[51,275,276],{},[54,277,278,280,282],{},[57,279,59],{},[57,281,62],{},[57,283,65],{},[67,285,286,302,317,332,348,369,384],{},[54,287,288,297,299],{},[72,289,290,293,294],{},[34,291,292],{},"OPENAI_API_KEY"," or ",[34,295,296],{},"SLO_OPENAI_API_KEY",[72,298,79],{},[72,300,301],{},"OpenAI API key. Used instead of your saved sign-in.",[54,303,304,312,314],{},[72,305,306,293,309],{},[34,307,308],{},"ANTHROPIC_API_KEY",[34,310,311],{},"SLO_ANTHROPIC_API_KEY",[72,313,79],{},[72,315,316],{},"Anthropic API key.",[54,318,319,327,329],{},[72,320,321,293,324],{},[34,322,323],{},"KIMI_FOR_CODING_API_KEY",[34,325,326],{},"SLO_KIMI_FOR_CODING_API_KEY",[72,328,79],{},[72,330,331],{},"Kimi For Coding API key.",[54,333,334,339,341],{},[72,335,336],{},[34,337,338],{},"SLO_OPENROUTER_API_KEY",[72,340,79],{},[72,342,343,344,41],{},"OpenRouter API key. See ",[21,345,347],{"href":346},"\u002Fdocs\u002Ffeatures\u002Fmodels#openrouter","OpenRouter",[54,349,350,355,360],{},[72,351,352],{},[34,353,354],{},"SLO_DEFAULT_MODEL_NAME",[72,356,357],{},[34,358,359],{},"gpt-5.4",[72,361,362,363,293,366,41],{},"The model to use when you haven't picked one with ",[34,364,365],{},"\u002Fmodel",[34,367,368],{},"--model",[54,370,371,375,377],{},[72,372,373],{},[34,374,93],{},[72,376,79],{},[72,378,379,380,383],{},"Fallback pool: ",[34,381,382],{},"\"gpt-5.4,claude-sonnet-4-6\""," or a JSON list.",[54,385,386,391,396],{},[72,387,388],{},[34,389,390],{},"SLO_MODEL_CATALOG_OVERRIDES_FILE",[72,392,393],{},[34,394,395],{},"$SLO_HOME\u002Fglobal\u002Fmodel_catalog_overrides.json",[72,397,398],{},"Tweaks to built-in model settings.",[14,400,401,402,405,406,408],{},"If both the plain and ",[34,403,404],{},"SLO_"," versions of a key are set, the plain one (",[34,407,292],{},") wins. An environment key always beats a saved sign-in.",[27,410,412],{"kind":411},"warning",[14,413,414,415,418,419,418,422,293,425,428,429,432],{},"Sub-agents don't inherit API keys or tokens from your environment. Anything with ",[34,416,417],{},"KEY",", ",[34,420,421],{},"TOKEN",[34,423,424],{},"SECRET",[34,426,427],{},"PASSWORD"," in its name is filtered out before a sub-agent starts. If you rely on environment keys, also sign in once with ",[34,430,431],{},"\u002Fauth"," so sub-agents can use the saved credentials.",[434,435,437],"h3",{"id":436},"sign-in-timeouts","Sign-in timeouts",[48,439,440,450],{},[51,441,442],{},[54,443,444,446,448],{},[57,445,59],{},[57,447,62],{},[57,449,65],{},[67,451,452,467,482,496],{},[54,453,454,459,464],{},[72,455,456],{},[34,457,458],{},"SLO_OAUTH_TIMEOUT_SECONDS",[72,460,461],{},[34,462,463],{},"60",[72,465,466],{},"How long the browser sign-in waits for the callback.",[54,468,469,474,479],{},[72,470,471],{},[34,472,473],{},"SLO_OAUTH_MANUAL_TIMEOUT_SECONDS",[72,475,476],{},[34,477,478],{},"900",[72,480,481],{},"Time allowed to finish a browser sign-in by pasting the response by hand.",[54,483,484,489,493],{},[72,485,486],{},[34,487,488],{},"SLO_OAUTH_DEVICE_TIMEOUT_SECONDS",[72,490,491],{},[34,492,478],{},[72,494,495],{},"Time allowed to finish an OpenAI device-code sign-in.",[54,497,498,503,508],{},[72,499,500],{},[34,501,502],{},"SLO_OAUTH_CALLBACK_HOST",[72,504,505],{},[34,506,507],{},"127.0.0.1",[72,509,510],{},"Address the sign-in callback listens on.",[434,512,514],{"id":513},"flaky-connections","Flaky connections",[48,516,517,527],{},[51,518,519],{},[54,520,521,523,525],{},[57,522,59],{},[57,524,62],{},[57,526,65],{},[67,528,529,544,558],{},[54,530,531,536,541],{},[72,532,533],{},[34,534,535],{},"SLO_PROVIDER_STREAM_FIRST_PROGRESS_TIMEOUT_SECONDS",[72,537,538],{},[34,539,540],{},"300",[72,542,543],{},"How long to wait for a model to start responding before reconnecting once.",[54,545,546,551,555],{},[72,547,548],{},[34,549,550],{},"SLO_PROVIDER_STREAM_IDLE_TIMEOUT_SECONDS",[72,552,553],{},[34,554,540],{},[72,556,557],{},"Longest pause allowed in the middle of a response.",[54,559,560,565,570],{},[72,561,562],{},[34,563,564],{},"SLO_PROVIDER_STREAM_CONTINUATION_MAX_ATTEMPTS",[72,566,567],{},[34,568,569],{},"5",[72,571,572],{},"How many times to pick up an interrupted response.",[43,574,576],{"id":575},"long-running-workflows","Long-running workflows",[14,578,579,580,584],{},"These matter when you use ",[21,581,583],{"href":582},"\u002Fdocs\u002Ffeatures\u002Fdynamic-workflows","dynamic workflows",". The defaults are generous on purpose.",[48,586,587,597],{},[51,588,589],{},[54,590,591,593,595],{},[57,592,59],{},[57,594,62],{},[57,596,65],{},[67,598,599,612,627,643,659,673,693,709,724,743],{},[54,600,601,605,609],{},[72,602,603],{},[34,604,109],{},[72,606,607],{},[34,608,114],{},[72,610,611],{},"Sub-agents running at the same time.",[54,613,614,619,624],{},[72,615,616],{},[34,617,618],{},"SLO_SUBAGENT_MAX_TASKS",[72,620,621],{},[34,622,623],{},"8",[72,625,626],{},"Most sub-agents the orchestrator can start in one go.",[54,628,629,634,640],{},[72,630,631],{},[34,632,633],{},"SLO_STREAM_INACTIVITY_TIMEOUT_SECONDS",[72,635,636,639],{},[34,637,638],{},"10800"," (3h)",[72,641,642],{},"How long the main agent can go without output before it's treated as hung.",[54,644,645,650,656],{},[72,646,647],{},[34,648,649],{},"SLO_SUBAGENT_INACTIVITY_TIMEOUT_SECONDS",[72,651,652,655],{},[34,653,654],{},"7200"," (2h)",[72,657,658],{},"How long a sub-agent can go without output before it's stopped. Any output resets the clock, so this isn't a limit on total run time.",[54,660,661,666,670],{},[72,662,663],{},[34,664,665],{},"SLO_SUBAGENT_TERMINATE_GRACE_SECONDS",[72,667,668],{},[34,669,569],{},[72,671,672],{},"Time a sub-agent gets to exit cleanly before it's force-stopped.",[54,674,675,680,686],{},[72,676,677],{},[34,678,679],{},"SLO_BASH_DEFAULT_TIMEOUT_SECONDS",[72,681,682,685],{},[34,683,684],{},"1800"," (30m)",[72,687,688,689,692],{},"Longest a single shell command can run. ",[34,690,691],{},"0"," removes the limit.",[54,694,695,700,703],{},[72,696,697],{},[34,698,699],{},"SLO_DETACHED_WORKFLOWS",[72,701,702],{},"on",[72,704,705,706,708],{},"Set to ",[34,707,691],{}," to stop Slo launching workflows in the background.",[54,710,711,716,721],{},[72,712,713],{},[34,714,715],{},"SLO_MAX_DETACHED_WORKFLOWS",[72,717,718],{},[34,719,720],{},"2",[72,722,723],{},"Background workflows allowed per session at once.",[54,725,726,731,733],{},[72,727,728],{},[34,729,730],{},"SLO_AUTO_VISUALIZE",[72,732,702],{},[72,734,735,736,739,740,742],{},"Opens ",[34,737,738],{},"slo visualize"," in a new terminal window when sub-agents start. ",[34,741,691],{}," turns it off.",[54,744,745,750,753],{},[72,746,747],{},[34,748,749],{},"SLO_VISUALIZER_TERMINAL_APP",[72,751,752],{},"your default terminal",[72,754,755,756,759,760,763],{},"Which terminal to open it in, for example ",[34,757,758],{},"iTerm"," on macOS or ",[34,761,762],{},"kitty"," on Linux.",[27,765,766],{"kind":411},[14,767,768],{},"Lowering the inactivity timeouts to catch hangs sooner usually backfires. A large planning or summary step can be silent for a long time and still be working.",[43,770,772],{"id":771},"headless-runs","Headless runs",[48,774,775,785],{},[51,776,777],{},[54,778,779,781,783],{},[57,780,59],{},[57,782,62],{},[57,784,65],{},[67,786,787,813,828],{},[54,788,789,794,797],{},[72,790,791],{},[34,792,793],{},"SLO_SESSION_ID",[72,795,796],{},"a new id per run",[72,798,799,800,803,804,418,806,809,810,41],{},"Share one session across several ",[34,801,802],{},"slo run"," calls. Letters, numbers, ",[34,805,41],{},[34,807,808],{},"_"," and ",[34,811,812],{},"-",[54,814,815,820,825],{},[72,816,817],{},[34,818,819],{},"SLO_HEADLESS_HEARTBEAT_SECONDS",[72,821,822],{},[34,823,824],{},"15",[72,826,827],{},"How often a headless run reports it's alive on stderr.",[54,829,830,835,839],{},[72,831,832],{},[34,833,834],{},"SLO_HEADLESS_COOPERATIVE_ABORT_GRACE_SECONDS",[72,836,837],{},[34,838,569],{},[72,840,841],{},"How long an aborted run gets to wrap up cleanly.",[43,843,845],{"id":844},"connectors","Connectors",[48,847,848,858],{},[51,849,850],{},[54,851,852,854,856],{},[57,853,59],{},[57,855,62],{},[57,857,65],{},[67,859,860,875,887,899,914],{},[54,861,862,867,869],{},[72,863,864],{},[34,865,866],{},"SLO_ATLASSIAN_SITE_URL",[72,868,79],{},[72,870,871,872,41],{},"Your Jira and Confluence site, like ",[34,873,874],{},"https:\u002F\u002Fyour-team.atlassian.net",[54,876,877,882,884],{},[72,878,879],{},[34,880,881],{},"SLO_ATLASSIAN_EMAIL",[72,883,79],{},[72,885,886],{},"The Atlassian account email.",[54,888,889,894,896],{},[72,890,891],{},[34,892,893],{},"SLO_ATLASSIAN_API_TOKEN",[72,895,79],{},[72,897,898],{},"An Atlassian API token. All three are needed.",[54,900,901,906,911],{},[72,902,903],{},[34,904,905],{},"SLO_ATLASSIAN_TIMEOUT_SECONDS",[72,907,908],{},[34,909,910],{},"30",[72,912,913],{},"Request timeout. Whole seconds only.",[54,915,916,921,924],{},[72,917,918],{},[34,919,920],{},"SLO_CONNECTOR_PREFER_ENV",[72,922,923],{},"off",[72,925,705,926,929],{},[34,927,928],{},"1"," to prefer these variables over saved connector credentials. Useful in CI.",[14,931,932,933,41],{},"See ",[21,934,845],{"href":935},"\u002Fdocs\u002Ffeatures\u002Fconnectors",[43,937,939],{"id":938},"plugins","Plugins",[48,941,942,952],{},[51,943,944],{},[54,945,946,948,950],{},[57,947,59],{},[57,949,62],{},[57,951,65],{},[67,953,954,969],{},[54,955,956,961,963],{},[72,957,958],{},[34,959,960],{},"SLO_PLUGINS_DISABLED",[72,962,79],{},[72,964,965,966,968],{},"Set to exactly ",[34,967,928],{}," to turn every plugin off, including in sub-agents.",[54,970,971,976,980],{},[72,972,973],{},[34,974,975],{},"SLO_PLUGIN_INTERCEPTION_TIMEOUT_SECONDS",[72,977,978],{},[34,979,569],{},[72,981,982],{},"How long a plugin gets to approve or change a tool call.",[43,984,986],{"id":985},"installing-and-updating","Installing and updating",[14,988,989],{},"These are read by the install script:",[48,991,992,1002],{},[51,993,994],{},[54,995,996,998,1000],{},[57,997,59],{},[57,999,62],{},[57,1001,65],{},[67,1003,1004,1025],{},[54,1005,1006,1011,1014],{},[72,1007,1008],{},[34,1009,1010],{},"SLO_VERSION",[72,1012,1013],{},"the current release",[72,1015,1016,1017,1020,1021,1024],{},"Install a specific release tag, for example ",[34,1018,1019],{},"v0.18.0",". ",[34,1022,1023],{},"dev"," installs the latest development build.",[54,1026,1027,1032,1037],{},[72,1028,1029],{},[34,1030,1031],{},"SLO_PYTHON_VERSION",[72,1033,1034],{},[34,1035,1036],{},"3.11.7",[72,1038,1039],{},"The Python version Slo is installed with.",[1041,1042,1047],"pre",{"className":1043,"code":1044,"language":1045,"meta":1046,"style":1046},"language-bash shiki shiki-themes github-dark-high-contrast","curl -fsSL https:\u002F\u002Fget-slo.sh\u002Finstall.sh | SLO_VERSION='v0.18.0' bash\n","bash","",[34,1048,1049],{"__ignoreMap":1046},[1050,1051,1054,1058,1062,1066,1070,1074,1077,1080],"span",{"class":1052,"line":1053},"line",1,[1050,1055,1057],{"class":1056},"s_sBn","curl",[1050,1059,1061],{"class":1060},"sCcAr"," -fsSL",[1050,1063,1065],{"class":1064},"sTRMh"," https:\u002F\u002Fget-slo.sh\u002Finstall.sh",[1050,1067,1069],{"class":1068},"sWyjQ"," |",[1050,1071,1073],{"class":1072},"sMAXC"," SLO_VERSION",[1050,1075,1076],{"class":1068},"=",[1050,1078,1079],{"class":1064},"'v0.18.0'",[1050,1081,1082],{"class":1056}," bash\n",[14,1084,1085,1086,809,1088,1090,1091,1094],{},"The installer writes ",[34,1087,142],{},[34,1089,157],{}," to ",[34,1092,1093],{},"~\u002F.slo\u002Fshell\u002Fenvironment.sh"," and sources it from your shell profile. Cron jobs and services don't load your shell profile, so set anything important there explicitly.",[43,1096,1098],{"id":1097},"set-by-slo-not-by-you","Set by Slo, not by you",[14,1100,1101,1102,418,1105,809,1108,1111],{},"You may see ",[34,1103,1104],{},"SLO_WORKFLOW_ID",[34,1106,1107],{},"SLO_PARENT_PID",[34,1109,1110],{},"SLO_CAPTURE_DIR"," in a sub-agent's environment. Slo sets these to keep track of its own processes. Leave them alone.",[43,1113,1115],{"id":1114},"ready-made-profiles","Ready-made profiles",[14,1117,1118,1122],{},[1119,1120,1121],"strong",{},"Your laptop."," A knowledge base and a fallback model:",[1041,1124,1126],{"className":1043,"code":1125,"language":1045,"meta":1046,"style":1046},"export SLO_KB_DIR=\"$HOME\u002Fnotes\u002Fkb\"\nexport SLO_MODEL_POOL=\"gpt-5.4,claude-sonnet-4-6\"\n",[34,1127,1128,1147],{"__ignoreMap":1046},[1050,1129,1130,1133,1136,1138,1141,1144],{"class":1052,"line":1053},[1050,1131,1132],{"class":1068},"export",[1050,1134,1135],{"class":1072}," SLO_KB_DIR",[1050,1137,1076],{"class":1068},[1050,1139,1140],{"class":1064},"\"",[1050,1142,1143],{"class":1072},"$HOME",[1050,1145,1146],{"class":1064},"\u002Fnotes\u002Fkb\"\n",[1050,1148,1150,1152,1155,1157],{"class":1052,"line":1149},2,[1050,1151,1132],{"class":1068},[1050,1153,1154],{"class":1072}," SLO_MODEL_POOL",[1050,1156,1076],{"class":1068},[1050,1158,1159],{"class":1064},"\"gpt-5.4,claude-sonnet-4-6\"\n",[14,1161,1162,1165],{},[1119,1163,1164],{},"Long dynamic workflows."," More parallelism, generous timeouts:",[1041,1167,1169],{"className":1043,"code":1168,"language":1045,"meta":1046,"style":1046},"export SLO_SUBAGENT_MAX_CONCURRENCY=6\nexport SLO_STREAM_INACTIVITY_TIMEOUT_SECONDS=10800\nexport SLO_SUBAGENT_INACTIVITY_TIMEOUT_SECONDS=7200\nexport SLO_BASH_DEFAULT_TIMEOUT_SECONDS=1800\n",[34,1170,1171,1183,1195,1208],{"__ignoreMap":1046},[1050,1172,1173,1175,1178,1180],{"class":1052,"line":1053},[1050,1174,1132],{"class":1068},[1050,1176,1177],{"class":1072}," SLO_SUBAGENT_MAX_CONCURRENCY",[1050,1179,1076],{"class":1068},[1050,1181,1182],{"class":1060},"6\n",[1050,1184,1185,1187,1190,1192],{"class":1052,"line":1149},[1050,1186,1132],{"class":1068},[1050,1188,1189],{"class":1072}," SLO_STREAM_INACTIVITY_TIMEOUT_SECONDS",[1050,1191,1076],{"class":1068},[1050,1193,1194],{"class":1060},"10800\n",[1050,1196,1198,1200,1203,1205],{"class":1052,"line":1197},3,[1050,1199,1132],{"class":1068},[1050,1201,1202],{"class":1072}," SLO_SUBAGENT_INACTIVITY_TIMEOUT_SECONDS",[1050,1204,1076],{"class":1068},[1050,1206,1207],{"class":1060},"7200\n",[1050,1209,1211,1213,1216,1218],{"class":1052,"line":1210},4,[1050,1212,1132],{"class":1068},[1050,1214,1215],{"class":1072}," SLO_BASH_DEFAULT_TIMEOUT_SECONDS",[1050,1217,1076],{"class":1068},[1050,1219,1220],{"class":1060},"1800\n",[14,1222,1223,1226],{},[1119,1224,1225],{},"A CI runner."," Keys from secrets, no pop-up windows, no plugins:",[1041,1228,1230],{"className":1043,"code":1229,"language":1045,"meta":1046,"style":1046},"export OPENAI_API_KEY=\"$CI_OPENAI_API_KEY\"\nexport SLO_AUTO_VISUALIZE=0\nexport SLO_PLUGINS_DISABLED=1\nexport SLO_CONNECTOR_PREFER_ENV=1\nexport SLO_SESSION_ID=\"ci-$CI_PIPELINE_ID\"\n",[34,1231,1232,1249,1261,1273,1284],{"__ignoreMap":1046},[1050,1233,1234,1236,1239,1241,1243,1246],{"class":1052,"line":1053},[1050,1235,1132],{"class":1068},[1050,1237,1238],{"class":1072}," OPENAI_API_KEY",[1050,1240,1076],{"class":1068},[1050,1242,1140],{"class":1064},[1050,1244,1245],{"class":1072},"$CI_OPENAI_API_KEY",[1050,1247,1248],{"class":1064},"\"\n",[1050,1250,1251,1253,1256,1258],{"class":1052,"line":1149},[1050,1252,1132],{"class":1068},[1050,1254,1255],{"class":1072}," SLO_AUTO_VISUALIZE",[1050,1257,1076],{"class":1068},[1050,1259,1260],{"class":1060},"0\n",[1050,1262,1263,1265,1268,1270],{"class":1052,"line":1197},[1050,1264,1132],{"class":1068},[1050,1266,1267],{"class":1072}," SLO_PLUGINS_DISABLED",[1050,1269,1076],{"class":1068},[1050,1271,1272],{"class":1060},"1\n",[1050,1274,1275,1277,1280,1282],{"class":1052,"line":1210},[1050,1276,1132],{"class":1068},[1050,1278,1279],{"class":1072}," SLO_CONNECTOR_PREFER_ENV",[1050,1281,1076],{"class":1068},[1050,1283,1272],{"class":1060},[1050,1285,1287,1289,1292,1294,1297,1300],{"class":1052,"line":1286},5,[1050,1288,1132],{"class":1068},[1050,1290,1291],{"class":1072}," SLO_SESSION_ID",[1050,1293,1076],{"class":1068},[1050,1295,1296],{"class":1064},"\"ci-",[1050,1298,1299],{"class":1072},"$CI_PIPELINE_ID",[1050,1301,1248],{"class":1064},[1303,1304,1305],"style",{},"html pre.shiki code .s_sBn, html code.shiki .s_sBn{--shiki-default:#FFB757}html pre.shiki code .sCcAr, html code.shiki .sCcAr{--shiki-default:#91CBFF}html pre.shiki code .sTRMh, html code.shiki .sTRMh{--shiki-default:#ADDCFF}html pre.shiki code .sWyjQ, html code.shiki .sWyjQ{--shiki-default:#FF9492}html pre.shiki code .sMAXC, html code.shiki .sMAXC{--shiki-default:#F0F3F6}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":1046,"searchDepth":1149,"depth":1149,"links":1307},[1308,1309,1310,1314,1315,1316,1317,1318,1319,1320],{"id":45,"depth":1149,"text":46},{"id":120,"depth":1149,"text":121},{"id":270,"depth":1149,"text":271,"children":1311},[1312,1313],{"id":436,"depth":1197,"text":437},{"id":513,"depth":1197,"text":514},{"id":575,"depth":1149,"text":576},{"id":771,"depth":1149,"text":772},{"id":844,"depth":1149,"text":845},{"id":938,"depth":1149,"text":939},{"id":985,"depth":1149,"text":986},{"id":1097,"depth":1149,"text":1098},{"id":1114,"depth":1149,"text":1115},"Every setting you can change with an environment variable, grouped by when you'd need it, with defaults.","md",{},true,"\u002Fdocs\u002Freference\u002Fenvironment-variables",{"title":5,"description":1321},"docs\u002Freference\u002Fenvironment-variables","zP__fn4zjR0eKeBHTewSrWN0IvF9w6VI-5UTh46he-M",1791641282714]