~/.stepcode/ by default. Understand the directory layout before backing up or cleaning data.
Data root
~ means your home directory. Agent configuration lives under ~/.stepcode/agent. .step-harness is retired and no longer written; startup only reads old credentials for a one-time migration.
Directory layout
bin/ contains the main program and runtime resources; agent/bin/ contains managed search tools.
Key files
Restrict credential files to the current user. POSIX systems use
0600; check account-level file permissions on Windows. Do not commit or publicly upload the entire data directory.
Session data
Sessions live inagent/sessions/<encoded-working-directory>/, one JSONL file per session, containing messages, tool calls, outputs, and summaries. Use /session for the exact current path.
Directory precedence is --session-dir > sessionDir in config.toml. Records contain id / parentId, with the current position as the active leaf. Compaction summaries, branch summaries, calls, and output share one file. ↑ / ↓ with empty input browses the current session’s submitted messages.
See Sessions and context. Do not edit internal records directly.
Built-in tool cache
rg (ripgrep) and fd are downloaded on demand to ~/.stepcode/agent/bin/, as rg.exe / fd.exe on Windows. Lookup order is an injected custom path > a downloaded local copy > system PATH.
Content search falls back from ripgrep to git grep inside Git repositories, then POSIX grep. It reports an error when none are available.
Deleting the cache may trigger another download. On restricted networks, check system PATH and download access first.
Logs
logs/: runtime logs; start here for startup, connection, and tool errors.telemetry/: telemetry buffers, separate from session records.
Project data
Share configuration and resources according to team conventions. Exclude runtime records, caches, private paths, and credentials; do not add the entire
.stepcode/ directory blindly.
Cleaning up data
Exit Step Code and back up required configuration and sessions first.
Deleting a project’s
.stepcode/ also deletes its configuration, tasks, and custom resources. It is not just a cache.

