Skip to content

Daily Operation

Suggest Edits
Terminal window
bakin start

Once it’s running, open http://localhost:3737. That’s Bakin basecamp.

Want it always running? Set Bakin up to run as a service.

The default port is 3737. If something else is already on it, override the port:

Terminal window
PORT=3838 bakin start

For access from another machine, expose the port through Tailscale, Cloudflare Tunnel, or whatever you already trust. Bakin is local-first and assumes you control the network in front of it.

Terminal window
bakin stop
bakin restart

restart is a stop followed by start. Good for picking up settings changes, core agent file changes, or rare plugin manifest/schema changes that don’t auto-reload.

Dev-installed plugins (bakin plugins install --dev <path>) load on normal start because Bakin follows the symlink under ~/.bakin/plugins/<id>. Live rebuilds for source edits only run under bakin dev.

Two flavors of “is it working”:

Terminal window
bakin status # is the server running, and on what port
bakin doctor # full health check across runtime, models, channels, plugins

Run status for a quick “is it up”. Run doctor when something feels off or after a major change.

Terminal window
bakin update

Pulls the latest GitHub release, verifies checksums.txt, and swaps your binary in place. It doesn’t touch a running server. Run bakin restart afterward for the new binary to take effect.

Terminal window
bakin logs # rolling server log
bakin logs mcp # MCP audit log

Log lines go to both stdout and ~/.bakin/logs/server.log (10 MB rotation, single backup). Tail with the commands above or watch the file directly.

Terminal window
bakin paths

Shows where Bakin resolved its home directory, content dir, plugin paths, logs, and lock files. Useful when something feels off and you want to confirm where state actually lives.

If search results look stale, or you’ve edited ~/.bakin/ files outside the app:

Terminal window
bakin reindex # all tables
bakin reindex --table=tasks # one table

Use --rebuild only when you want to drop the existing index and start fresh.

Prefer the dashboard? The same controls live in the Health plugin.

Optional. To keep Bakin running across reboots:

Terminal window
bakin setup service # install LaunchAgent
bakin setup service --uninstall # remove it

Plenty of people just leave bakin start running in a terminal session or window. Whatever works.

Lifecycle commands (start/stop/restart/update/logs) are human-only. The diagnostic and search surfaces are also exposed as MCP exec tools so agents can self-check and pull data.

  • bakin_exec_health_doctor: Run system diagnostics (agent roster, skill sync, runtime, taskboard, assets, etc.). Returns detailed check results. Use fresh=true to force a full re-check instead of returning cached results.
  • bakin_exec_health_status: Get a quick system health summary — uptime, memory, active MCP sessions, and doctor error/warning counts. Useful for checking system state before starting work.
  • bakin_exec_search_facets: Get facet value counts for a plugin. Useful for understanding data distribution (e.g., how many tasks per status).
  • bakin_exec_search_lookup: Look up a specific indexed document by its key and plugin.
  • bakin_exec_search_query: Search across all Bakin content (tasks, assets, projects, workflows, schedule, team, memory, messaging) or a specific plugin. Returns ranked results with scores.
  • bakin_exec_search_reindex: Trigger a full reindex of all content types (or a specific plugin). Use after bulk data changes.
  • bakin_exec_search_similar: Find documents similar to a given text description. Uses semantic (vector) search for meaning-based matching.
  • bakin_exec_search_stats: Get search system health: enabled status, per-table document counts, and index stats.
  • bakin_exec_search_table: Search a specific Bakin plugin with facet filtering. Returns results plus facet counts for filtering.
  • bakin_exec_get_paths: agent equivalent of bakin paths.

Full schemas in the Exec tools reference.