Skip to content

Data and Storage

Everything Sidequest stores lives on your machine. There are no accounts and nothing is uploaded. Agents talk to their own providers; Sidequest itself only reaches out to GitHub (through gh), to its release feed for updates, and to a public pricing file for the cost estimator.

Quests, projects, workspaces, supervisors, recurring quests, settings and profiles live in a SQLite database:

PlatformPath
macOS~/Library/Application Support/com.sidequest.app/sidequest.db
Linux~/.config/com.sidequest.app/sidequest.db

Supervisors read and write this database directly with sqlite3, so keep that tool installed if you use them.

PathContentsCleaned up by
worktrees/<quest-id>/Git worktree of each Worktree or Review questQuest Retention (Settings > Storage); Worktree Storage reclaim
multirepo/<quest-id>/<repo>/Per-child worktrees of multi-repo questssame
attachments/<quest-id>/Files attached to a quest’s promptDeleted with the quest
quest-context/<quest-id>.jsonThe context block injected at session startDeleted with the quest
journal/<project>/Journal entries (archive/ holds retired ones)Journal Retention
journal-index.dbFull-text search index over journals (disposable)sidequest-journal reindex rebuilds it
handoffs/Handoff summariesHandoff Retention
council/<quest-id>.mdCouncil briefingsRemoved when the council session is cleaned up
profiles/<name>/One Claude Code config directory per profileDeleting the profile
bin/sidequest and sidequest-journal CLIsRefreshed every launch
skills/sidequest-supervisor.mdSupervisor system promptRewritten every launch
supervisor-state/<supervisor-id>/notes.mdA supervisor’s own notes: what it handled and learnedYou
router-rules.mdYour edited routing rules (absent until you save edits)Reset to default
extensions/Third-party extensionsYou
sounds/Imported notification soundsSettings > Notifications
hooks/on-claude-stop.shThe Claude Code Stop hook scriptSettings > Notifications > Disable
logs/Rolling app logs (50 KB files, last 30 kept)Automatic
sidequest.sockLocal socket the CLI and hooks use to reach the appAutomatic

Sidequest also writes two Claude Code skills to ~/.claude/skills/sidequest/ and ~/.claude/skills/sidequest-journal/, and the Stop hook entry to ~/.claude/settings.json when notifications are enabled.

Every session Sidequest creates is named with an sq- prefix: sq-<quest-id>, sq-supervisor-<supervisor-id>, sq-council-<quest-id> and sq-profile-login-<profile-id>. They outlive the app; Settings > Storage > Orphaned Tmux Sessions lists any that no longer belong to a quest or supervisor. See Tmux Configuration.

JobWhen
Recurring quest schedulerEvery 60 seconds, plus a catch-up pass at launch
Journal sweep (Chronicler) and journal retentionAt launch, then every 5 minutes
Completed-quest pruningEvery 5 minutes
Handoff pruningAt launch and every 6 hours, at most once a day
Supervisor watcher (auto-start, auto-stop, queue pulling)Every 5 seconds while the window is visible; queue pulls every 30 seconds
GitHub badge refreshEvery 60 seconds
Update checkAt launch
  • Export Settings (bottom of the Settings sidebar) captures preferences but not quests.
  • Copy the database file and ~/.sidequest/journal/ to keep quests, supervisors and journals. Worktrees are ordinary git worktrees; their branches are already in your repositories.
  • Profiles contain credentials; treat ~/.sidequest/profiles/ like ~/.claude.