API
Every endpoint the service answers, and how to reach it over Connect, from the CLI, and as an MCP tool.
Agent#
AgentService is the agents themselves: spawning one, addressing it, reading what it wrote, and the review conversation held about its work.
list_agents#List the agents the panel tracks, live and dormant, with each one's name, state, working directory, flags, and workflow.
get_agent#Fetch one agent by id, including whatever metadata it has recorded about its own work.
create_agent#Launch a background agent with an opening prompt.
request_review#Get your own work read before you call it finished, which spawns the reviewer for you and hands you back the rest of the loop.
adopt#Put an agent on work that already exists, naming the branch it is on.
list_marks#List every mark, by letter, with the agent or the workflow each one jumps to.
set_mark#Put a single lowercase letter on an agent's row or a workflow's row, which is the shorthand a person types in the panel to jump straight to that row.
set_agent_metadata#Record one fact about an agent's work under a key of your choosing, keyed by the agent's id, or clear that key by omitting the value.
log#Write one line to komrad's log, tagged to an agent.
send_mail#Send one piece of mail to another agent, addressed by its id or by its name.
forward_last_turns#Send another agent's newest turns to a third agent as mail komrad composes itself, so what that agent concluded reaches the recipient without passing through your own context.
read_mail#Take the unread mail other agents have sent you, oldest first.
list_mail#List the mail addressed to an agent, most recent first, without claiming any of it: unlike read_mail this never empties the mailbox.
delete_mail#Permanently remove a list of mail, keyed by id.
archive_agents#Stop a list of agents and hide them from the panel, keyed by id, keeping their records and transcripts.
restore_agents#Take a list of agents out of the archive, keyed by id, along with the workflows they belong to.
hold_agent#Stop an agent and hold it, which is what somebody does before editing the files that agent is working in.
release_agent#Let an agent that hold_agent stopped carry on, telling it what happened while it was held.
resume_agent#Relaunch an agent's CLI on the same conversation, keyed by id, which is what reaches an agent whose pane has since died.
retry_agent#Retry launching an agent that failed to create, keyed by id, optionally with corrected flags, prompt, or harness.
delete_agents#Permanently remove a list of agents, keyed by id.
rename_agent#Rename an agent, keyed by its id rather than its current name.
search_transcripts#Full-text search over conversations, including archived ones, returning one hit per matching turn with the matched text marked.
get_transcript#Fetch one window of an agent's transcript by agent id, not by name.
get_last_turns#Fetch the newest turns an agent has said, by agent id rather than name, without paging through its conversation from the start.
empty_archive#Permanently delete every archived agent and workflow, tearing down each worktree that is still on disk.
list_review_threads#Read the review conversations pinned to the lines of a diff.
create_review_thread#Pin a comment to a place in another agent's diff, which is how you give it a review rather than mailing it prose.
add_review_message#Say something in a review thread, which is how you answer feedback on your own diff.
plan_rebase#Read what rebasing an agent's worktree onto its base would do, without moving anything.
rebase_worktree#Move an agent's branch onto the latest commit of its base, rewriting the branch in the checkout it sits in.
start_orchestrator#Bring a workflow's orchestrator back with a pane to talk to, starting the one that workflow has never had.
resolve_review_thread#Settle a review thread you wrote, once the answer to it is good enough, or reopen one you settled too early.
open_review_round#Freeze what an agent has written right now and get back the round to review against, which is a snapshot commit covering its whole worktree, committed and uncommitted alike.
list_review_rounds#Read the rounds taken of an agent, oldest first.
list_reviews#Read every review released on an agent, in the order their rounds were taken, each with the verdict it carried.
get_review#Read one released review whole, which is what the mail announcing a release tells you to do with the review id it names.
release_review#Let go of the review you have been writing on another agent's diff, which is what sends it.
Workflow#
WorkflowService is the groups agents are filed under, which decide the directory, flags and shared context each of their agents starts from.
list_workflows#List the workflows agents are grouped into, in alphabetical order, with each one's shared context, the working directory and flags its agents start from, and the scripts hooked to moments in their agents' lives.
get_workflow#Fetch one workflow by id.
create_workflow#Create a workflow to group agents under.
update_workflow#Replace a workflow's name, context, directory, flags, worktree config and hooks.
archive_workflow#Hide a workflow from the panel, archiving the agents inside it.
restore_workflow#Take a workflow out of the archive, keyed by id, along with every agent archived inside it.
delete_workflow#Permanently delete an archived workflow along with whatever archived agents are still inside it, reusing the same worktree-removal handling a direct agent delete uses.
Schedule#
ScheduleService is the recurring launches, which spawn an agent into a workflow whenever their cron expression next matches.
list_schedules#List the recurring agent launches, most recently updated first, with each one's cron expression, prompt, workflow, next run time, and its latest run.
get_schedule#Fetch one schedule by id.
list_schedule_runs#List a schedule's most recent firings, newest first, each with the occurrence it stands for, its state, its attempt count, and why it was skipped or how it failed.
create_schedule#Create a recurring agent launch inside a workflow.
update_schedule#Replace a schedule's name, cron expression, timezone, prompt, workflow, and whether the agents it launches start hidden from the panel.
set_schedule_enabled#Pause or resume one schedule without editing anything else.
archive_schedule#Hide a schedule from the panel so it stops firing, keeping its record.
Config#
ConfigService reads the configuration the panel is running on, with the connection strings redacted.
get_config#Read the panel's configuration as it is currently in force, keyed the same way the user's config file is.
Doctor#
DoctorService makes the checks the doctor makes, on the machine the service runs on.
run_doctor#Check the machine the service runs on for what its agents need: tmux and its shell, the config, the harness binaries, the hooks and worktree directories, the database and its schema.
Hook#
HookService lists the scripts the user has written for komrad to fire.
list_hooks#List the hooks the user has written, which are executable files in their hooks directory.
Log#
LogService reads the service's own log back, by the trace id its lines carry.
get_log_lines#Read every log line the service wrote under one trace id, in order.
list_recent_traces#List the traces the service's log ends with, oldest first, each with when it started, what it was about and how many lines it holds.
Forge#
ForgeService connects komrad to the services pull requests live on, and reads them live.
list_forges#List the forges komrad is connected to, one per host, with who komrad acts as there and when the forge last confirmed it.
check_forges#Ask every connected forge whether its credential still works, the way its method allows, and record the answer on each connection.
list_forge_pull_requests#List a repository's pull requests through the forge connection for its host, a page at a time: every one opened from a branch when one is named, whatever its state, or the open ones when none is.
disconnect_forge#Forget a forge and the credential it was connected with.
Pull Request#
PullRequestService reads the pull requests komrad has stored from its forges.
list_pull_requests#List the pull requests komrad has stored for a repository, a page at a time: every one opened from a branch when one is named, whatever its state, or every one stored for the repository when none is.
Worktree#
WorktreeService reads and clears the directories komrad cut for its agents.
list_worktrees#List every worktree directory komrad holds, under the configured worktrees directory and each workflow's own, with the repository it was cut from, its branch, whether git can still read it, the agent it was made for, the other agents working in it, the disk it takes as it was last measured, and when it was last active.
get_worktree#Read one worktree directory: its size and its top-level entries with theirs, biggest first, walked for the call and recorded so list_worktrees carries the fresh number, what is uncommitted, the base it is measured against with how far ahead and behind it stands and how many of its commits the base already holds whole, whether deleting its agent would keep the branch, and the commits since the base.
remove_unowned_worktrees#Remove worktree directories no agent answers for, which delete_agents cannot reach: a directory under the worktrees directories whose agent row is gone, or whose row is in AGENT_STATE_FAILED_TO_CLEANUP because git can no longer read the registration.
delete_worktrees#Queue one background job that deletes worktree directories, each by the path its row decides.