
Steroid_Kit
Steroid CLI›Background Daemon
Background Daemon
The daemon runs background conversation-memory sync and, when connected, polls the Flow Client Communicator (FCC) for coding-agent inference requests. Each IDE launches its own stdio MCP process; the daemon does not host or supervise that MCP server.
What Is the Daemon?
In both modes, memory sync refreshes existing indexes for registered projects every 300 seconds by default. Register/build a project first; sync does not initially index every folder. In Connected mode, the optional authenticated pull loop advertises available IDE/model capabilities, receives FCC requests, invokes an installed agent CLI and posts its response. The cloud AP engine still orchestrates the flow and executes generated MCP blocks through the reverse proxy.
Setup
IDE setup coordinates daemon registration/startup. Check the installed client with steroid daemon status and steroid doctor rather than assuming installation alone started it. Local mode does not require connected credentials for memory sync.
- The same binary has separate CLI/TUI,
mcp-serverandpull-serverentry modes. - IDE MCP communication is stdio; there is no daemon-hosted “stdio socket” to configure.
- LLM flow steps need a connected, alive client with the selected IDE/model advertised and upstream authentication/quota available.
Platform Registration
| OS | Service Manager | Auto-starts |
|---|---|---|
| macOS | launchd; confirmed label com.steroid.pullserver | Inspect installed registration with diagnostics |
| Linux | Platform-specific lifecycle implementation | Use the CLI; verify exact unit name on the installed release |
| Windows | Platform-specific lifecycle implementation | Use the CLI; verify task/log details on the installed release |
Logs
Confirmed macOS registration writes stdout/stderr under ~/.steroid/logs/. Do not assume a unified logging subsystem, rotation policy or identical paths on every platform.
Log file paths
macOS stdout: ~/.steroid/logs/pullserver.stdout.log
macOS stderr: ~/.steroid/logs/pullserver.stderr.logTail the daemon log
# Confirmed macOS paths
tail -f ~/.steroid/logs/pullserver.stdout.log ~/.steroid/logs/pullserver.stderr.log| Symptom | Next check |
|---|---|
| Indexes not refreshing | Register/build the project, then check daemon status and source history |
| Connected authentication failure | Use TUI Settings → Reconnect with the current connection string |
| LLM dispatch unavailable | Check client liveness, advertised IDE/model and agent authentication/quota |
| IDE MCP disconnected | Restart/check the IDE's independent MCP process; daemon status alone does not prove MCP health |
Stopping & Starting
Use the public lifecycle commands on every platform. start --force refreshes a running daemon after state changes; there is no daemon restart subcommand.
Lifecycle commands
Start, inspect, refresh or stop
steroid daemon start
steroid daemon status
steroid daemon start --force
steroid daemon stopNOTE
Stopping this daemon stops its sync/polling work, not cloud publication and not every other client. Independent webhooks and another eligible machine can still execute published flows.