Files and locations

Everything is a plain file on your machine. Nothing here is a database you cannot open.

Paths below use the stable profile's home, ~/.strado. On the dev profile every one of them is under ~/.strado-dev instead — see environment and profiles.

Workspace and worktree state

PathWhat
config/workspaces.jsonThe workspace registry, and which workspace is active
config/workspaces/<id>/repos.jsonThat workspace's repos
config/workspaces/<id>/state.jsonThat workspace's worktree state — ticket, title, port, env, notes, order
config/**/.backups/Rotating backups of every store, written automatically before each change

config/ sits in the server's working directory on the stable profile, and at ~/.strado-dev/config on the dev profile. It is gitignored, and config.example/ in the repo documents the layout.

Machine-local state

PathWhat
~/.strado/activity.jsonTracked time per worktree — seconds and a last-active timestamp
~/.strado/profile.jsonYour name, what agents should call you, and the telemetry opt-out
~/.strado/logs/strado.logServer lifecycle and dev-server output, rotating at 5 MB
~/.strado/worktrees/<repoId>/The default worktree root, when a workspace opts into one folder

Credentials

Heads up

All five hold credentials in plain text. They are not encrypted and they are not in your system keychain — anything running as your user can read them. Strado creates each with mode 0600, but the mode is applied at creation only: a file that already existed keeps the permissions it had, and rewriting it through the app will not tighten them.

PathWhat
~/.strado/jira.jsonJira site URL, account email, API token
~/.strado/linear.jsonLinear access token and workspace name
~/.strado/github.jsonGitHub tokens, keyed by host or by host and owner
~/.strado/gitlab.jsonGitLab tokens, keyed by host
~/.strado/license.jsonYour sign-in token

If any of these predates your current install, it is worth checking once:

ls -l ~/.strado/*.json

chmod 600 anything wider than -rw-------.

None of them is ever sent to the browser. The local server makes every call that uses them.

The terminal daemon

PathWhat
~/.strado/ptyd/ptyd.sockThe daemon's socket, mode 0600 — the file permission is the auth boundary
~/.strado/ptyd/bin/The installed daemon, at a stable path so an upgrade can hand off to it
~/.strado/ptyd/ptyd.logThe daemon's own log

On a runner

PathWhat
~/.strado/runner/versions/<version>/One unpacked bundle per installed version
~/.strado/runner/currentSymlink to the active version
~/.strado/runner/bin/strado-runnerThe command
~/.strado/runner.jsonThis box's paired identity
~/.strado/runner.envOptional KEY=VALUE settings, read at start

Resetting

Deleting ~/.strado removes credentials, tracked time and sign-in in one go. Under a workspace worktree root it would also take uncommitted work with it, so check what is under ~/.strado/worktrees first.

Where to go next