Skip to content

Local storage

Every file Dreadnode writes under ~/.dreadnode/ — config, profiles, transcripts, spans, caches, and auth tokens.

Dreadnode keeps its local state under ~/.dreadnode/. Managed sessions also sync the state needed by the platform, while credentials and local caches remain in this directory. Back it up and you back up every local session, profile, and cached artifact.

~/.dreadnode/
├── config.yaml profiles and identity
├── prompt-history.jsonl composer history (last 500 entries)
├── mcp-auth.json OAuth tokens for MCP servers (0600)
├── capabilities/ installed capabilities
├── packages/ pulled artifacts (datasets, models, agents, environments)
├── cas/ content-addressed blob store
├── artifacts/ log outputs from runs
├── reports/ saved deliverables from the `report` tool
├── logs/ bounded TUI, worker, MCP, and diagnostic files
├── tool-output/ offloaded tool output (large results spilled to disk)
├── projects/
│ └── <project_key>/
│ └── <run_id>/
│ ├── spans.jsonl
│ └── metrics.jsonl
└── sessions/
├── sessions.sqlite3
└── <session_id>/
└── spans_<session_id>.jsonl
PathOwnerWhat’s in it
config.yamlCLI / TUISaved profiles (server URL, API key, default org/workspace/project), active profile pointer
prompt-history.jsonlTUI composerLast 500 unique prompts you typed. Deduped, appended, rotated
mcp-auth.jsonMCP clientOAuth access/refresh tokens for MCP servers. File mode 0600
capabilities/<name>/Capability loaderInstalled capability bundles, one directory per capability
packages/{datasets,models,agents,environments}/dn pull / SDKHub artifacts pulled into local cache
cas/sha256/Storage layerContent-addressed blobs backing packages + artifacts
artifacts/Run exportsStructured outputs from agent runs (CAS-backed)
reports/report toolSaved deliverables (markdown / text). Filenames derive from the report title
logs/tui.logTUICurrent bounded TUI self-log (DEBUG and above, never TRACE); two newest rotations retained
logs/worker-*.log, logs/mcp-*.logRuntime servicesBounded component logs and their previous rotations
logs/dreadnode-report-*.zipBug reporterDiagnostic bundles you explicitly save for review or support
tool-output/Agent runtimeOffloaded tool output when a single tool call exceeds the in-context threshold
projects/<project>/<run>/spans.jsonlTracingOpenTelemetry spans per run
projects/<project>/<run>/metrics.jsonlTracingMetrics per run
sessions/sessions.sqlite3Session storeLocal index of sessions, transcripts, runtime state
sessions/<id>/spans_<id>.jsonlTracingTrace spans for the session (local mirror)
PathEffect of deletion
prompt-history.jsonlComposer history resets. No other effect
mcp-auth.jsonEvery MCP server re-prompts for OAuth
cas/, packages/Artifacts re-download on next use
sessions/<id>/That session becomes unrecoverable locally. If synced to the platform, still on the server
config.yamlAll saved profiles gone. Log in again with /login

cas/ and packages/ can grow large — they’re the only directories worth periodically clearing for disk space.

Inside a Dreadnode-managed sandbox, ~/.dreadnode/ and /home/user/workspace are local to that sandbox. They are not object-storage mounts. Pausing and resuming an E2B sandbox preserves its local filesystem because it resumes the same sandbox.

Resetting, replacing, or deleting a sandbox discards files that were not synced elsewhere. Managed session state is synchronized through the platform API, and SDK remote-storage operations access object storage explicitly.