Skip to content

Projects

Projects are the primary unit of organization on Dreadnode. Each project groups an agent’s sandbox, chat sessions, traces, and configuration into a single context that you can switch between.

A project lives inside a workspace and represents a focused piece of work — a red team engagement, a pentesting target, an evaluation suite, or an experiment. Projects provide:

  • A sandbox — isolated compute for the agent scoped to this project
  • Chat sessions — conversation history between you and the agent
  • Traces — structured telemetry from agent runs (spans, tools, model calls)
  • Secret selection — which credentials are injected into the sandbox
  • An agent type — the kind of agent running in this project (e.g. dreadnode, dreadweb, dreadairt)

Every project has a key — a URL-safe slug that uniquely identifies it within its workspace. Keys appear in URLs, API paths, and CLI output. They are immutable after creation in most contexts.

Each project can have an associated sandbox. When you open a project in Studio, the platform activates it:

  1. If another project’s sandbox is running, it is paused.
  2. The target project’s sandbox is resumed or provisioned fresh.
  3. The sandbox URL and token are returned so the agent can connect.

Only one sandbox per user runs at a time. Switching projects automatically handles the pause/resume cycle.

StateWhat it meansTypical trigger
RunningActive agent session is availableProvisioning or resuming a project
PausedSession is idle but preservedInactivity timeout or manual pause
KilledSession was terminated and must be recreatedManual restart or hard timeout

Active sandboxes require periodic keepalive signals to prevent timeout. The platform UI sends these automatically. If a keepalive is missed, the sandbox is paused after the inactivity timeout.

Agent activity within a project is captured as traces. Each trace contains spans representing model calls, tool invocations, and agent decisions. Traces are queryable by project and are the basis for evaluation and debugging workflows.

Projects store a list of selected_secret_ids that determine which of your secrets are injected as environment variables when the sandbox starts. Changing the selection restarts the sandbox to apply the new values. See Secrets for more detail.

Projects can be managed from Studio, the CLI, or the API:

  • Studio: Create, rename, delete, and switch between projects from the sidebar.
  • API: Projects are available at GET /api/v1/org/{org}/ws/{workspace}/projects (workspace-scoped) or GET /api/v1/projects (sandbox-backed, user-scoped).