# ox daemon (/docs/cli/commands/daemon)



ox daemon [#ox-daemon]

Manage the background sync daemon that keeps your Ledger and Team Context automatically synchronized.

What the daemon does [#what-the-daemon-does]

The SageOx daemon runs in the background and handles:

* **Automatic git sync** - Pushes and pulls changes to your Ledger and Team Context repos
* **Change debouncing** - Batches rapid changes to avoid excessive git operations
* **Periodic pulls** - Fetches updates from your team at regular intervals

The daemon starts automatically when you run `ox init` or `ox login`. You don't need to manage it manually unless troubleshooting.

Usage [#usage]

<Terminal>
  <TerminalCommand>
    ox daemon [command]
  </TerminalCommand>
</Terminal>

Subcommands [#subcommands]

| Command   | Description                 |
| --------- | --------------------------- |
| `start`   | Start the daemon            |
| `stop`    | Stop the daemon             |
| `restart` | Restart the daemon          |
| `status`  | Show daemon status          |
| `logs`    | View daemon logs            |
| `list`    | List all running ox daemons |
| `kill`    | Kill daemon process(es)     |

Check daemon status [#check-daemon-status]

<Terminal>
  <TerminalCommand>
    ox daemon status
  </TerminalCommand>
</Terminal>

<Terminal title="ox daemon status">
  <TerminalOutput>
    Daemon Status
  </TerminalOutput>

  <TerminalOutput>
      PID: 12345
  </TerminalOutput>

  <TerminalOutput>
      Running: yes
  </TerminalOutput>

  <TerminalOutput>
      Uptime: 2h 15m
  </TerminalOutput>

  <TerminalOutput>
      Last sync: 30s ago
  </TerminalOutput>
</Terminal>

Status flags [#status-flags]

| Flag        | Description                      |
| ----------- | -------------------------------- |
| `--verbose` | Show detailed status information |

View daemon logs [#view-daemon-logs]

<Terminal>
  <TerminalCommand>
    ox daemon logs
  </TerminalCommand>
</Terminal>

Logs flags [#logs-flags]

| Flag           | Description                            |
| -------------- | -------------------------------------- |
| `-n, --lines`  | Number of lines to show (default: 50)  |
| `-f, --follow` | Follow log output in real-time         |
| `--path`       | Show log file path instead of contents |
| `--all`        | Show logs from all daemon instances    |

Follow logs in real-time:

<Terminal>
  <TerminalCommand>
    ox daemon logs -f
  </TerminalCommand>
</Terminal>

Start and stop [#start-and-stop]

Start the daemon manually:

<Terminal>
  <TerminalCommand>
    ox daemon start
  </TerminalCommand>
</Terminal>

Run in foreground (for debugging):

<Terminal>
  <TerminalCommand>
    ox daemon start --foreground
  </TerminalCommand>
</Terminal>

Stop the daemon:

<Terminal>
  <TerminalCommand>
    ox daemon stop
  </TerminalCommand>
</Terminal>

Restart after configuration changes:

<Terminal>
  <TerminalCommand>
    ox daemon restart
  </TerminalCommand>
</Terminal>

Managing multiple daemons [#managing-multiple-daemons]

List all running ox daemons across your system:

<Terminal>
  <TerminalCommand>
    ox daemon list
  </TerminalCommand>
</Terminal>

Kill a specific daemon or all daemons:

<Terminal>
  <TerminalCommand>
    ox daemon kill
  </TerminalCommand>

  <TerminalCommand>
    ox daemon kill --all
  </TerminalCommand>
</Terminal>

When to restart the daemon [#when-to-restart-the-daemon]

Restart the daemon after:

* Changing SageOx configuration in `.sageox/config.toml`
* Updating the ox CLI to a new version
* Switching teams or repositories
* Resolving sync conflicts manually

Troubleshooting [#troubleshooting]

**Daemon not running** - Start it manually:

<Terminal>
  <TerminalCommand>
    ox daemon start
  </TerminalCommand>
</Terminal>

**Sync issues** - Check the logs for errors:

<Terminal>
  <TerminalCommand>
    ox daemon logs -n 100
  </TerminalCommand>
</Terminal>

**Daemon unresponsive** - Kill and restart:

<Terminal>
  <TerminalCommand>
    ox daemon kill && ox daemon start
  </TerminalCommand>
</Terminal>

**Multiple daemons running** - Clean up stale processes:

<Terminal>
  <TerminalCommand>
    ox daemon list
  </TerminalCommand>

  <TerminalCommand>
    ox daemon kill --all
  </TerminalCommand>

  <TerminalCommand>
    ox daemon start
  </TerminalCommand>
</Terminal>

Related commands [#related-commands]

* [ox init](/docs/cli/init) - Initialize repository (starts daemon automatically)
* [ox doctor](/docs/cli/doctor) - Diagnose configuration issues
* [ox login](/docs/cli/auth) - Authenticate with SageOx
