An Environment defines the container template a Session runs on — its operating system, networking policy, and preinstalled dependencies. You can build different Environments for different scenarios: a strictly isolated audit environment, an analytics environment with data-science libraries, or an open-network environment for general development.Documentation Index
Fetch the complete documentation index at: https://docs.qoder.com/llms.txt
Use this file to discover all available pages before exploring further.
What an Environment Is
An Environment is the infrastructure layer beneath a Session:- Container type — currently
cloud(managed cloud container). - Networking policy — controls outbound network access.
- Packages — preinstalled system, Python, and Node.js dependencies.
Field Reference
| Field | Type | Required | Description |
|---|---|---|---|
id | string | — | System-generated, prefixed with env_ |
name | string | Yes | Environment name |
config | object | Yes | Environment configuration (type, networking, packages) |
config.type | string | Yes | Container type, currently fixed at "cloud" |
config.networking | string/object | No | Networking policy |
config.packages | object | No | Preinstalled package configuration |
status | string | — | Environment status: ready |
created_at | string | — | Creation timestamp |
updated_at | string | — | Last update timestamp |
The Default Environment
Every account ships with a preset Environment nameddefault:
default Environment is sufficient and you don’t need to create one.
The
default Environment cannot be deleted, but you can create new Environments for special needs.Networking Policies
config.networking supports three modes. "unrestricted" may be passed as a string shorthand; limited and allowlist must use the object form.
| Mode | Value | Description |
|---|---|---|
| Open | "unrestricted" | The container can reach any external address |
| Limited | {"type": "limited", "allow_package_managers": true} | Only known-safe public services and package managers are reachable |
| Allowlist | {"type": "allowlist", "domains": [...]} | Only the listed domains are reachable |
networking object fields
| Field | Type | Description |
|---|---|---|
networking.type | string | Policy type: unrestricted / limited / allowlist |
networking.allow_package_managers | boolean | In limited mode, allow package managers (pip / npm / apt …) outbound traffic |
networking.domains | array | Allowlist of reachable domains in allowlist mode |
Open
Limited
Allowlist
Preinstalled Packages
Useconfig.packages to specify dependencies installed when the container starts:
| Package manager | Field | Description |
|---|---|---|
| apt | packages.apt | Debian/Ubuntu system packages |
| pip | packages.pip | Python packages |
| npm | packages.npm | Node.js packages (installed globally) |
Preinstalled packages add to environment startup time. Only include packages you really need; install the rest on demand within the Session.
Create an Environment
Create a Restricted-Network Environment
Read Environments
Update an Environment
Updating an Environment does not affect running Sessions. The new configuration applies to Sessions created after the update.
Delete an Environment
Choosing an Environment
| Scenario | Recommended configuration |
|---|---|
| General development | default Environment, no extra setup |
| Data analysis | Preinstall pandas/numpy with open networking |
| Security audits | Allowlist networking with minimal dependencies |
| Frontend development | Preinstall the Node.js toolchain with open access to the npm registry |
| CI/CD integration | Preinstall git/docker CLI with allowlist networking |
FAQ
Q: How long do I have to wait after creating an Environment before I can use it? A: A new Environment goes straight toready and is immediately usable. The actual container provisioning (including dependency installation) happens when a Session starts.
Q: Can I pin package versions?
A: pip and npm packages support pinning, such as "pandas==2.1.0" or "typescript@5.0.0". apt packages use the default version from the system repository.
Q: An incorrect networking setting is breaking my Agent. What should I do?
A: Create a new Environment (or update the existing one) with corrected networking, then start a new Session.
Q: How many Environments can I create per account?
A: There is no hard limit. Create only what you need and use a naming convention to keep things organized.
Next Steps
- Sessions — combine an Agent and an Environment to start running tasks.
- Defining an Agent — review Agent configuration.