~/.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.
User directories add ~/.claude/skills and ~/.stepcode/skills; project directories add .claude/skills within the trusted scan scope. Claude directories are discovered automatically and do not need to be repeated in the skills array; non-default directories such as ~/.codex/skills still require explicit configuration.
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.
See Configuration files for setting details.
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.
Use --session-dir to select a directory; sessionDir and environment variables can also configure defaults. Check /session for the effective path. Records contain id / parentId, with the current position as the active leaf. Compaction summaries, branch summaries, calls, and output share one file.
CLM maintains a working copy (mirror-*/LIVE_CONTEXT.md) and archive (archive/) under live-context/<session-ID>/ in the session directory. Without a session file it writes to a temporary directory. These are not the same files as the original session JSONL. Check related session data when backing up or cleaning, and do not treat the entire archive as short-term cache.
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.

