Board columns
Tasks live on a kanban board with these columns:| Column | Meaning |
|---|---|
idea | Backlog — tasks that might be worked on |
to_do | Ready to work on |
in_progress | An agent is actively working on this |
pr_submitted | A PR has been created and is awaiting review/merge |
done | Completed (PR merged or manually marked done) |
trash | Soft-deleted (can be restored) |
Creating a task
idea by default. Use --status to_do to place them directly in the to-do column.
Priorities
| Priority | Level |
|---|---|
p0 | Critical |
p1 | High |
p2 | Medium (default) |
p3 | Low |
p4 | Lowest |
Running a task
- Creates an isolated git worktree for the task (branched from main)
- Spawns a detached Claude Code process in that worktree
- Moves the task to
in_progress - Creates a new session to track the run
Worktree isolation
Each task runs in its own git worktree, so multiple tasks can run concurrently without interfering with each other. Worktrees are kept around after the task finishes so thatresume and fix-conflicts can reuse them.
Orphaned worktrees (older than 24 hours with no active session) are automatically cleaned up.
Concurrency
The server supports up to 6 concurrent task executions by default.Sessions
A session is a single agent execution run. A task can have multiple sessions:- Initial run — the first
tasks run - Resume — a follow-up run in the same worktree with additional instructions
- Retry — a fresh attempt after a failure
- Fix conflicts — a resume specifically for resolving merge conflicts
Session statuses
| Status | Meaning |
|---|---|
queued | Waiting to start |
running | Agent is executing |
completed | Finished successfully |
failed | Exited with an error |
stopped | Manually killed |
stuck | Killed by the stuck detector |
PR creation
When the agent creates a GitHub PR during execution, Konduktor:- Auto-detects the PR URL from the session logs
- Saves it on the task
- Moves the task to
pr_submitted
[kid: #4d9d444d]) that links the PR back to the task.
PR merge and completion
If you have a GitHub App configured, Konduktor receives webhooks when PRs are merged. When a PR with a kid tag is merged, the linked task automatically moves todone.
Without a GitHub App, move tasks to done manually:
Resuming a task
Fixing merge conflicts
resume with a conflict-resolution prompt. The agent will attempt to resolve merge conflicts in the worktree and push the result.
If auto_fix_merge_conflicts is enabled in workspace config, Konduktor does this automatically when conflicts are detected.
Retrying a failed task
Stopping a task
Stuck detection
If an agent produces no output for 2 hours (configurable), the stuck detector kills the session and marks it asstuck. This prevents runaway processes from consuming resources indefinitely.