diff --git a/apps/code/src/renderer/features/environments/components/EnvironmentSelector.tsx b/apps/code/src/renderer/features/environments/components/EnvironmentSelector.tsx
index 763acfcf9..389f450cd 100644
--- a/apps/code/src/renderer/features/environments/components/EnvironmentSelector.tsx
+++ b/apps/code/src/renderer/features/environments/components/EnvironmentSelector.tsx
@@ -48,6 +48,10 @@ export function EnvironmentSelector({
const selectedEnvironment = environments.find((env) => env.id === value);
const displayText = selectedEnvironment?.name ?? "No environment";
+ if (environments.length === 0) {
+ return null;
+ }
+
const handleChange = (newValue: string | null) => {
onChange(newValue === NONE_VALUE ? null : newValue || null);
setOpen(false);
diff --git a/apps/code/src/renderer/features/settings/components/sections/CloudEnvironmentsSettings.tsx b/apps/code/src/renderer/features/settings/components/sections/CloudEnvironmentsSettings.tsx
index e9489b4a6..73b507f8b 100644
--- a/apps/code/src/renderer/features/settings/components/sections/CloudEnvironmentsSettings.tsx
+++ b/apps/code/src/renderer/features/settings/components/sections/CloudEnvironmentsSettings.tsx
@@ -298,14 +298,18 @@ export function CloudEnvironmentsSettings() {
{editingEnv
- ? "Changes to your environment will apply to new sessions."
- : "Configure a cloud environment for running tasks."}
+ ? "Changes take effect on the next session that uses this environment; running sessions are not affected."
+ : "Once created, you can pick this environment in the Cloud section of the workspace picker when starting a task."}
Name
+
+ Shown in the workspace picker. Pick a name that describes the access
+ profile, e.g. "Internal APIs" or "Read-only".
+
Network access
+
+ Controls which hosts the sandbox may reach.{" "}
+
+ Full
+ {" "}
+ allows any outbound traffic.{" "}
+
+ Trusted sources only
+ {" "}
+ restricts traffic to a curated list of common package registries and
+ source hosts.{" "}
+
+ Custom
+ {" "}
+ lets you define an explicit allowlist below.
+
@@ -333,7 +353,15 @@ export function CloudEnvironmentsSettings() {
Allowed domains
- List of domains (not URLs). Use * for wildcards.
+ One domain per line (not URLs — no scheme or path). Use{" "}
+
+ *
+ {" "}
+ as a wildcard, e.g.{" "}
+
+ *.example.com
+ {" "}
+ to cover all subdomains. Requests to any other host are blocked.
- Also include default list of common package managers
+ Also include the built-in list of common package managers and
+ source hosts — recommended unless you deliberately want to block
+ them.
>
@@ -386,7 +416,18 @@ export function CloudEnvironmentsSettings() {
Environment variables
- In .env format. Leave blank to keep existing values unchanged.
+ Injected into the sandbox shell before the agent runs — useful for
+ API keys or service tokens the agent needs. Standard{" "}
+
+ .env
+ {" "}
+ format: one{" "}
+
+ KEY=value
+ {" "}
+ per line. Existing values aren't shown back once saved; leave the
+ field blank to keep them unchanged, or enter new values to replace
+ them.