Skip to content

CLI

Suggest Edits

The Bakin CLI is the fastest way to run local setup, check health, manage tasks, install plugins, and script repeatable work. Use it when you want a direct command instead of clicking through the dashboard, or when you need Bakin actions inside shell scripts and automation.

Agent package commands install and maintain reusable agent definitions, bundled lessons, prompts, and rules that Bakin manages as local agent state.

agents install Install an agent package.

Installs or adopts an agent package into Bakin/runtime-managed agent state.

Terminal window
bakin agents install <path|github:user/repo[@ref][#subpath]> [--adopt] [--install-as <id>] [--replace]
PartTypeRequiredNotes
<source>pathgithub:user/repo[@ref][#subpath]choiceyesChoose one of these values.
[—adopt]optionnoAdopt an existing runtime agent.
[—install-as <id>]optionnoOptional flag.
[—replace]optionnoReplace an existing install.
agents remove Remove an agent package.

Removes an installed agent package and optionally deletes the runtime agent.

Terminal window
bakin agents remove <agent-id> [--keep-blocks] [--delete-agent] [--force]
PartTypeRequiredNotes
<agent-id>argumentyesAgent id to install, update, remove, or inspect.
[—keep-blocks]optionnoLeave managed blocks on disk.
[—delete-agent]optionnoDelete the runtime agent too.
[—force]optionnoBypass the normal safety guard.
agents update Update agent packages.

Updates one or all installed agent packages.

Terminal window
bakin agents update [agent-id] [--refresh-template]
PartTypeRequiredNotes
[agent-id]argumentnoAgent id to install, update, remove, or inspect.
[—refresh-template]optionnoRefresh generated package template files.
agents lessons Manage agent lesson toggles.

Lists or toggles lesson blocks for an agent package.

Terminal window
bakin agents lessons <list|enable|disable> ...
PartTypeRequiredNotes
<action>listenabledisablechoiceyesLesson action.
packages install Install a package.

Installs a standalone package.

Terminal window
bakin packages install <path|github:user/repo[@ref][#subpath]> [--install-as <id>] [--replace]
PartTypeRequiredNotes
<source>pathgithub:user/repo[@ref][#subpath]choiceyesChoose one of these values.
[—install-as <id>]optionnoOptional flag.
[—replace]optionnoReplace an existing install.
packages list List packages.

Lists installed packages.

Terminal window
bakin packages list
packages remove Remove a package.

Removes an installed package.

Terminal window
bakin packages remove <package-id> [--force] [--keep-blocks]
PartTypeRequiredNotes
<package-id>argumentyesPackage id.
[—force]optionnoBypass the normal safety guard.
[—keep-blocks]optionnoLeave managed blocks on disk.
packages update Update a package.

Updates an installed package.

Terminal window
bakin packages update <package-id> [--refresh-template]
PartTypeRequiredNotes
<package-id>argumentyesPackage id.
[—refresh-template]optionnoRefresh generated package template files.

Use these commands to inspect registered agents, review their status and assignments, and send direct messages without opening the dashboard.

agents list List agents.

Lists runtime agents, or package state when `--packages` is set.

Terminal window
bakin agents list [--packages]
PartTypeRequiredNotes
[—packages]optionnoShow package state instead of the runtime roster.
agents status Get agent status.

Fetches detailed status for an agent.

Terminal window
bakin agents status <id>
PartTypeRequiredNotes
<id>argumentyesResource identifier.
agents tasks List tasks assigned to an agent.

Lists tasks currently assigned to an agent.

Terminal window
bakin agents tasks <id>
PartTypeRequiredNotes
<id>argumentyesResource identifier.
agents send Send a message to an agent.

Sends a message through the running server to an agent.

Terminal window
bakin agents send <id> <message>
PartTypeRequiredNotes
<id>argumentyesResource identifier.
<message>argumentyesMessage text.

Asset maintenance currently focuses on the trash flow: reviewing soft-deleted assets, restoring them, or purging them permanently.

trash Manage trashed assets.

Lists, restores, or permanently empties soft-deleted assets.

Terminal window
bakin trash [list|restore|empty] ...
PartTypeRequiredNotes
[action]listrestoreemptychoicenoTrash action.

Diagnostics commands expose the information needed when something is not behaving as expected: logs, resolved paths, health checks, API docs, and generated agent rules.

doctor Run health checks.

Runs Bakin diagnostics for local dependencies, server state, agents, plugin assets, runtime behavior, and recoverable issues.

Terminal window
bakin doctor
paths Show content directory paths.

Prints Bakin runtime paths, optionally for one key.

Terminal window
bakin paths [key]
PartTypeRequiredNotes
[key]argumentnoDot-notation settings key.
agent-rules Manage AGENTS.md context.

Applies or checks Bakin-managed AGENTS.md context sections.

Terminal window
bakin agent-rules [--apply|--check|--apply-all|--check-all]
PartTypeRequiredNotes
[—apply]optionnoApply the managed block.
[—check]optionnoDry-run; report what would change.
[—apply-all]optionnoApply managed blocks for all agents.
[—check-all]optionnoCheck managed blocks for all agents.
logs Tail audit logs.

Prints audit log entries, optionally filtered by event type or agent.

Terminal window
bakin logs [filter]
PartTypeRequiredNotes
[filter]argumentnoOptional log filter.
docs Print API documentation from the running server.

Fetches current API route documentation from `/api/docs`.

Terminal window
bakin docs

These commands create the local directories and baseline settings Bakin needs before normal operation. They are most useful on a fresh machine or when repairing a partially configured install.

mkdir Create the Bakin home directory tree.

Creates or verifies the `~/.bakin` directory tree.

Terminal window
bakin mkdir
check Run onboarding checks.

Runs one or all first-run readiness checks.

Terminal window
bakin check <runtime|search|search-models|llm|channels|plugin-assets|agent-assets|recommended-plugins|all>
PartTypeRequiredNotes
<target>runtimesearchsearch-modelsllmchannelsplugin-assetsagent-assetsrecommended-pluginsallchoiceyesCheck target.
install Install onboarding components.

Installs Bakin dependencies, plugin/agent assets, or official recommended plugins.

Terminal window
bakin install <search|search-models|mcporter|plugin-assets|agent-assets|recommended-plugins>
PartTypeRequiredNotes
<component>searchsearch-modelsmcporterplugin-assetsagent-assetsrecommended-pluginschoiceyesInstall target.
onboard Run first-time onboarding.

Runs the full first-run setup flow.

Terminal window
bakin onboard [--check] [--yes] [--json] [--force]
PartTypeRequiredNotes
[—check]optionnoDry-run; report what would change.
[—yes]optionnoAccept all defaults non-interactively.
[—json]optionnoEmit machine-readable output.
[—force]optionnoBypass the normal safety guard.

Use these commands to run the local server, check whether it is healthy, restart it after configuration changes, and keep the installed CLI current.

start Start the Bakin server.

Starts the Bakin HTTP server and dashboard. This is the default command when the compiled binary is launched without arguments.

Terminal window
bakin start
stop Stop a running Bakin server.

Finds a running Bakin process and sends SIGTERM.

Terminal window
bakin stop
restart Restart the Bakin server.

Restarts Bakin using the available service manager or standalone process behavior.

Terminal window
bakin restart

Aliases: reboot

status Show dispatch and server status.

Prints local server reachability, dispatch interval, last run, next run, and version information where available.

Terminal window
bakin status
dev Run the source-tree development loop.

Runs Bakin in watch-mode development from a source checkout. The compiled binary refuses this command outside a repo clone.

Terminal window
bakin dev
version Print the Bakin version.

Prints the version embedded in the running CLI/binary.

Terminal window
bakin version

Aliases: —version -v

update Replace the current binary with the latest release.

Downloads the latest release binary and verifies checksums before replacing the installed executable.

Terminal window
bakin update
setup service Install or remove macOS service integration.

Installs or removes the LaunchAgent used for auto-start behavior on macOS.

Terminal window
bakin setup service [--uninstall]
PartTypeRequiredNotes
[—uninstall]optionnoRemove the installed service.

Plugin commands manage Bakin extensions from the command line, including installing official packages, linking local development plugins, and scaffolding new plugin projects.

plugins list List installed plugins.

Lists installed plugins and versions. Pass --check to probe remote/source for available upgrades.

Terminal window
bakin plugins list [--check]
PartTypeRequiredNotes
[—check]optionnoDry-run; report what would change.
plugins install Install a plugin.

Installs a plugin from a local path or GitHub source. Append #subpath to install from a monorepo directory, or pin a GitHub install with @ref / --ref. --dev symlinks a local source tree for live development. --yes skips the consent prompt. --force replaces an existing install when used with --dev.

Terminal window
bakin plugins install [--dev] <path|github:user/repo[@ref][#subpath]> [--ref <ref>] [--yes] [--force]
PartTypeRequiredNotes
[—dev]optionnoInstall in local development mode.
<source>pathgithub:user/repo[@ref][#subpath]choiceyesChoose one of these values.
[—ref <ref>]optionnoOptional flag.
[—yes]optionnoAccept all defaults non-interactively.
[—force]optionnoBypass the normal safety guard.
plugins export Export installed user plugins.

Writes a portable manifest for installed user plugins from ~/.bakin/plugins/lock.json. Without a file, prints JSON to stdout.

Terminal window
bakin plugins export [file]
PartTypeRequiredNotes
[file]argumentnoOptional value.
plugins import Import an exported plugin set.

Installs every plugin in an exported manifest. GitHub plugins are pinned to the recorded commit SHA when present; linked dev plugins are restored as dev installs when their local source path exists.

Terminal window
bakin plugins import <file> [--yes] [--force]
PartTypeRequiredNotes
<file>argumentyesRequired value.
[—yes]optionnoAccept all defaults non-interactively.
[—force]optionnoBypass the normal safety guard.
plugins upgrade Upgrade a user plugin.

Re-pulls a user plugin from its source and rebuilds. --yes skips the consent prompt.

Terminal window
bakin plugins upgrade <id> [--yes]
PartTypeRequiredNotes
<id>argumentyesResource identifier.
[—yes]optionnoAccept all defaults non-interactively.
plugins remove Remove a plugin.

Removes an installed non-core plugin.

Terminal window
bakin plugins remove <id>
PartTypeRequiredNotes
<id>argumentyesResource identifier.
plugins restore Restore a removed plugin.

Lists or restores pre-uninstall snapshots from ~/.bakin/.uninstalled. `--snapshot` accepts a safe timestamp token or tarball filename. Restore refuses to overwrite an existing plugin unless --force is passed.

Terminal window
bakin plugins restore <id> [--snapshot <snapshot>] [--force] [--list]
PartTypeRequiredNotes
<id>argumentyesResource identifier.
[—snapshot <snapshot>]optionnoOptional flag.
[—force]optionnoBypass the normal safety guard.
[—list]optionnoOptional flag.
plugins scaffold Create a plugin scaffold.

Creates a starter plugin source tree.

Terminal window
bakin plugins scaffold <name>
PartTypeRequiredNotes
<name>argumentyesName to create.

Use the schedule command to list and manage recurring jobs that create tasks automatically on a configured cadence.

schedule Manage scheduled jobs.

Lists, creates, pauses, resumes, removes, triggers, or inspects scheduled jobs.

Terminal window
bakin schedule [list|add|pause|resume|remove|run|runs] ...
PartTypeRequiredNotes
[action]listaddpauseresumeremoverunrunschoicenoSchedule action.

Search commands query indexed Bakin content, report index health, and rebuild indexes after adapter or data changes.

reindex Reindex content.

Triggers content indexing through the search adapter.

Terminal window
bakin reindex [--table=<name>] [--rebuild]
PartTypeRequiredNotes
[—table=<name>]optionnoOptional flag with a value.
[—rebuild]optionnoDrop and rebuild indexes.
search:stats Show search index stats.

Prints registered search table/index health and counts.

Terminal window
bakin search:stats

Settings commands are the scriptable path for reading, changing, and seeding local configuration values.

settings get Read settings.

Reads all settings or one dot-notation key.

Terminal window
bakin settings get [key]
PartTypeRequiredNotes
[key]argumentnoDot-notation settings key.
settings set Update a setting.

Updates one setting using dot notation.

Terminal window
bakin settings set <key> <value>
PartTypeRequiredNotes
<key>argumentyesDot-notation settings key.
<value>argumentyesValue to write.
settings init Seed default settings.

Creates default settings if missing.

Terminal window
bakin settings init

Task commands cover the day-to-day board workflow: creating work, changing status, recording notes, expressing dependencies, and sending ready tasks to agents.

dispatch Trigger immediate task dispatch.

Asks the running Bakin server to run the task dispatch cycle immediately.

Terminal window
bakin dispatch
tasks list List tasks.

Lists tasks from the task board, optionally filtered by column.

Terminal window
bakin tasks list [--column=<column>]
PartTypeRequiredNotes
[—column=<column>]optionnoOptional flag with a value.
tasks get Get task details.

Fetches one task by id from the running server.

Terminal window
bakin tasks get <id>
PartTypeRequiredNotes
<id>argumentyesResource identifier.
tasks create Create a task.

Creates a task and optionally assigns an agent or workflow.

Terminal window
bakin tasks create <title> [agent] [--workflow=<id>] [--no-workflow=<reason>]
PartTypeRequiredNotes
<title>argumentyesHuman-readable title.
[agent]argumentnoAgent id to assign or target.
[—workflow=<id>]optionnoOptional flag with a value.
[—no-workflow=<reason>]optionnoOptional flag with a value.
tasks move Move a task.

Moves a task to a different board column.

Terminal window
bakin tasks move <id> <column>
PartTypeRequiredNotes
<id>argumentyesResource identifier.
<column>argumentyesTask board column.
tasks log Log task progress.

Adds a progress log entry to a task.

Terminal window
bakin tasks log <id> <message>
PartTypeRequiredNotes
<id>argumentyesResource identifier.
<message>argumentyesMessage text.
tasks block Block a task.

Marks a task blocked with a reason.

Terminal window
bakin tasks block <id> <reason>
PartTypeRequiredNotes
<id>argumentyesResource identifier.
<reason>argumentyesHuman-readable reason.
tasks depend Register a task dependency.

Sets a task dependency relationship.

Terminal window
bakin tasks depend <id> <dependsOn>
PartTypeRequiredNotes
<id>argumentyesResource identifier.
<dependsOn>argumentyesTask id this task depends on.
tasks complete Complete a task.

Marks a task complete with a completion summary.

Terminal window
bakin tasks complete <id> <summary>
PartTypeRequiredNotes
<id>argumentyesResource identifier.
<summary>argumentyesCompletion summary.

Workflow commands are for guided, multi-step task execution. Use them to discover available flows, start one against a task, advance steps, and submit required inputs.

workflows list List workflow definitions.

Lists available workflow definitions.

Terminal window
bakin workflows list
workflows start Start a workflow.

Starts a workflow instance for a task.

Terminal window
bakin workflows start <taskId> <workflowId>
PartTypeRequiredNotes
<taskId>argumentyesTask id.
<workflowId>argumentyesWorkflow definition id.
workflows step Get current workflow step.

Fetches current workflow step details for a task.

Terminal window
bakin workflows step <taskId>
PartTypeRequiredNotes
<taskId>argumentyesTask id.
workflows submit Submit workflow step output.

Submits JSON output for a workflow step.

Terminal window
bakin workflows submit <taskId> <stepId> <json>
PartTypeRequiredNotes
<taskId>argumentyesTask id.
<stepId>argumentyesWorkflow step id.
<json>argumentyesJSON payload.